|
||
| dzenspace.ru | статьи |
|
||
Настройка IPv6 в hetzner.deНекоторое время назад крупнейший европейский хостер hetzner.de начал предоставлять абсолютно бесплатно подсеть /64 адресов IPv6, ненавязчиво подталкивая своих пользователей к неизбежному отказу от IPv4 в обозримой перспективе. Получение подсети производится в панели робота - после заказа будут сообщены:
Там же, в панели робота, можно прописать обратную зону для используемых адресов. Несмотря на множество технических статей по работе с IPv6 и простоту получения подсети, наше счастье будет немного омрачено при попытке прописать полученные данные на сервере. Суть проблемы заключается в том, что шлюз по умолчанию выходит за пределы диапазона выданной сети и, как следствие, является недостижимой целью без указания дополнительных правил маршрутизации. Для Linux данная проблема решается достаточно просто и ее решение описано в wiki самого хостера. А вот настройка IPv6 для FreeBSD, которая так же поддерживается hetzner.de, но не особо афишируется (вероятно для уменьшения потока запросов от клиентов), не столь очевидна и усложняется порядком выполнения правил конфигурации при инициализации интерфейса на этапе загрузки. Итак, работающее решение: /etc/rc.conf ipv6_enable="YES" ipv6_defaultrouter="NO" ipv6_default_interface="re0" ipv6_static_routes="gw default" ipv6_route_gw="2a01:4f8:gggg:gggg::1 -iface re0" ipv6_route_default="default 2a01:4f8:gggg:gggg::1" ipv6_ifconfig_re0="2a01:4f8:xxxx:xxxx::2" ipv6_ifconfig_re0_alias0="2a01:4f8:xxxx:xxxx::3" ... /etc/sysctl.conf net.inet6.ip6.accept_rtadv=1 Для проверки работоспособности без перезагрузки сервера в консоли это эквивалентно: # sysctl net.inet6.ip6.accept_rtadv=1 # ndp -I re0 # route add -inet6 2a01:4f8:gggg:gggg::1 -iface re0 # route add -inet6 default 2a01:4f8:gggg:gggg::1 # ifconfig re0 inet6 2a01:4f8:xxxx:xxxx::2 alias # ifconfig re0 inet6 2a01:4f8:xxxx:xxxx::3 alias Достижимость шлюза можно проверить утилитой fping6: # ping6 -c 3 2a01:4f8:gggg:gggg::1 PING6(56=40+8+8 bytes) 2a01:4f8:xxxx:xxxx::2 --> 2a01:4f8:gggg:gggg::1 16 bytes from 2a01:4f8:gggg:gggg::1, icmp_seq=0 hlim=64 time=0.600 ms 16 bytes from 2a01:4f8:gggg:gggg::1, icmp_seq=1 hlim=64 time=0.664 ms 16 bytes from 2a01:4f8:gggg:gggg::1, icmp_seq=2 hlim=64 time=0.711 ms --- 2a01:4f8:gggg:gggg::1 ping6 statistics --- 3 packets transmitted, 3 packets received, 0.0% packet loss round-trip min/avg/max/std-dev = 0.600/0.658/0.711/0.045 ms Автоматическая конфигурацияС момена описания предыдущего решения прошло достаточно много времени. На сегодняшний день в hetzner.de появилась возможность автоматической конфигурации интерфейса для работы по IPv6, что сильно упрощает дело. Работающее решение: /etc/rc.conf ipv6_enable="YES" ipv6_defaultrouter="fe80::1%re0" ipv6_ifconfig_re0="2a01:4f8:xxxx:xxxx::2" ipv6_ifconfig_re0_alias0="2a01:4f8:xxxx:xxxx::3" ... /etc/sysctl.conf net.inet6.ip6.accept_rtadv=1 IPv6 через IPv4Нет никакого толка от наличия IPv6 на сервере, если мы им не можем воспользоваться со своего рабочего места. На данный момент в России с предоставлением IPv6 для обычных интернет-пользователей дела обстоят не очень хорошо и большинство провайдеров услуг используют традиционный IPv4. К счастью, есть несколько достаточно простых в установке и настройке решений для туннелирования IPv6 трафика через сети IPv4 как для *nix, так и для windows. С ними можно ознакомиться по ссылкам в wiki проекта version6.ru, где наиболее простым и универсальным способом является использование технологии Teredo (или Miredo для FreeBSD и Linux).
|
||
|
||