não pode excluir o gateway padrão IPv6

1

Os comandos abaixo devem ser bem autoexplicativos. Por favor, note que a rota para a qual eu recebo falha é obtida pelo RA e tem muito menos validade ( e Flag em 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:~$

ATUALIZAÇÃO: Outra pergunta é qual é o uso do endereço local do link como a rota padrão?

    
por PnotNP 11.10.2012 / 03:18

1 resposta

1

A rota que você está tentando excluir parece uma rota que foi automaticamente adicionada pelo kernel em resposta a um anúncio de roteador (RA). Esteja ciente de que, se você excluí-lo, ele provavelmente voltará por conta própria em cinco minutos, quando o roteador enviar outro anúncio, como normalmente fará periodicamente. Se você não quer que sua máquina ouça propagandas de roteadores, então o que você provavelmente quer é fazer isso:

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

Se você fizer isso, você nem precisa se preocupar em removê-lo manualmente: ele desaparecerá dentro de alguns minutos quando expirar naturalmente.

No entanto, se você quiser, pode removê-lo manualmente. É só que parece que o comando route não é capaz de fazer isso. Use o comando ip em seu lugar:

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

De fato, se você estiver trabalhando apenas com o Linux, recomendo que sempre use o comando ip como um substituto moderno para todos dos seguintes comandos: route , ifconfig e netstat . Sua sintaxe é muito mais fácil de manipular que qualquer um desses outros comandos, unifica todos eles juntos, e existem funções (como ip rule e ip tunnel ) que estão disponíveis somente através dele.

    
por Celada 11.10.2012 / 05:05