LINUX.ORG.RU
решено ФорумAdmin

роутер, ipv6


0

1

Имеется роутер на Debian squeeze. Доступ к ipv6 через брокера.

/etc/network/interfaces

auto lo
iface lo inet loopback

allow-hotplug eth0
iface eth0 inet static
        address 94.19.137.57
        netmask 255.255.254.0
        gateway 94.19.136.1
        dns-nameserver 192.168.1.1

allow-hotplug eth1
iface eth1 inet static
        address 192.168.1.1
        netmask 255.255.255.0
iface eth1 inet6 static
        address 2001:470:27:742::1
        netmask 64

auto 6in4-he
iface 6in4-he inet6 v4tunnel
        address 2001:470:27:742::2
        netmask 64
        endpoint 216.66.80.90
        local 94.19.137.57
        ttl 255
        up ip route add ::/0 dev 6in4-he
        down ip route del ::/0 dev 6in4-he

/etc/radvd.conf

                                                                         
interface eth1
{
   AdvSendAdvert on;
   AdvLinkMTU 1280;
   prefix 2001:470:27:742::/64
   {
       AdvOnLink on;
       AdvAutonomous on;
   };
};

На самом роутере всё нормально

[root@margaret:~]# ping6 ipv6.google.com -c 4
PING ipv6.google.com(2a00:1450:8001::63) 56 data bytes
64 bytes from 2a00:1450:8001::63: icmp_seq=1 ttl=56 time=50.8 ms
64 bytes from 2a00:1450:8001::63: icmp_seq=2 ttl=56 time=50.6 ms
64 bytes from 2a00:1450:8001::63: icmp_seq=3 ttl=56 time=50.1 ms
64 bytes from 2a00:1450:8001::63: icmp_seq=4 ttl=56 time=51.7 ms

--- ipv6.google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 50.121/50.860/51.778/0.617 ms

Но на клиентах ни один ipv6 хост не пингуется, пока не пинганёшь роутер.

[pentium02@einstein:~]$ ping6 ipv6.google.com
PING ipv6.google.com(2a00:1450:8001::63) 56 data bytes
^C
--- ipv6.google.com ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 2999ms

[pentium02@einstein:~]$ ping6 2001:470:27:742::1
PING 2001:470:27:742::1(2001:470:27:742::1) 56 data bytes
64 bytes from 2001:470:27:742::1: icmp_seq=1 ttl=64 time=1.07 ms
64 bytes from 2001:470:27:742::1: icmp_seq=2 ttl=64 time=0.259 ms
^C
--- 2001:470:27:742::1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.259/0.667/1.075/0.408 ms
[pentium02@einstein:~]$ ping6 ipv6.google.com
PING ipv6.google.com(2a00:1450:8001::63) 56 data bytes
64 bytes from 2a00:1450:8001::63: icmp_seq=1 ttl=55 time=63.4 ms
64 bytes from 2a00:1450:8001::63: icmp_seq=2 ttl=55 time=49.5 ms
64 bytes from 2a00:1450:8001::63: icmp_seq=3 ttl=55 time=50.4 ms
64 bytes from 2a00:1450:8001::63: icmp_seq=4 ttl=55 time=51.2 ms
^C
--- ipv6.google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3001ms
rtt min/avg/max/mdev = 49.592/53.698/63.457/5.665 ms

1.Свою таблицу роутинга покажи.

AdvLinkMTU 1280;

2.Еще может быть проблема с MTU .Поизменяй это значение.
P.S. А что за брокер?

pinachet ★★★★★
()
Ответ на: комментарий от pinachet

Игры с mtu не помогли

ip -6 route
2001:470:27:742::/64 via :: dev 6in4-he  proto kernel  metric 256  mtu 1480 advmss 1420 hoplimit 4294967295
2001:470:27:742::/64 dev eth1  proto kernel  metric 256  mtu 1500 advmss 1440 hoplimit 4294967295
fe80::/64 via :: dev 6in4-he  proto kernel  metric 256  mtu 1480 advmss 1420 hoplimit 4294967295
fe80::/64 dev eth1  proto kernel  metric 256  mtu 1500 advmss 1440 hoplimit 4294967295
default dev 6in4-he  metric 1024  mtu 1480 advmss 1420 hoplimit 4294967295

ip -6 addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 2001:470:27:742::1/64 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::223:cdff:feb0:ba88/64 scope link 
       valid_lft forever preferred_lft forever
5: 6in4-he: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1480 
    inet6 2001:470:27:742::2/64 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::5e13:8939/128 scope link 
       valid_lft forever preferred_lft forever

Брокер: http://tunnelbroker.net

Pentium02 ★★
() автор топика
Ответ на: комментарий от Deleted
# Generated by ip6tables-save v1.4.8 on Thu Mar  3 17:27:57 2011
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
# Completed on Thu Mar  3 17:27:57 2011
Pentium02 ★★
() автор топика
Ответ на: комментарий от Pentium02

