Използване IPv6 на Debian Etch
8 ноември, 2008 – 7:08 am
- Той може да се свързва с други IPv6 хостове
- Други IPv6 хостове може да се свърже с него. IPv6 ще има още по голямо значение в бъдеще. Тъй като се смята че до 2010-2011 година вече няма да има свободни IPv4 адреси.
Затова време е да научим IPv6. Този документ е без гаранция от какъвто и да е вид! Аз не давам никакви гаранции, че това ще работи за вас!
1 Забележка
В тази документация съм използвал Debian сървър в локална мрежа който е свързан с интерфейс eth0 и IPv4 адрес 192.168.0.100 към интернет чрез рутър. С IPv6 други системи може да се свържат дирекно с Debian системата, независимо от рутър и NAT. Това описание ще работи с системи които са свързани дирекно с интернет.
За да може да използваме IPv6 трябва да конфигурираме тунел който ще свързва нашата IPv6 Debian система с IPv6 hardware в другия край и по този начин към IPv6 backbone.
Този тунел е необходимо, тъй като повечето Интернет доставчици не поддържат директна IPv6 свързаност и те не отдават значение да рутират IPv6 трафик през IPv4 мрежа, защото маршрутизаторите не знаят какво да правя с този трафик.
Има няколко тунел брокери които предоставят IPv6 адреси на безплатно (като http://tunnelbroker.net/, http://go6.net/4105/freenet.asp, http://www.sixxs.net/). Тези тунел брокери са свързани с IPv6 backbone и тунела свързва нашата Debian Etch система към техния IPv6 hardware и следователно ни свързва към IPv6 backbone.

Това са детайлите за този тест тунел
Server IPv6 address: 2001:0470:1f0a:cc0::1/64
Client IPv4 address: 85.176.139.73
Client IPv6 address: 2001:0470:1f0a:cc0::2/64
Запишете си някъде Server IPv4 address (216.66.80.30), IPv6 address (2001:0470:1f0a:cc0::1) и client IPv6 address (2001:0470:1f0a:cc0::2). Ще ни потрябват.
3 Конфигуриране на Debian системата
Влезте в вашата Debian система и хвърлете поглед на:
server1:~# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:A5:5B:93
inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fea5:5b93/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:71 errors:0 dropped:0 overruns:0 frame:0
TX packets:44 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:7789 (7.6 KiB) TX bytes:5809 (5.6 KiB)
Interrupt:169 Base address:0×1400lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:560 (560.0 b) TX bytes:560 (560.0 b)server1:~#
Нищо специално, но наличието на inet6 addr означава че системата е готова за IPv6 състояние.
Сега ще конфигурираме нашия нов IPv6 публичен адрес и тунела.
ifconfig sit0 inet6 tunnel ::216.66.80.30 #(please replace the IPv4 address with the IPv4 address of the tunnel broker server that you’ve chosen in the previous step)
ifconfig sit1 up
ifconfig sit1 inet6 add 2001:0470:1f0a:cc0::2/64 #(please replace the IPv6 address with your own IPv6 address)
route -A inet6 add ::/0 dev sit1
Ето го вече. Обърнете внимание на
ще видите две нови интерфейса sit0 и sit1 които са ни нужни за тунела
server1:~# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:A5:5B:93
inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fea5:5b93/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:145 errors:0 dropped:0 overruns:0 frame:0
TX packets:163 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:12833 (12.5 KiB) TX bytes:19303 (18.8 KiB)
Interrupt:169 Base address:0×1400lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:560 (560.0 b) TX bytes:560 (560.0 b)sit0 Link encap:IPv6-in-IPv4
inet6 addr: ::127.0.0.1/96 Scope:Unknown
inet6 addr: ::192.168.0.100/96 Scope:Compat
UP RUNNING NOARP MTU:1480 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)sit1 Link encap:IPv6-in-IPv4
inet6 addr: 2001:470:1f0a:cc0::2/64 Scope:Global
inet6 addr: fe80::c0a8:64/64 Scope:Link
UP POINTOPOINT RUNNING NOARP MTU:1480 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)server1:~#
Сега ще се оптиаме дали можем да пингваме IPv6 на тунел сървъра
ping6 -c4 2001:0470:1f0a:cc0::1
server1:~# ping6 -c4 2001:0470:1f0a:cc0::1
PING 2001:0470:1f0a:cc0::1(2001:470:1f0a:cc0::1) 56 data bytes
64 bytes from 2001:470:1f0a:cc0::1: icmp_seq=1 ttl=64 time=16.8 ms
64 bytes from 2001:470:1f0a:cc0::1: icmp_seq=2 ttl=64 time=40.5 ms
64 bytes from 2001:470:1f0a:cc0::1: icmp_seq=3 ttl=64 time=37.5 ms
64 bytes from 2001:470:1f0a:cc0::1: icmp_seq=4 ttl=64 time=37.5 ms— 2001:0470:1f0a:cc0::1 ping statistics —
4 packets transmitted, 4 received, 0% packet loss, time 3002ms
rtt min/avg/max/mdev = 16.880/33.135/40.550/9.466 ms
server1:~#
изглежда добре.
На адрес http://www.ipv6.org/v6-www.html има списък от IPv6 хостове. Нека изберем един и да направим пинг тест.
ping6 -c4 www.ipv6.uni-muenster.de
server1:~# ping6 -c4 www.ipv6.uni-muenster.de
PING www.ipv6.uni-muenster.de(tolot.ipv6.uni-muenster.de) 56 data bytes
64 bytes from tolot.ipv6.uni-muenster.de: icmp_seq=1 ttl=57 time=29.3 ms
64 bytes from tolot.ipv6.uni-muenster.de: icmp_seq=2 ttl=57 time=38.7 ms
64 bytes from tolot.ipv6.uni-muenster.de: icmp_seq=3 ttl=57 time=60.4 ms
64 bytes from tolot.ipv6.uni-muenster.de: icmp_seq=4 ttl=57 time=23.1 ms— www.ipv6.uni-muenster.de ping statistics —
4 packets transmitted, 4 received, 0% packet loss, time 3002ms
rtt min/avg/max/mdev = 23.194/37.940/60.454/14.127 ms
server1:~#
До тук сме добре. Пингването на други хостове работи идеално. Но нека да пробваме да пингнем нашия публичен IPv6 хост. За целта отваряме тази страница http://www.berkom.blazing.de/tools/ping.cgi и поставяме нашия публичен IPv6 адрес. Ако всичко върви както трябва изходът ще е:

Конфигурацията IPv6 вече работи в вашата система.
Ако не искате всеки път когато рестартирате системата да конфигурирате ръчно sit0 и sit1 можете да създадете файл etc/network/if-up.d/ipv6 с следното съдържание:
#!/bin/sh
PATH=/sbin:/bin
ifconfig sit0 up
ifconfig sit0 inet6 tunnel ::216.66.80.30
ifconfig sit1 up
ifconfig sit1 inet6 add 2001:0470:1f0a:cc0::2/64
route -A inet6 add ::/0 dev sit1
Замeнete IPv4 и IPv6 адреси с вашите собствени стойности!
И направете файла изпълним:
chmod 755 /etc/network/if-up.d/ipv6
Сега когато и да рестартнете системата sit0 и sit1 автоматично ще се стартират.
4 Връзки
- Debian: http://www.debian.org/
- Основен: Falko Timme