在Linux中,如何在引导时根据IPv4地址自动为接口分配IPv6地址?

在CentOS 6机器上,我有一台带有2个NIC,eth0和eth1的服务器. eth0的地址为192.168.0.1.

我想创建一个脚本来解析eth0的IP地址,并在启动时为eth1分配一个外观相似的IPv6地址.

在这种情况下,我希望eth1的地址为fc00 :: 192:168:0:1/64.

我知道为了分配这个地址,我必须运行命令

ip address add fc00::192:168:0:1/64 dev eth1

但是,我正在尝试找到一种方法来计算基于eth0的IP分配给eth1的IP,并在启动时运行此脚本.

我这样做而不是静态地为两个接口分配地址的原因是我试图将此服务器转换为VM模板并使用新的IP设置自动部署它.不幸的是,我使用的工具并没有真正支持IPv6.

所以我想我的问题有两个部分:

>如何计算要分配的IPv6地址?
>如何计算此地址并在启动时分配给eth1?

解决方法

不确定这是一个好主意,但谨慎对待风,我会做类似的事情:
hexip='fe80::'
ip=$(ip addr show eth0 | grep 'inet\b' | awk '{print $2}' | cut -d '/' -f1 | sed 's/\./:/g')
hexip="${hexip}${ip}"

ip address add "$hexip/64" dev eth1

你需要在运行级别3之后运行的一些启动文件中.我认为/etc/rc.local会这样做吗?

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...