{ }
menu zespół linki Logowanie
Stabilny hosting
BSDGuru zawdzięcza
firmie Datanet.pl
Hosting BSDGuru.org - DataNet.pl

Konfiguracja tunelu ipv6 z xs26 i revdns pod FreeBSD

0. WSTĘP


Postaram się w sposób łatwy i skuteczny przedstawic konfiguracje tunelu ipv6 do jednego
z węzłów sieci xs26.net pod systemem operacyjnym FreeBSD.


Potrzebne rzeczy:

1. system operacyjny FreeBSD 4.x ( w artykule 4.11-STABLE)

2. tunel ipv6

3. wydelegowana domena przypisana na nasz nameserver (NS)

4. named 8.3.7-REL (takiego użyłem w artykule)

5. ipv6 calc (bardzo pomocny dla mnie był skrypt na stronie www.satanbsd.org

1. JĄDRO

Jeśli użytkownik używa jądra GENERIC to nie musi nic robić. Standardowo w GENERIC-u są opcje odpowiedzialne za ipv6.
Jednak żeby nie było wątpliwości, wykonujemy następujące sprawdzenia:

cat /usr/src/sys/i386/conf/GENERIC | grep gif
pseudo-device gif # IPv6 and IPv4 tunneling

cat /usr/src/sys/i386/conf/GENERIC | grep faith
pseudo-device faith # IPv6-to-IPv4 relaying (translation)

cat /usr/src/sys/i386/conf/GENERIC | grep INET6
options INET6 # IPv6 communications protocols

ustawiamy zmienną:

sysctl net.inet6.ip6.forwarding=1

oraz do /etc/rc.conf dodajemy:

ipv6_enable="YES"

2. TUNEL

Konfiguracja tunelu ze strony href="http://www.xs26.net">www.xs26.net (opcjonalnie www.tunnelbroker.net lub www.sixxs.net)

Otwieramy przeglądarkę i wpisujemy http://www.xs26.net/

Opiszę w skrócie co zrobić po kolei:

  • przechodzimy do zakładki "Create new account" - wypełniamy odpowiednie pola

       (jeśli wszystkie pola wypełniliśmy prawidłowo, dostaniemy maila z potwierdzeniem, że konto zostało utworzone")

  • nastepnie logujemy się na nowo utworzone konto
  • wypełniamy pola: "Tunnels" i "Zones"
  • należy pamiętać o zakładce DNS na liście stref (tam podajemy swój NS.)
  • jeśli wszystko zostało zrobione poprawnie, dostaniemy na maila informacje o naszym tunelu.

np.

Dear Piotrek,
Your username: Piotrek
Changed zone: 3ffe:80ee:277c::/48
IP address: nasz_IP
Thank you for using XS26.
XS26 - 'Access to IPv6'

A Zatem:

Nasze IP : nasz_IP
Ip POP-a : 195.250.159.83
Otrzymana siec : 3ffe:80ee:277c::/48

(Wybrałem pop-a o numerze ID 0101, ponieważ jest w miarę stabilny i czasy
dostępu były poniżej 100ms)

3. SKRYPT

Tworzymy skrypt startowy w basesystemie:

cd /usr/local/etc/rc.d
touch ipv6.sh
chmod +x ipv6.sh
pico ipv6.sh

#!/bin/sh
echo -n 'IPv6'
ifconfig gif0 create tunnel nasze_IP IP_POP-a up
ifconfig gif0 inet6 3ffe:80ee:277c::1 prefixlen 128
ifconfig xl0 inet6 3ffe:80ee:277c::1/128
route add -inet6 default -interface gif0
#Route6d
/usr/sbin/route6d

Zapisujemy wszystko.

(Można skorzystać ze skryptów oferowanych przez xs26 jednak nie polecam ich!)

Nie będę pisał co robią poszczególne polecenia. Dodam tylko, że xl0 jest interfejsem zewnętrznym.

(Jest to bardzo ważne! Przykładowo przy połączeniu z serwerem irc-owym
widoczny jest revdns, wiec jeśli coś zrobimy niepoprawnie, to zamiast adresu user@domena.pl będziemy mieli adres w postaci user@3ffe:80ee:277c::1)

Uruchamiamy skrypt:

cd /usr/local/etc/rc.d/
sh ipv6.sh

i poleceniem ifconfig sprawdzamy czy został podniesiony interfejs gif0. Jeśli tak to sprawdzamy poprawność działania, jeśli nie to jeszcze raz sprawdzamy czy np. w skrypcie nie popełniliśmy jakiejś literówki.

testujemy:

ping6 krakow6.irc.pl i traceroute6 warszawa6.irc.pl

Powinniśmy otrzymać coś takiego:

--- krakow6.irc.pl ping6 statistics ---

4 packets transmitted, 4 packets received, 0% packet loss

round-trip min/avg/max/std-dev = 399.114/431.478/468.480/25.362 ms

Jeśli natomiast zobaczymy 100% packet loss to znak, że coś jest nie tak. Warto sprawdzić naszego firewalla. (tak było w moim przypadku ;)

Uruchamiamy skrypt firewalla: (w tym przypadku ipfw)

sh /etc/rc.firewall

(przy założeniu, że w jądro wkompilowane są odpowiednie opcje)

4. NAMED

Teraz zabieramy się za konfigurację nameda. Musimy obliczyć revDNS naszego adresu.

Ja użyłem do tego adresu www.satanbsd.org

(Pozdrowienia dla autora ;)


Wpisujemy w formularz nasza siec: 3ffe:80ee:277c::/48 i otrzymujemy:

"c.7.7.2.e.e.0.8.e.f.f.3.ip6.int"


Jednak na stronie xs26.net możemy wyczytać, że prawidłowa forma jest arpa a nie int, dlatego że rekordy int nie są juz na niektórych serwerach obsługiwane, zatem zmieniamy.

Edytujemy plik /etc/namedb/named.conf i wpisujemy strefę odwrotna domeny:

zone "c.7.7.2.e.e.0.8.e.f.f.3.ip6.arpa"{
type master;
file "ipv6.rev";
allow-update { none; };
allow-query { any; };
};

oraz strefę prosta domeny:

np.

zone "domena.pl" {
type master;
file "domena.pl";
allow-update { none; };
allow-query { any; };
notify yes;
};

zapisujemy i przechodzimy do utworzenia wyżej zadeklarowanych plików czyli: ipv6.rev i domena.pl.

cd /etc/namedb
touch ipv6.rev
pico ipv6.rev

powinien wyglądać tak:

$TTL 3600
@ IN SOA ns.domena.pl. root.domena.pl. (
2005010310 ; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum

@ IN NS ns.domena.pl.
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR domena.pl.

Wyjaśnię skąd się wzięło "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0" otóż
liczymy ile mamy wyrazów w "c.7.7.2.e.e.0.8.e.f.f.3.ip6.arpa" pomijając ip6.arpa
ja naliczylem 12. Zatem 32-12=20, dlatego 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0

Nastepnie:

touch domena.pl
pico domena.pl

powinien wyglądać tak:

np.

$TTL 3600
$ORIGIN domena.pl.
@ IN SOA ns.domena.pl. root.domena.pl. (
2005010310 ; serial
10800 ; refresh
900 ; retry
2419200 ; expire
86400 ; minimum
)
IN NS ns.domena.pl.
@ IN AAAA 3ffe:80ee:277c::1

zapisujemy i restartujemy binda:

ndc restart

zerkamy jeszcze w logi

cat /var/log/messages

jeśli ujrzymy coś takiego:

/kernel: named[145]: starting (/etc/namedb/named.conf). named 8.3.7-REL Wed Dec 29 14:10:32
CET 2004 user@domena.pl:/usr/obj/usr/src/usr.sbin/named
Jan 3 18:13:03 named[146]: Ready to answer queries.

...oznacza to, że skonfigurowaliśmy prawidłowo naszego nameda.

Jeżeli w logach jest coś innego, oznacza że popełniliśmy gdzieś błąd
(przewaznie logi informują, w której linii jest błąd)

5. TESTOWANIE

Aby sprawdzić czy nasz revDNS i DNS działa prawidłowo, testujemy nasze ustawienia na stronie
www.ipv6tool.com (POLECAM! bardzo
przydatne narzędzie :) )

Minimalny czas na rozejście się domeny to 48 godzin. Warto więc
odczekać.

Łączymy się na irc np. krakow6.irc.pl, warszawa6.irc.pl lub irc.xs26.net (te serwery oferują I:line na tunel z xs26.net)

Nie możemy zapomnieć, aby wkompilować w naszego klienta irc-owego obsługę ipv6.

np. BitchX ;)

cd /usr/ports/irc/bitchx/ && make WITH_IPV6=yes && make install clean

Warto przed kompilacją sprawdzić jaką wersję klienta irc-owego posiadamy. Przykładowo
BitchX-1.1 posiada opcję ipv6 domyślnie.

6. LITERATURA

www.xs26.net

www.bsdguru.org

www.freebsd.hello.pl

www.slack.com.pl

www.tunnelbroker.net

Handbook FreeBSD

7. ZAKOŃCZENIE

Wszelkie poprawki mile widziane: dr4n(at)wp(dot)pl

Przy tej konfiguracji tunel z xs26 jest stabilny i nie mam z nim większych problemów (w/pew krążącym opiniom)

To chyba wszystko :)

Jeśli ktoś miałby jakiś problem związany z konfiguracja, niech napisze, postaram się pomoc.

!!! Na maile w postaci: "...nie działa mi tunel! dlaczego?" nie odpowiadam z wiadomych względów !!!

9. PODZIĘKOWANIA

Podziękowania dla : Mateusza Guzika vel frag4 za mobilizację i wsparcie ;)

Poprawki: Krzysztof Stryjek vel wtp

Pozdrowienia dla : Kamilki (mojej niuni), Szatanusa i Swifta oraz dla
wszystkich z BSDGuru i kanalu #freebsd.pl

Autor: 
Piotr(dran)Prodanowski dr4n(at)wp(dot)pl - Data: 3 stycznia 2005r. wersja. 1
Porozmawiaj o tym artykule na forum: 

tytus, pt., 18/04/2008 - 19:57