Линукс ipv6 маршрут по умолчанию для обратной петли

Я пытаюсь понять, в чем причина того, что в последних ядрах Linux существует маршрут по умолчанию для ipv6 в loopback

::/0                           ::                         !n   -1  1     4 lo

это предотвратить петли? Почему в выходных данных есть два таких маршрута?

root@ubuntu:/# ip -6 route show table all
fd00:1::/64 dev eth0  proto kernel  metric 256  expires 2591833sec
fd00:1::/64 dev eth1  proto kernel  metric 256  expires 2591833sec
fd00:2::/64 via fd00:1::1 dev eth0  metric 1 
fe80::/64 dev eth0  proto kernel  metric 256 
fe80::/64 dev eth1  proto kernel  metric 256 
default via fe80::21f:12ff:fe31:5600 dev eth0  proto kernel  metric 1024  expires 1309sec
default via fe80::21f:12ff:fe31:5600 dev eth1  proto kernel  metric 1024  expires 1309sec
unreachable default dev lo  table unspec  proto kernel  metric -1  error -101
local ::1 via :: dev lo  table local  proto none  metric 0 
local fd00:1::250:56ff:fe8a:596a via :: dev lo  table local  proto none  metric 0 
local fd00:1::250:56ff:fe8a:596b via :: dev lo  table local  proto none  metric 0 
local fd00:1::18ec:2a1:3b2e:8302 via :: dev lo  table local  proto none  metric 0 
local fd00:1::59b1:42d0:b380:a32d via :: dev lo  table local  proto none  metric 0 
local fe80::250:56ff:fe8a:596a via :: dev lo  table local  proto none  metric 0 
local fe80::250:56ff:fe8a:596b via :: dev lo  table local  proto none  metric 0 
ff00::/8 dev eth0  table local  metric 256 
ff00::/8 dev eth1  table local  metric 256 
unreachable default dev lo  table unspec  proto kernel  metric -1  error -101
root@ubuntu:/# route -nA inet6           
Kernel IPv6 routing table
Destination                    Next Hop                   Flag Met Ref Use If
fd00:1::/64                    ::                         UAe  256 0     1 eth0
fd00:1::/64                    ::                         UAe  256 0     0 eth1
fd00:2::/64                    fd00:1::1                  UG   1   0     0 eth0
fe80::/64                      ::                         U    256 0     0 eth0
fe80::/64                      ::                         U    256 0     0 eth1
::/0                           fe80::21f:12ff:fe31:5600   UGDAe 1024 0     0 eth0
::/0                           fe80::21f:12ff:fe31:5600   UGDAe 1024 0     0 eth1
::/0                           ::                         !n   -1  1     4 lo
::1/128                        ::                         Un   0   1    12 lo
fd00:1::250:56ff:fe8a:596a/128 ::                         Un   0   1     0 lo
fd00:1::250:56ff:fe8a:596b/128 ::                         Un   0   1     0 lo
fd00:1::18ec:2a1:3b2e:8302/128 ::                         Un   0   1     0 lo
fd00:1::59b1:42d0:b380:a32d/128 ::                         Un   0   1     0 lo
fe80::250:56ff:fe8a:596a/128   ::                         Un   0   1     0 lo
fe80::250:56ff:fe8a:596b/128   ::                         Un   0   1     0 lo
ff00::/8                       ::                         U    256 0     0 eth0
ff00::/8                       ::                         U    256 0     0 eth1
::/0                           ::                         !n   -1  1     4 lo
root@ubuntu:/# 

Вывод формы

root@ubuntu:/# uname -a
Linux ubuntu 3.5.0-23-generic #35~precise1-Ubuntu SMP Fri Jan 25 17:13:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

1 ответ

Как флаги !n указать, что это отклонение трафика на IN6ADDR_ANY. Смысл этой записи маршрута в том, что lo устройство никогда не будет использоваться в качестве маршрута по умолчанию.

Эквивалентная строка в ip route Таблица, показанная здесь:

unreachable default dev lo  table unspec  proto kernel  metric -1  error -101

(Также обратите внимание, что, как предупреждает вас man-страница, route Команда устарела, и вы должны использовать ip route вместо.)

Другие вопросы по тегам