5

Я в процессе установки ipv6 в моей домашней сети, и я столкнулся со странной проблемой.

Мой "роутер" (Debian Linux box) подключен к HE.net 6in4 и может нормально пинговать и обращаться к сайтам ipv6 (ipv6.google.com).

Я установил radvd на маршрутизаторе (см. Конфигурацию ниже), и другие компьютеры (мой Mac Book Pro и другая коробка Debian) получают адреса с правильным префиксом и сообщают маршрут по умолчанию на адрес ссылки моего маршрутизатора.

Проблема заключается в том, что другие компьютеры не могут получить доступ к Интернету через ipv6, если они не пропингуют адрес, не связанный с маршрутизатором. Я обнаружил это случайно при использовании traceroute6 для устранения неполадок.

radvd.conf


andrew@route:~$ cat /etc/radvd.conf
interface eth0
{
    AdvSendAdvert on;
    MinRtrAdvInterval 30;
    MaxRtrAdvInterval 100;
    AdvHomeAgentFlag off;
    AdvSourceLLAddress on;
    AdvCurHopLimit 255;
    prefix 2001:470:XXXX:XXXX::/64 
    {
        AdvOnLink on;
        AdvAutonomous on;
    };

};

ifconfig на роутере


andrew@route:~$ /sbin/ifconfig
6in4      Link encap:IPv6-in-IPv4  
          inet6 addr: 2001:470:XXXX:XXXX::2/64 Scope:Global
          inet6 addr: fe80::411f:489c/128 Scope:Link
          UP POINTOPOINT RUNNING NOARP  MTU:1480  Metric:1
          RX packets:19128 errors:0 dropped:0 overruns:0 frame:0
          TX packets:19421 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1871880 (1.7 MiB)  TX bytes:1919865 (1.8 MiB)

eth0      Link encap:Ethernet  HWaddr 00:1d:60:3a:1e:45  
          inet addr:192.168.1.12  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: 2001:470:XXXX:XXXX::2/64 Scope:Global
          inet6 addr: fe80::21d:60ff:fe3a:1e45/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:495833790 errors:0 dropped:0 overruns:0 frame:0
          TX packets:515479141 errors:0 dropped:0 overruns:0 carrier:2
          collisions:0 txqueuelen:1000 
          RX bytes:279615773745 (260.4 GiB)  TX bytes:324665798547 (302.3 GiB)

