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

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

Вот мои настройки (/ etc / network / интерфейсы /):

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 потерянных пакетов. I know that my 6to4 performance very much depends on multiple public 6to4 relays on the internet for anycast address, so it's almost impossible to find out which relay might be causing packet loss.. And it may be really better way to switch for tunnel broker. But I also know that there are people who use both ipv6 tunnel brokers and 6to4 interfaces at the same time AND there are even a lot more COMPLEX setups with various additional devices.

Seems that network routing in linux is very important for such setups and I'm kinda newbie in it.

BTW: what I've also found

Interrupt:20 Memory:fe500000-fe520000

line in eth0, when I run ifconfig in console.

I just hope that there could be few things left to fix it like:

  • changing TTL;
  • adding routing table for eth0 ipv6 interface
  • running ndppd;

and/or a "little" more?

I really appreciate any help.

END OF PART2. To be continued

0
задан 5 July 2016 в 01:39
1 ответ

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

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

3
ответ дан 4 December 2019 в 12:23

Теги

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