>Debian squeeze я же написал в шапке.

Да я потом вспомнил .)

pinachet ★★★★★
()
Ответ на: комментарий от crick

Конечно. o_O В общем если сначала поднять интерфейс без роутов

auto ipv6-he
iface ipv6-he inet6 v4tunnel
        address 2001:470:27:742::2
        netmask 64
        endpoint 216.66.80.90
        local 94.19.137.57
        ttl 255

А потом добавить маршрут

ip -6 route add default dev ipv6-he
То всё отлично работает. А если написать добавление маршрута прямо в конфиге после поднятия интерфейса
auto ipv6-he
iface ipv6-he inet6 v4tunnel
        address 2001:470:27:742::2
        netmask 64
        endpoint 216.66.80.90
        local 94.19.137.57
        ttl 255
        post-up ip -6 route add default dev ipv6-he
        pre-down ip -6 route del default dev ipv6-he
то происходит таже фигня, работает только после пинга Таблица маршрутизации в обоих случая выглядит одинаково
# ip -6 route
2001:470:27:742::/64 dev eth1  proto kernel  metric 256  mtu 1500 advmss 1440 hoplimit 4294967295
2001:470:27:742::/64 via :: dev ipv6-he  proto kernel  metric 256  mtu 1480 advmss 1420 hoplimit 4294967295
fe80::/64 dev eth1  proto kernel  metric 256  mtu 1500 advmss 1440 hoplimit 4294967295
fe80::/64 via :: dev ipv6-he  proto kernel  metric 256  mtu 1480 advmss 1420 hoplimit 4294967295
default dev ipv6-he  metric 1024  mtu 1480 advmss 1420 hoplimit 4294967295

Pentium02 ★★
() автор топика
Ответ на: комментарий от Pentium02

Угу, работает блин, до первой перезагрузки клиента.

Pentium02 ★★
() автор топика
Ответ на: комментарий от mky

Блин, когда в первый раз читал ваш пост, нужно было включить мозг.

Вроде так:

У нас есть подсеть 2001:470:27:742::/64

2001:470:27:742::1 - это у нас сервер

2001:470:27:742::2 - это получается адрес клиента, интерфейса ipv6-he на стороне клиента (мой роутер).

Во-первых, нафиг не нада прописывать маску 64 для интерфейса ipv6-he

Во-вторых, я назначил интерфейсу eth1 адрес 2001:470:27:742::1, который уже занят и является адресом другого конца тунеля.

Итак

/etc/network/interfaces

auto lo
iface lo inet loopback

allow-hotplug eth0
iface eth0 inet static
        address 94.19.137.57
        netmask 255.255.254.0
        gateway 94.19.136.1
        dns-nameserver 192.168.1.1

allow-hotplug eth1
iface eth1 inet static
        address 192.168.1.1
        netmask 255.255.255.0

iface eth1 inet6 static
        address 2001:470:27:742::3
        netmask 64

allow-hotplug bnep0
iface bnep0 inet static
        address 192.168.2.2
        netmask 255.255.255.0


auto ipv6-he
iface ipv6-he inet6 v4tunnel
        address 2001:470:27:742::2
        endpoint 216.66.80.90
        local 94.19.137.57
        ttl 255
        post-up ip -6 route add default dev ipv6-he
        pre-down ip -6 route del default dev ipv6-he

Вроде так, ну по крайней мере работает.

Pentium02 ★★
() автор топика
Ответ на: комментарий от Pentium02

Хотя, кажется это тоже не очень правильно. Нужно из этой подсети /64 выделить две, одну маленькую для интерфейса ipv6-he и большую для eth1

В общем сделал так

ipv6-he - 2001:470:27:742::/126

eth1 - 2001:470:27:742::3/65

auto lo
iface lo inet loopback

allow-hotplug eth0
iface eth0 inet static
        address 94.19.137.57
        netmask 255.255.254.0
        gateway 94.19.136.1
        dns-nameserver 192.168.1.1

allow-hotplug eth1
iface eth1 inet static
        address 192.168.1.1
        netmask 255.255.255.0

iface eth1 inet6 static
        address 2001:470:27:742::4
        network 2001:470:27:742::3
        netmask 65
        mtu 1500

auto ipv6-he
iface ipv6-he inet6 v4tunnel
        address 2001:470:27:742::2
        netmask 126
        endpoint 216.66.80.90
        local 94.19.137.57
        ttl 255
        post-up ip -6 route add default dev ipv6-he
        pre-down ip -6 route del default dev ipv6-he

Остаётся вопрос с radvd. А точнее конфиг, что бы раздавал клиентам ip из подсети 2001:470:27:742::3/65 и маршруты (или оно такое не умеет?)

Pentium02 ★★
() автор топика
Ответ на: комментарий от Pentium02

Я слепой идиот. HE выдаёт же две подсети /64 а не одну:

2001:470:27:742::/64 и 2001:470:28:742::/64

Всё, всем спасибо.

Pentium02 ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.