IPv6前缀由运营商动态分配,这个我们动不了,那么怎样在保持自动获取前缀的同时,自定义一个后缀(即接口ID)呢?有以下两个办法:
方法一:通过路由器的DHCPv6分配静态后缀。这要求路由器支持此功能,比如采用OpenWRT系统的路由器。经过实际测试,这种方式有的时候会失效。而且局域网内某些设备只支持SLAAC方式获取IPv6地址,所以必须同时打开RA,导致服务器同时获取到多个IPv6地址,不利于动态域名解析配置。
方法二:利用 Ubuntu 自带网络配置工具 netplan 配置自定义后缀。这种方式不受路由器影响,只要路由器不开启DHCPv6服务,就可以让 Ubuntu 服务器只获得唯一一个IPv6地址,运行稳定可靠。
下面介绍第二种方法。只需要利用 netplan 的一个参数“ipv6-address-token”。
打开"/etc/netplan"目录下的配置文件,类似于这样“00-installer-config.yaml”,在相应网络接口下增加如下参数:
ipv6-address-token: "::a"就可以得到类似“2408:8200:1234:3210::a”这样的IPv6地址。
或者这样:
ipv6-address-token: "::b:0:0:0"就可以得到类似“2408:8200:1234:3210:b::”这样的IPv6地址。
“ipv6-address-token”的值要求是一个完整的IPv6地址,前缀部分应全部写0(不是0也不会起作用),后缀部分不能全为0,否则不生效,遵循IPv6地址缩写规则。
netplan配置文件的层级关系判断严格,必须注意每行参数的缩进。配置文件修改完成后务必用“netplan apply”命令应用配置,这样如果有错误会给出提示,千万不要直接重启,否则一旦配置文件有误将会与服务器失联。
没有评论:
发表评论