Назад | Перейти на главную страницу

Как использовать родной ipv6 вместе с 6to4? Я потерял пакеты

Я обнаружил, что не могу запустить собственный интерфейс IPV6 (на eth0) с туннелем 6to4 (на tun6to4) вместе.

Вот моя настройка (/ etc / network / interfaces /):

auto eth0
auto bond0

iface eth0 inet static
    address 57.164.26.201
    netmask 255.255.255.0
    network 57.164.26.0
    broadcast 57.164.26.255
    gateway 57.164.26.254

iface eth0 inet6 static
    address 2001:5f45:2:1973::2
    netmask 64
    post-up /sbin/ip -6 r add default via 2001:5f45:2:19ff:ff:ff:ff:ff dev eth0

iface bond0 inet static
    address 57.164.25.173
    netmask 255.255.255.0

когда я ping6 -I eth0 google.com - я получаю:

PING google.com(iad23s40-in-x0e.1e100.net) from 2001:5f45:2:1973::3 eth0: 56 data bytes
64 bytes from iad23s40-in-x0e.1e100.net: icmp_seq=1 ttl=55 time=81.1 ms
64 bytes from iad23s40-in-x0e.1e100.net: icmp_seq=2 ttl=55 time=81.1 ms
64 bytes from iad23s40-in-x0e.1e100.net: icmp_seq=3 ttl=55 time=81.0 ms
64 bytes from iad23s40-in-x0e.1e100.net: icmp_seq=4 ttl=55 time=81.0 ms
64 bytes from iad23s40-in-x0e.1e100.net: icmp_seq=5 ttl=55 time=81.0 ms
^C
--- google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 81.082/81.099/81.123/0.312 ms

После того, как я запустил это:

/sbin/ip tunnel add tun6to4 mode sit ttl 62 remote any local 57.164.25.173
/sbin/ip link set dev tun6to4 up
/sbin/ip -6 addr add 2002:39a4:19ad::1/16 dev tun6to4
/sbin/ip -6 route add 2000::/3 via ::192.88.99.1 dev tun6to4 metric 1

Я получил 100% потерю пакетов на обоих пингах интерфейса IPV6 (хотя иногда несколько пакетов достигают ipv6 Google ..).

/etc/sysctl.conf

net.ipv6.conf.eth0.disable_ipv6=0
net.ipv6.conf.eth0.autoconf=1
net.ipv6.conf.eth0.accept_ra=1
net.ipv6.conf.eth0.accept_ra_defrtr=1

Я нашел этот скрипт в /etc/network/if-up.d/ipv6-routes

#!/bin/sh
# This script sets up the IPv6 connectivity by setting the default route.
# Matching entries in /etc/network/interfaces might not work when the boot
# process is parallelized, because eth0 is not up
# quickly enough.
[ -n "${ADDRFAM}" -a "${ADDRFAM}" != 'inet6' ] && exit 0
[ -n "${IFACE}" -a "${IFACE}" != "eth0" ] && exit 0
sleep 5
/sbin/ip -family inet6 route add 2001:5f45:2:19ff:ff:ff:ff:ff dev eth0
/sbin/ip -family inet6 route add default via 2001:5f45:2:19ff:ff:ff:ff:ff
exit 0

Кажется, что из-за различных маршрутов возникает такая ситуация, что ни один из них не работает правильно. Как я могу это решить? Пожалуйста помоги. Запуск Debian 7 Wheezy.

РЕДАКТИРОВАТЬ: Я нашел простое решение для 6to4: / etc / network / interfaces /

auto 6to4
iface 6to4 inet6 6to4
        local 57.164.25.173
ifup 6to4

И после ifup 6to4 в консоли я запускаю это:

echo "200 sixtofour" >> /etc/iproute2/rt_tables
ip -6 rule add from 2002::/16 table sixtofour
ip -6 route add 2002::/16 dev 6to4 table sixtofour
ip -6 route add default via ::192.88.99.1 dev 6to4 table sixtofour

После этого как собственный интерфейс, так и интерфейс 6to4 ipv6 могут, наконец, ping6 google.com ...

Но .. похоже, еще не конец. У меня небольшой% (от 0 до 3-5 или даже 10-12% в некоторых попытках) потери пакетов на любом интерфейсе ipv6. В некоторых тестах ping6 он работает очень гладко и без ошибок, но иногда я получал 1 из 10-11 потерянных пакетов. Я знаю, что моя производительность 6to4 очень сильно зависит от нескольких общедоступных ретрансляторов 6to4 в Интернете для произвольного адреса, поэтому практически невозможно выяснить, какой ретранслятор может вызывать потерю пакетов ... И это может быть действительно лучший способ переключиться для туннельного брокера. Но я также знаю, что есть люди, которые используют и брокеры туннелей ipv6, и интерфейсы 6to4 одновременно, И есть даже намного больше СЛОЖНЫХ настроек с различными дополнительными устройствами.

Кажется, что сетевая маршрутизация в Linux очень важна для таких настроек, и я в этом немного новичок.

Кстати: что я также нашел

Interrupt:20 Memory:fe500000-fe520000

строка в eth0, когда я запускаю ifconfig в консоли.

Я просто надеюсь, что осталось несколько вещей, которые можно исправить, например:

и / или еще "немного"?

Я очень ценю любую помощь.

КОНЕЦ ЧАСТИ 2. Продолжение следует

Попробуйте использовать брокер туннелей 6in4 для подключения IPv6. Это более надежно и в этом случае сработает. Брокеры, о которых я знаю, предлагают бесплатные туннели.

Обновление происходит быстро и относительно безболезненно. Я уже много лет использую 6in4 с IPv6 на eth0.