gogoCLIENT позволяет организовать туннель через любой NAT к серверу freenet6 и, пройдя регистрацию на www.freenet6.net, получить адрес IPv6 и доменное имя вида username.broker.freenet6.net
Туннель не поднимался, пока дополнительно не зарегистрировал аккаунт на сервере montreal.freenet6.net и в конфигурации /usr/local/etc/gogoc.conf не указал соответствующий сервер
www.gogo6.com/freenet6/register-montreal
www.gogo6.com/freenet6/register-amsterdam
Но в настоящее время регистрация на этих серверах недоступна, возможна лишь регистрация Freenet6 Account Pro
bsd$ whereis -s gogoc
bsd$ egrep "^[^ #]" /usr/local/etc/gogoc.conf
userid=username
passwd=p@$$w)rd
server=montreal.freenet6.net
auth_method=any
host_type=router
prefixlen=56
if_prefix=em0
tunnel_mode=v6anyv4
Для автоматического копирования ключа с сервера нужно указать дополнительный ключ при старте сервиса
bsd$ echo 'gogoc_flags="-y"' | sudo tee -a /etc/rc.conf
bsd$ echo 'gogoc_enable="YES"' | sudo tee -a /etc/rc.conf
bsd$ sudo /usr/local/etc/rc.d/gogoc start
После поднятия туннеля появится интерфейс tun0, имеющий IPv6-адрес, доступный извне, а сетевому интерфейсу em0 будет назначен IPv6-адрес внутренней IPv6-подсети с префиксом 64.
С помощью встроенного даемона rtadvd или radvd, доступного из портов, можно поднять роутер, раздавая IPv6-адреса вида 2001:5c0:1101:1700:xx::/64. Все они будут доступны извне (если это разрешено фаерволом - см. далее)
На виртуальной FreeBSD адаптер поднимается с выключенным IPv6, приходится править самостоятельно
bsd$ sudo ifconfig tun0 inet6 -ifdisabled
bsd$ ifconfig tun0
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1280
options=80000<LINKSTATE>
inet6 fe80::215:f2ff:feba:e2ab%tun0 prefixlen 64 scopeid 0x5
inet6 2001:5c0:1000:b::1dc7 --> 2001:5c0:1000:b::1dc6 prefixlen 128
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
bsd$ ifconfig em0
em0: flags=8843
options=4219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC,VLAN_HWTSO>
inet6 fe80::215:f2ff:feba:e2ab%em0 prefixlen 64 scopeid 0x1
inet6 2001:5c0:1101:1700::1 prefixlen 64
nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
bsd$ netstat -nrfinet6
Routing tables | |||
Internet6: | |||
default | 2001:5c0:1000:b::1dc6 | UGS | tun0 |
2001:5c0:1000:b::1dc6 | link#5 | UH | tun0 |
2001:5c0:1000:b::1dc7 | link#5 | UHS | lo0 |
2001:5c0:1101:1700::/64 | link#1 | U | em0 |
2001:5c0:1101:1700::/56 | lo0 | US | lo0 |
2001:5c0:1101:1700::1 | link#1 | UHS | lo0 |
В /etc/rc.firewall разрешить доступ по IPv6 к сетевым сервисам (sshd и httpd на самом роутере, rdp и minecraft на станциях с Windows)
bsd$ sudo ipfw -a list | grep ip6
02000 allow ip6 from any to me6 dst-port 22 setup
06700 allow ip6 from any to me6 dst-port 80,443 setup
06800 allow ip6 from any to any dst-port 3389,25565 setup
07600 allow ip6 from me6 to any
Включить маршрутизацию ip6
bsd$ echo 'ipv6_gateway_enable="YES"' | sudo tee -a /etc/rc.conf
ipv6_gateway_enable="YES"
bsd$ sudo sysctl net.inet6.ip6.forwarding=1
http://habrahabr.ru/post/192164
https://www.freebsd.org/doc/handbook/network-ipv6.html
https://www.freebsd.org/doc/ru/books/handbook/network-ipv6.html
FreeBSD 10.0-RELEASE: Mon Jan 27 09:11:45 MSK 2014