Перемещаю в этот блог оставшуюся статью по IPv6 с http://letsipv6.com. Я решил расширить тематику блога и включил рубрику "Linux".

На ноутбуке с Mac OS X я настроил IPv6. Теперь дело за настройкой сервера под Ubuntu Server 10.10.

Для этого создал второй туннель на Hurricane Electric (процедура простая, я её описывал в предыдущей статье):

Настройка IPv6 на Ubuntu Server 10.10

Редактирую /etc/network/interfaces, чтобы туннель поднимался автоматически при старте:

auto hetunnel
iface hetunnel inet6 v4tunnel
	address Client_IPv6_address
	netmask 64
	ttl 64
	gateway Server_IPv6_address
	endpoint Server_IPv4_address
	local Client_IPv4_address

Мои настройки такие:

auto hetunnel
iface hetunnel inet6 v4tunnel
	address 2001:470:1f08:1120::2
	netmask 64
	ttl 64
	gateway 2001:470:1f08:1120::1
	endpoint 216.66.80.26
	local 178.79.138.230

В /etc/resolv.conf поставил IPv4 DNS-сервер, указанный в настройках туннеля (у меня есть ещё несколько записей, эту я поставил первой):

nameserver 74.82.42.42

Чтобы поднять туннель, выполняю команду:

$ sudo ifup hetunnel

Для опускания туннеля:

$ sudo ifdown hetunnel

Проверяю интерфейс (обращаем внимание на «UP»):

$ ifconfig hetunnel
hetunnel  Link encap:IPv6-in-IPv4
          inet6 addr: 2001:470:1f08:1120::2/64 Scope:Global
          inet6 addr: fe80::b24f:8ae6/128 Scope:Link
          UP POINTOPOINT RUNNING NOARP  MTU:1480  Metric:1
          RX packets:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:416 (416.0 B)  TX bytes:416 (416.0 B)

Таблица маршрутизации:

$ netstat -rn6
Kernel IPv6 routing table
Destination                    Next Hop                   Flag Met Ref Use If
...
::/0                           2001:470:1f08:1120::1      UG   1024 0     5 hetunnel

Проверяю с сервера доступность по IPv6 произвольного хоста:

$ ping6 google.com
PING google.com(2a00:1450:4008:c00::68) 56 data bytes
64 bytes from 2a00:1450:4008:c00::68: icmp_seq=1 ttl=55 time=26.9 ms
64 bytes from 2a00:1450:4008:c00::68: icmp_seq=2 ttl=55 time=26.9 ms
64 bytes from 2a00:1450:4008:c00::68: icmp_seq=3 ttl=55 time=27.0 ms

А раз IPv6 работает на сервере, значит к нему можно обращаться из Интернет по IPv6:

$ ping6 letsipv6.com
PING6(56=40+8+8 bytes) 2001:470:1f14:fee::2 --> 2001:470:1f08:1120::2
16 bytes from 2001:470:1f08:1120::2, icmp_seq=0 hlim=60 time=49.441 ms
16 bytes from 2001:470:1f08:1120::2, icmp_seq=1 hlim=60 time=50.883 ms