我有一个 /64 IPv6 子网,现在我想使用其他 v6 地址。 => /etc/网络/接口:
iface ens18 inet6 static
address asdf:asdf:asdf:asdf::1
netmask 64
gateway fe80::1
accept_ra 0
autoconf 0
privext 0
dns-nameservers ::1 xxxx:xxxx::1:53 xxxx:xxxx:2:53
iface ens18 inet6 static
address asdf:asdf:asdf:asdf::2
netmask 64
iface ens18 inet6 static
address asdf:asdf:asdf:asdf::3
netmask 64
但是,一旦我添加asdf:asdf:asdf:asdf::2
和/或asdf:asdf:asdf:asdf::3
,我就无法 ping 通任何其他 IPv6 地址。
当我删除这些块并重新启动后,我可以再次使用 IPv6。
# ip addr show ens18
2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether [...] brd ff:ff:ff:ff:ff:ff
inet [...]/24 brd 79.143.178.255 scope global ens18
valid_lft forever preferred_lft forever
inet6 asdf:asdf:asdf:asdf::1/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::[...]/64 scope link
valid_lft forever preferred_lft forever
# ip -6 route
asdf:asdf:asdf:asdf::/64 dev ens18 proto kernel metric 256 pref medium
fe80::/64 dev ens18 proto kernel metric 256 pref medium
default via fe80::1 dev ens18 metric 1024 pref medium
这里有什么问题?
答案1
我发现问题:ICMPv6 消息! -.-
- 您必须接受 -p ipv6-icmp 而不是 -p icmp
- 不要对 ICMP 使用状态允许,例如:
ip6tables -A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
这将防止 ICMPv6 包被该规则捕获
我很难调试它,因为它或多或少是随机工作的......