无法删除 IPv6 默认网关

无法删除 IPv6 默认网关

下面的命令应该很容易理解。请注意,我失败的路线是由 RA 获得的,并且有效期很短(e标记在 中UDAe)。

 @vm:~$ ip -6 route 
 2001:4860:4001:800::1002 via fe80::20c:29ff:fe87:f9e7 dev eth1  proto static  metric 1024
 2001:4860:4001:800::1003 via fe80::20c:29ff:fe87:f9e7 dev eth1  proto static  metric 1024
 2001:4860:4001:800::1005 via fe80::20c:29ff:fe87:f9e7 dev eth1  proto static  metric 1024
 2001:4860:4001:803::100e via fe80::20c:29ff:fe87:f9e7 dev eth1  proto static  metric 1024
 fd00:ffff:ffff:fff1::/64 dev eth1  proto kernel  metric 256  expires 2592300sec
 fe80::/64 dev eth1  proto kernel  metric 256
 default via fe80::20c:29ff:fe87:f9e7 dev eth1  proto static  metric 1
 default via fe80::20c:29ff:fe87:f9e7 dev eth1  proto kernel  metric 1024  expires 1776sec
 @vm:~$
 @vm:~$
 @vm:~$
 @vm:~$ sudo route -6 delete default gw fe80::20c:29ff:fe87:f9e7
 @vm:~$ ip -6 route
 2001:4860:4001:800::1002 via fe80::20c:29ff:fe87:f9e7 dev eth1  proto static  metric 1024
 2001:4860:4001:800::1003 via fe80::20c:29ff:fe87:f9e7 dev eth1  proto static  metric 1024
 2001:4860:4001:800::1005 via fe80::20c:29ff:fe87:f9e7 dev eth1  proto static  metric 1024
 2001:4860:4001:803::100e via fe80::20c:29ff:fe87:f9e7 dev eth1  proto static  metric 1024
 fd00:ffff:ffff:fff1::/64 dev eth1  proto kernel  metric 256  expires 2592279sec
 fe80::/64 dev eth1  proto kernel  metric 256
 default via fe80::20c:29ff:fe87:f9e7 dev eth1  proto kernel  metric 1024  expires 1755sec
 @vm:~$
 @vm:~$
 @vm:~$ sudo route -6 delete ::/0 gw fe80::20c:29ff:fe87:f9e7 dev eth1
 SIOCDELRT: No such process
 @vm:~$
 @vm:~$
 @vm:~$ route -n6
 Kernel IPv6 routing table
 Destination                    Next Hop                   Flag Met Ref Use If
 2001:4860:4001:800::1002/128   fe80::20c:29ff:fe87:f9e7   UG   1024 0     0 eth1
 2001:4860:4001:800::1003/128   fe80::20c:29ff:fe87:f9e7   UG   1024 0     0 eth1
 2001:4860:4001:800::1005/128   fe80::20c:29ff:fe87:f9e7   UG   1024 0     0 eth1
 2001:4860:4001:803::100e/128   fe80::20c:29ff:fe87:f9e7   UG   1024 0     0 eth1
 fd00:ffff:ffff:fff1::/64       ::                         UAe  256 0     0 eth1
 fe80::/64                      ::                         U    256 0     0 eth1
 ::/0                           fe80::20c:29ff:fe87:f9e7   UGDAe 1024 0     0 eth1
 ::/0                           ::                         !n   -1  1   349 lo
 ::1/128                        ::                         Un   0   1     3 lo
 fd00:ffff:ffff:fff1:a00:27ff:fe7f:7245/128 ::                         Un   0   1     0 lo
 fd00:ffff:ffff:fff1:fce8:ce07:b9ea:389f/128 ::                         Un   0   1     0 lo
 fe80::a00:27ff:fe7f:7245/128   ::                         Un   0   1     0 lo
 ff00::/8                       ::                         U    256 0     0 eth1
 ::/0                           ::                         !n   -1  1   349 lo
 @vm:~$

更新:另一个问题是链接本地地址作为默认路由有什么用?

答案1

您尝试删除的路由看起来像是内核响应路由器通告 (RA) 自动添加的路由。请注意,如果您删除它,那么当路由器发出另一个通告时,它可能会在 5 分钟内自行恢复,因为它通常会定期发出另一个通告。如果您不想让您的机器监听路由器通告,那么您可能需要执行以下操作:

echo 0 >/proc/sys/net/ipv6/conf/eth1/accept_ra

如果您这样做,您甚至不必费心手动将其删除:它会在几分钟内自然过期时消失。

不过,如果您愿意,您可以手动删除它。只是看起来该route命令无法做到这一点。请ip改用以下命令:

ip route del ::/0 via fe80::20c:29ff:fe87:f9e7 dev eth1

事实上,如果你只在 Linux 下工作,那么我建议你始终使用该ip命令作为全部以下命令:routeifconfignetstat。它的语法比任何其他命令都更容易处理,它将它们全部统一在一起,并且只有通过它才能使用某些功能(例如ip rule和)。ip tunnel

相关内容