eth1      Link encap:Ethernet  HWaddr 00:02:b3:d7:98:71  
          inet addr:65.31.XXX.XXX  Bcast:255.255.255.255  Mask:255.255.255.192
          inet6 addr: fe80::202:b3ff:fed7:9871/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:545171946 errors:0 dropped:0 overruns:0 frame:0
          TX packets:335869422 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:676743254883 (630.2 GiB)  TX bytes:75919367259 (70.7 GiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:10087609 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10087609 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:60879852161 (56.6 GiB)  TX bytes:60879852161 (56.6 GiB)

Маршрут IP-6 на маршрутизаторе


andrew@route:~$ ip -6 route
2001:470:XXXX:XXXX::1 dev 6in4  metric 1024  mtu 1480 advmss 1420 hoplimit 0
2001:470:XXXX:XXXX::/64 dev eth0  proto kernel  metric 256  mtu 1500 advmss 1440 hoplimit 0
2001:470:XXXX:XXXX::/64 via :: dev 6in4  proto kernel  metric 256  mtu 1480 advmss 1420 hoplimit 0
fe80::/64 dev tap0  proto kernel  metric 256  mtu 1500 advmss 1440 hoplimit 0
fe80::/64 dev eth0  proto kernel  metric 256  mtu 1500 advmss 1440 hoplimit 0
fe80::/64 dev eth1  proto kernel  metric 256  mtu 1500 advmss 1440 hoplimit 0
fe80::/64 via :: dev 6in4  proto kernel  metric 256  mtu 1480 advmss 1420 hoplimit 0
default via 2001:470:XXXX:XXXX::1 dev 6in4  metric 1024  mtu 1480 advmss 1420 hoplimit 0

ifconfig на другом компьютере

andrew@other:~$ /sbin/ifconfig
eth0      Link encap:Ethernet  HWaddr 00:1d:60:85:eb:93  
          inet addr:192.168.1.20  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: 2001:470:XXXX:XXXX:21d:60ff:fe85:eb93/64 Scope:Global
          inet6 addr: fe80::21d:60ff:fe85:eb93/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:13959115 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6027537 errors:0 dropped:0 overruns:0 carrier:2
          collisions:0 txqueuelen:1000 
          RX bytes:16009877909 (14.9 GiB)  TX bytes:1306977604 (1.2 GiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:118933 errors:0 dropped:0 overruns:0 frame:0
          TX packets:118933 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:62855037 (59.9 MiB)  TX bytes:62855037 (59.9 MiB)

ip -6 route на другой компьютер


andrew@other:~$ ip -6 route
2001:470:XXXX:XXXX::/64 dev eth0  proto kernel  metric 256  expires 86382sec mtu 1500 advmss 1440 hoplimit 4294967295
fe80::/64 dev eth0  proto kernel  metric 256  mtu 1500 advmss 1440 hoplimit 4294967295
default via fe80::21d:60ff:fe3a:1e45 dev eth0  proto kernel  metric 1024  expires 277sec mtu 1500 advmss 1440 hoplimit 255

И проблема


andrew@other:~$ ping6 ipv6.google.com
PING ipv6.google.com(iad04s01-in-x93.1e100.net) 56 data bytes
^C
--- ipv6.google.com ping statistics ---
24 packets transmitted, 0 received, 100% packet loss, time 23145ms

andrew@other:~$ ping6 2001:470:XXXX:XXXX::2
PING 2001:470:XXXX:XXXX::2(2001:470:XXXX:XXXX::2) 56 data bytes
64 bytes from 2001:470:XXXX:XXXX::2: icmp_seq=1 ttl=255 time=3.03 ms
64 bytes from 2001:470:XXXX:XXXX::2: icmp_seq=2 ttl=255 time=0.242 ms
64 bytes from 2001:470:XXXX:XXXX::2: icmp_seq=3 ttl=255 time=0.243 ms
64 bytes from 2001:470:XXXX:XXXX::2: icmp_seq=4 ttl=255 time=0.247 ms
64 bytes from 2001:470:XXXX:XXXX::2: icmp_seq=5 ttl=255 time=0.241 ms
64 bytes from 2001:470:XXXX:XXXX::2: icmp_seq=6 ttl=255 time=0.235 ms
^C
--- 2001:470:XXXX:XXXX::2 ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5000ms
rtt min/avg/max/mdev = 0.235/0.707/3.039/1.043 ms

andrew@other:~$ ping6 ipv6.google.com
PING ipv6.google.com(iad04s01-in-x93.1e100.net) 56 data bytes
64 bytes from iad04s01-in-x93.1e100.net: icmp_seq=1 ttl=56 time=78.6 ms
64 bytes from iad04s01-in-x93.1e100.net: icmp_seq=2 ttl=56 time=79.1 ms
64 bytes from iad04s01-in-x93.1e100.net: icmp_seq=3 ttl=56 time=77.7 ms
64 bytes from iad04s01-in-x93.1e100.net: icmp_seq=4 ttl=56 time=82.3 ms
^C
--- ipv6.google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 77.726/79.452/82.324/1.732 ms

ЕДИНСТВЕННОЕ различие до и после того, как я специально пингую глобальный ip маршрутизатора, заключается в том, что после того, как на "другом" компьютере, в ip -6 lie show отображается глобальный ip маршрутизатора. Конечно, через несколько минут он устареет, и другой компьютер не сможет снова пропинговать интернет.

Извините за длинный пост, но эта проблема сводит меня с ума.

2 ответа2

1

Эти XXXX:XXXX не должны быть одинаковыми, вам назначен один префикс /64 для туннеля и один для вашей локальной сети.

Также убедитесь, что вы случайно не заблокировали ICMP с помощью ip6tables.

1

Честно говоря, я не знаю, почему или как это исправляет ...

Моя новая таблица маршрутов


andrew@route:~$ ip -6 route
2001:470:XXXX:XXXX::1 dev 6in4  metric 1024  mtu 1480 advmss 1420 hoplimit 0
2001:470:XXXX:XXXX::/64 dev eth0  proto kernel  metric 256  mtu 1500 advmss 1440 hoplimit 0
fe80::/64 dev tap0  proto kernel  metric 256  mtu 1500 advmss 1440 hoplimit 0
fe80::/64 dev eth0  proto kernel  metric 256  mtu 1500 advmss 1440 hoplimit 0
fe80::/64 dev eth1  proto kernel  metric 256  mtu 1500 advmss 1440 hoplimit 0
fe80::/64 via :: dev 6in4  proto kernel  metric 256  mtu 1480 advmss 1420 hoplimit 0
default via 2001:470:XXXX:XXXX::1 dev 6in4  metric 1024  mtu 1480 advmss 1420 hoplimit 0

Правило, которое я в итоге удалил:


2001:470:XXXX:XXXX::/64 via :: dev 6in4  proto kernel  metric 256  mtu 1480 advmss 1420 hoplimit 0

После удаления этого правила (конечно же, случайно) "другие компьютеры" могли работать без проблем.

Я запретил моему маршрутизатору генерировать это правило в будущем, удалив адрес из интерфейса 6in4 в /etc /network /interfaces.

В любом случае, спасибо за тех из вас, кто нашел время, чтобы прочитать мой пост.

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