Настраиваем IPv6 туннель в Ubuntu.
Нужно обязательно настроить минимально допустимый в IPv6-сетях размер MTU 1280
иначе много сайтов просто не будут открываться!
Для того чтобы узнать свой 6to4 адрес нам понадобится этот конвертер.
/etc/network/interfaces
auto lo
iface lo inet loopback
auto tun6to4
iface tun6to4 inet6 6to4
local 217.12.203.114
mtu 1280
auto he-ipv6
iface he-ipv6 inet6 v4tunnel
address 2a01:d0:ffff:63::2
netmask 64
endpoint 66.220.2.74
local 192.168.1.13
ttl 255
gateway 2a01:d0:ffff:63::1
mtu 1280
#dns-nameservers 2001:4860:4860::8888 2001:4860:4860::8844
Команда для ручного изменения MTU в Ubuntu
sudo ifconfig he-ipv6 mtu 1280Ставим правильное MTU для IPv6 на сервере для eth0 1280
для того чтобы к нам по IPv6 смогли зайти даже с не правильно настроенным MTU.
Смотрим где что настроено.
sysctl -a|grep mtunet.ipv4.route.mtu_expires = 600
net.ipv4.route.min_pmtu = 552
net.ipv4.ip_no_pmtu_disc = 0
net.ipv4.tcp_mtu_probing = 0
net.ipv6.conf.all.mtu = 1280
net.ipv6.conf.default.mtu = 1280
net.ipv6.conf.lo.mtu = 16436
net.ipv6.conf.eth0.mtu = 1280
net.ipv6.route.mtu_expires = 600
Выполняем команды.
sudo sysctl -w net.ipv6.conf.eth0.autoconf=0
sudo sysctl -w net.ipv6.conf.eth0.mtu=1280
sudo sysctl -w net.ipv6.conf.eth0.mtu=1280Записываем в файле
/etc/sysctl.confnet.ipv6.conf.eth0.mtu=1280Ура! Теперь для IPv4 MTU 1500, а для IPv6 MTU 1280!
Ставим приоритет IPv4 вместо IPv6 в файле
/etc/gai.confprecedence ::1/128 50
precedence ::/0 40
precedence 2002::/16 30
precedence ::/96 20
#precedence ::ffff:0:0/96 10
#
# For sites which prefer IPv4 connections change the last line to
#
precedence ::ffff:0:0/96 100http://ru.wikipedia.org/wiki/ICMPВ DD-WRT можно разрешить все ICMP - что есть небезопасно или запретить их все но тогда что-то может не работать!
Разрешить icmp echo-request только для ipv4 адреса 66.220.2.74
iptables -I INPUT 5 -s 66.220.2.74 -p icmp --icmp-type 8/0 -j ACCEPT
iptables -I INPUT 6 -p icmp --icmp-type 3/4 -j ACCEPTИщем номер правила с помощью команды
iptables -L INPUT -n --line-numbers5 DROP icmp -- 0.0.0.0/0 0.0.0.0/0
Разрешающие ICMP правила должны быть выше этого запрещающего правила.
Удалить правило номер 5.
iptables -D INPUT 5Иногда при запуске системы с настроенными IPv6 туннелями программы стартуют раньше чем запустился IPv6 туннель
и тогда программа будет недоступна по IPv6 адресу и поэтому нужно отложить запуск программы или перезапустить её после загрузки.
Проблема замечена в OpenWRT 15.05 и Ubuntu 14.
netstat -tnlp
Пишем в /etc/rc.localsleep 20
/etc/init.d/dropbear restart
sleep 20
sudo service ssh restart
sleep 2
sudo service nginx restart
exit 0