Centos7 添加多个IPV6地址

在CentOS7系统下,有两种方法可以在一个网卡上添加多IPv6地址,您需要编辑以下任何文件:

1、/etc/rc.local – 使用ifconfig命令和shell循环。
2、/etc/sysconfig/network-scripts/ifcfg-eth0 – 为eth0设置称为IPV6ADDR_SECONDARIES的特殊变量。

/etc/rc.local 配置

要添加2607:f0d0:1002:11::10到2607:f0d0:1002:11::50(总共40个IPV6地址),请打开/etc/rc.local文件,输入:
# vi /etc/rc.local
在文件后追加
for ip in {10..40}; do /sbin/ifconfig eth0 inet6 add 2607:f0d0:1002:11::${ip}/64; done

您可以在shell提示符处键入与上面相同的命令,以立即执行生效。或者也可以创建一个shell脚本并在/etc/rc.local调用它:

#!/bin/bash
INETP="2607:f0d0:1002:11::"
PRE="64"
START=2
END=200
INT_IF="eth0"
IFCONFIG=/sbin/ifconfig
echo -n "Adding IPv6 Alias..."
for i in {$START..$END}
do
$IFCONFIG $INT_IF inet6 add ${INETP}${i}/${PRE}
done
echo "Done!"

变量配置方法

打开网络接口配置文件,输入:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
在文后添加(本例共5个IPV6地址):
IPV6ADDR_SECONDARIES="2607:f0d0:1002:11::10/64 \
2607:f0d0:1002:11::11/64 \
2607:f0d0:1002:11::12/64 \
2607:f0d0:1002:11::13/64 \
2607:f0d0:1002:11::14/64"

保存关闭文件,并重启网络:
# /etc/init.d/network restart

测试成果:
$ /sbin/ifconfig
$ /sbin/ifconfig eth0 | less
$ ping6 2607:f0d0:1002:11::15