невозможно удалить шлюз по умолчанию 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
задан 11 October 2012 в 07:05

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 в качестве современной замены для всех . ] из следующих команд: route, ifconfig и netstat. Его синтаксис гораздо проще обрабатывать, чем любую из этих других команд, он объединяет их все вместе, и есть функции (такие как ip rule и ip tunnel), которые доступны только через него.

0
ответ дан 11 October 2012 в 07:05

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

Похожие вопросы: