Red Hat/CentOS添加IPv6网络别名(将多个IPv6 IP添加到同一NIC)

时间:2020-01-09 10:43:10  来源:igfitidea点击:

问题描述:如何在Red Hat/Fedora/RHEL/CentOS Linux下为eth0添加多个IPv6地址以进行虚拟主机?

解决方法:在Red Hat/CentOS Linux系统下有两种添加网络别名的方法。
您需要编辑以下任何文件,以添加IPv6网络别名。

  • /etc/rc.local使用ifconfig命令和shell循环。
  • /etc/sysconfig/network-scripts/ifcfg-eth0为eth0虚拟主机(网络别名)设置名为IPV6ADDR_SECONDARIES的特殊变量。

首先,设置IPv6主服务器IP地址和默认路由器。
一旦建立了基本的IPv6连接,就可以为NIC设置别名。

/etc/rc.local配置

要将2607:f0d0:1002:11 :: 10添加到2607:f0d0:1002:11 :: 50(共40个)虚拟别名,请打开/etc/rc.local文件,执行:

# vi /etc/rc.local

追加以下代码:

#IP Alias
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!"

sysv样式配置

打开网络接口配置文件,执行:

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

在代码之后添加二级IPv6地址列表(设置5个别名):

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

使用ping6和其他工具测试您的连接性:

$ /sbin/ifconfig
$ /sbin/ifconfig eth0 | less
$ ping6 2607:f0d0:1002:11::15

您可能需要设置简单或者复杂的IPv6防火墙。