六、/etc/rc.local

六、/etc/rc.local

目前,我无法尝试为要添加到接口的其他 IP 地址标记接口。假设接口是 eth0 ( $IFACE),那么$ADDRFAM="inet"我可以将 IPv4 地址添加到标记的别名中,eth0如下所示:

ip -f $ADDRFAM addr add 10.0.0.1 dev $IFACE:test label $IFACE:test

也就是说

ip -f inet addr add 10.0.0.1/32 dev eth0:test label eth0:test

其中-f inet,即 IPv4,是隐含的,可以省略。

粗略检查可ifconfig得出:

eth0:test Link encap:Ethernet  HWaddr AA:BB:CC:DD:EE:FF
          inet addr:10.0.0.1  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

尝试使用 IPv6 进行类似操作($ADDRFAM="inet6"):

ip -f $ADDRFAM addr add fdbf:98fc:66a5:de67::1/128 dev $IFACE:test label $IFACE:test

扩展为

ip -f inet6 addr add fdbf:98fc:66a5:de67::1/128 dev eth0:test label eth0:test

表示没有失败,但也没有产生预期的结果

eth0      Link encap:Ethernet  HWaddr AA:BB:CC:DD:EE:FF
          [...]
          inet6 addr: fdbf:98fc:66a5:de67::1/128 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5641 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5483 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:792232 (792.2 KB)  TX bytes:861177 (861.1 KB)

eth0:test Link encap:Ethernet  HWaddr AA:BB:CC:DD:EE:FF
          inet addr:10.0.0.1  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

发生了什么?为什么标签没有达到列出地址的预期效果eth0:test


为了进行比较,相应的行ip addr如下所示:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    [...]
    inet 10.0.0.1/32 scope global eth0:test
       valid_lft forever preferred_lft forever
    [...]
    inet6 fdbf:98fc:66a5:de67::1/128 scope global
       valid_lft forever preferred_lft forever

答案1

我意识到这个答案针对的是不同类型的“NIX”,但我会再尝试一次,看看是否有帮助。

问:如何在 Red Hat / Fedora / RHEL / CentOS Linux 下为虚拟主机的 eth0 添加多个 IPv6 地址?

A. 在 Red hat / CentOS Linux 系统下有两种方法可以添加网络别名。您需要编辑以下任意一个文件才能添加 IPv6 网络别名。

/etc/rc.local - Use ifconfig command and shell loop.
/etc/sysconfig/network-scripts/ifcfg-eth0 - Set special variable called IPV6ADDR_SECONDARIES for eth0 virtual hosting (network alias).

首先,设置 IPv6 主服务器 IP 地址和默认路由器。建立基本 IPv6 连接后,您可以设置 NIC 的别名。/etc/rc.local 配置

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

六、/etc/rc.local

附加以下代码:

IP 别名

对于 {10..40} 中的 ip;执行 /sbin/ifconfig eth0 inet6 添加 2607:f0d0:1002:11::${ip}/64;完成

您可以在 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 "添加 IPv6 别名..." for i in {$START..$END} do $IFCONFIG $INT_IF inet6 add ${INETP}${i}/${PRE} done echo "完成!"

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/网络重启

因此看起来 IPV6 地址本身就是一个别名。

来源:http://www.cyberciti.biz/faq/redhat-c​​entos-rhel-fedora-linux-add-multiple-ip-samenic/

相关内容