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

::/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 ответ1

1

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .