![ipv6 /96 子网和 ip 转发](https://linux22.com/image/798097/ipv6%20%2F96%20%E5%AD%90%E7%BD%91%E5%92%8C%20ip%20%E8%BD%AC%E5%8F%91.png)
我有一个 /64 IP 子网,我将这个子网划分为 /96 子网,以便在我的 CentOS 机器的内部和外部接口中使用它。问题是我可以从 CentOS 机器的外部接口 ping 互联网上的地址,如 ipv6.google.com,也可以 ping 连接到内部接口的客户端,还可以从另一个位置的另一个配置了 ipv6 的客户端 ping 外部接口。但我无法从客户端 ping ipv6.google.com。似乎客户端的流量没有从内部接口路由到外部接口。配置或子网划分有问题吗?相应的配置如下;
IP 子网:2a01:358:4000:1f::/64
外部接口配置:
BOOTPROTO=static
DEVICE=eth3
IPADDR=88.255.50.50
NETMASK=255.255.255.248
ONBOOT=yes
NOZEROCONF=yes
IPV6INIT=yes
IPV6ADDR="2A01:358:4000:1F::2/96"
IPV6_DEFAULTGW=2A01:358:4000:1F::1
内部接口配置:
BOOTPROTO=static
DEVICE=eth0
IPADDR=10.0.0.254
NETMASK=255.255.255.0
ONBOOT=yes
NOZEROCONF=yes
IPV6INIT=yes
IPV6ADDR="2A01:358:4000:1F:0:1:0:1/96"
**/etc/sysconfig/network Configuration:**
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=hostname
ipv6转发配置:
net.ipv6.conf.eth3.forwarding = 1
net.ipv6.conf.eth0.forwarding = 1
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.lo.forwarding = 1
IPv6 路由表:
Kernel IPv6 routing table
Destination Next Hop Flags Metric Ref Use Iface
2a01:358:4000:1f::/96 :: U 256 2 0 eth3
2a01:358:4000:1f:0:1::/96 :: U 256 0 0 eth0
2000::/3 2a01:358:4000:1f::1 UG 1 1249 0 eth3
fe80::/64 :: U 256 0 0 eth0
fe80::/64 :: U 256 0 0 eth3
::/0 2a01:358:4000:1f::1 UG 1 0 0 eth3
::1/128 :: U 0 3048 2 lo
2a01:358:4000:1f::/128 :: U 0 0 2 lo
2a01:358:4000:1f::2/128 :: U 0 4 1 lo
2a01:358:4000:1f:0:1::/128 :: U 0 0 2 lo
2a01:358:4000:1f:0:1:0:1/128 :: U 0 253 1 lo
fe80::/128 :: U 0 0 2 lo
fe80::/128 :: U 0 0 2 lo
fe80::21b:21ff:fec9:648f/128 :: U 0 405 1 lo
fe80::3a60:77ff:fe26:be7/128 :: U 0 420 1 lo
ff00::/8 :: U 256 0 0 eth0
ff00::/8 :: U 256 0 0 eth3
答案1
子网掩码和路由表有什么2A01:358:4000:1F::1
?如果您没有将掩码更改为/96
,并在该路由器上为内部网络添加路由,那么您所做的根本不起作用。
除非采取一些黑客手段,否则您不能简单地更改一个设备上的子网掩码,而不在网络上的所有设备2A01:358:4000:1F/64
(包括充当默认网关的设备)上更改它。
理想情况下,您应该获得一个额外的子网,并且/64
无论如何都要有另一个。