我有一个 IPv6 范围,我正尝试在 centos6 服务器上分配它。我已更新以下文件以进行 IPv6 配置:
[root@test ~]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=test.techsuccor.com
[root@test ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=82:d7:5d:50:c9:86
TYPE=Ethernet
UUID=8ea314f3-d89a-4a5c-9ede-64b6675cae71
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=180.149.X.X
NETMASK=255.255.255.0
DNS2=206.183.X.X
GATEWAY=180.X.X.X
DNS1=206.X.X.X
IPV6INIT=yes
USERCTL=no
IPV6ADDR=2001:0df3:3cXX::X/64
IPV6_DEFAULTGW=2001:0df3:3cXX::1
[root@test ~]#
通过上述配置,我能够对单个主 ipv6 ip 地址进行 ping 进和 ping 出。
使用 IPV6ADDR_SECONDARIES 选项还可以添加别名 IP 并对其进行 ping 操作
IPV6ADDR_SECONDARIES="2001:0df3:3cXX::X1/64 \
2001:0df3:3cXX::X2/64 \
2001:0df3:3cXX::X3/64 \
2001:0df3:3cXX::X4/64 \
2001:0df3:3cXX::X5/64"
我实际上需要做的是一次性将完整的 ipv6 范围分配给单个 NIC 作为别名 ip。我可以使用以下命令执行此操作
[root@test ~]# for ip in {4..10}; do /sbin/ifconfig eth0:1 inet6 add 2001:0df3:3c00::${ip}/64; done
此外,在我运行此命令后,我使用 ifconfig 命令查看我的 ipv6 ip,如下所示,但只有主 IPv6 ping,没有来自外部的 Alias Ip ping。此外,重新启动 newtork 后,所有 ip 都会消失。
[root@test ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 82:D7:5D:50:C9:86
inet addr:180.149.XX.XX Bcast:180.149.XX.XX Mask:255.255.255.0
**inet6 addr: 2001:df3:3c00::10/64 Scope:Global
inet6 addr: 2001:df3:3c00::1/64 Scope:Global
inet6 addr: 2001:df3:3c00::3/64 Scope:Global
inet6 addr: 2001:df3:3c00::4/64 Scope:Global
inet6 addr: 2001:df3:3c00::5/64 Scope:Global
inet6 addr: fe80::80d7:5dff:fe50:c986/64 Scope:Link
inet6 addr: 2001:df3:3c00::6/64 Scope:Global
inet6 addr: 2001:df3:3c00::7/64 Scope:Global
inet6 addr: 2001:df3:3c00::8/64 Scope:Global
inet6 addr: 2001:df3:3c00::9/64 Scope:Global**
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:312539319 errors:0 dropped:0 overruns:0 frame:0
TX packets:1808219 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:22772397919 (21.2 GiB) TX bytes:312003644 (297.5 MiB)
Interrupt:165
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:16406 errors:0 dropped:0 overruns:0 frame:0
TX packets:16406 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2295915 (2.1 MiB) TX bytes:2295915 (2.1 MiB)
答案1
理论上,它看起来IPV6ADDR_SECONDARIES
应该在 initscripts-ipv6 中支持范围格式:
3ffe:ffff::1f-2a
will set a range from "3ffe:ffff::1f" to "3ffe:ffff::2a"
(文档)
实际上,Redhat 的 NetworkManager 似乎不支持该格式。
答案2
我认为可以通过添加多个辅助 IPv6 地址来实现此目标,请像之前一样编辑您的文件,vi /etc/sysconfig/network-scripts/ifcfg-eth0
文件并按照这种格式添加(删除 ***);
IPV6ADDR_SECONDARIES="2001:0df3:3cXX::X1/64 \
2001:0df3:3cXX::X2/64 \
2001:0df3:3cXX::X3/64 \
2001:0df3:3cXX::X4/64 \
2001:0df3:3cXX::X5/64"
如果问题仍然存在,请为此创建虚拟适配器,希望这能解决您的问题。