Dziś w menu podajemy "Dodanie i skonfigurowanie tunelu IPV6 (z xs26.net) oraz konfiguracja RevDNS (bind)", czyli postaram się w sposób łatwy i skuteczny przedstawić konfiguracje tunelu ipv6 do jednego z węzłów sieci xs26.net pod systemem operacyjnym OpenBSD.
Po co?
Np. żeby się czegoś pożytecznego nauczyć.
Mieć fajne vhosty do ircowania (z umiarem).
Oferować usługi sieciowe na swoim serwerze poprzez protokół v4 i v6.
Gdzie?
Opisywane zabiegi, były przeprowadzone przeze mnie na następujących obiektach:
- OpenBSD 3.6 STABLE
- BIND 9.2.3
Jak?
Ok, zakładamy, że OpenBSD użytkują ludzie troszkę bardziej doświadczeni i pewni tego co robią.
Edytujemy więc plik /etc/rc.conf, szukamy wpisów i je ustawiamy tak jak poniżej:
(OpenBSD ma obsługę IPv6 włączoną domyślnie).
rtadvd_flags="gif0"
route6d_flags=""
rtsold_flags=NO
|
(gif0 to nasze pesudodevice).
Następnie edytujemy plik /etc/sysctl.conf i odznaczamy wpis:
net.inet6.ip6.forwarding=1 # 1=Permit forwarding (routing) of packets
|
Jeżeli jeszcze nie mamy konta (a więc i przydzielonej puli adresowej) na xs26.net (Nic nie stoi na przeszkodzie by konfigurować
tunel od innego tunnelbrokera), rejestrujemy się tam.
Proces rejestracji jest tak banalny i łatwy, że go pomijam.
W mailu od xs26 otrzymujemy potrzebne informacje:
(...)
Your username: nasz_username
Changed zone: 3ffe:80ee:1f1e::/48
IP address: 212.33.82.196
(...)
Możemy więc przystąpić do stawiania tunelu. Ułatwieniem sobie życia będzie stworzenie prostego skryptu i wrzucenie go do /etc/rc.local.
U mnie wygląda to tak:
#!/bin/sh
MV4="212.33.82.196" # nasz adres ipv4
PV4="212.14.4.4" # adres PoP'a
MV6="3ffe:80ee:1f1e::1" # pierwszy adres z przydzielonej puli
DEVICE="gif0" # interfejs naszego tunelu
ifconfig $TUNLIF tunnel $MV4 $PV4 up
route add -inet6 default fe80::%$DEVICE
ifconfig $DEVICE inet6 $mv6 prefixlen 128
#Tworzymy sobie parę aliasów
ifconfig $DEVICE inet6 3ffe:80ee:1f1e::2 prefixlen 128
ifconfig $DEVICE inet6 3ffe:80ee:1f1e::3 prefixlen 128
ifconfig $DEVICE inet6 3ffe:80ee:1f1e::4 prefixlen 128
############
# Odpalamy jeszcze route6d i rtadvd podając jako parametr nasz interfejs
/usr/sbin/route6d
/usr/sbin/rtadvd $DEVICE
|
Gdy już sobie go zapiszemy - odpalamy go i sprawdzamy wynik.
# ping6 -c4 ipv6.ircnet.pl
PING6(56=40+8+8 bytes) 3ffe:80ee:1f1e::1 --> 3ffe:8010:7:108::3
16 bytes from 3ffe:8010:7:108::3, icmp_seq=0 hlim=61 time=155.286 ms
16 bytes from 3ffe:8010:7:108::3, icmp_seq=1 hlim=61 time=169.454 ms
16 bytes from 3ffe:8010:7:108::3, icmp_seq=2 hlim=61 time=104.246 ms
16 bytes from 3ffe:8010:7:108::3, icmp_seq=3 hlim=61 time=132.103 ms
--- ipv6.ircnet.pl ping6 statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 104.246/140.272/169.454/24.706 ms
Tunel śmiga. Jeżeli jednak nie pinguje to może być to wina restrykcji na firewallu.
Ja dodałem następujące regułki:
#### makra
ipv6_if = "gif0"
ipv6_net = "{ 3ffe:80ee:1f1e:0:0:0:0:0/48 }"
ipv6_pop = "212.14.4.4"
#### Regulki
pass out on $ext_if inet proto ipv6 from $ext_if to $ipv6_pop keep state
pass in on $ext_if inet proto ipv6 from $ipv6_pop to $ext_if keep state
pass out on $ipv6_if inet6 all keep state
pass in on $ipv6_if inet6 all keep state |
Przeładowujemy pf`a i sprawdzamy znów ping6. Powinno działać, jak nie to szukaj
dalej błędu sam.
W końcu jesteś użytkownikiem systemu OpenBSD :>. Dużo pomocy znajdziesz w
Internecie na google.pl/bsd.
Ok zakładamy, że nasz tunel działa. Teraz nam potrzeba skonfigurować BINDa.
Edytujemy plik named.conf i dopisujemy:
zone "e.1.f.1.e.e.0.8.e.f.f.3.ip6.int"
{
type master;
file "ipv6/ipv6.zone";
}; |
gdzie w 'zone' wpisujemy wartość dla własnej puli. Jak to
obliczyć?
Np instalując z /usr/ports/net/ipv6calc/ przyjemny kalkulatorek.
Jego obsługa jest bajecznie prosta..
# ipv6calc -r 3ffe:80ee:1f1e::/48
e.1.f.1.e.e.0.8.e.f.f.3.ip6.int.
I już wiemy co musimy wpisać.
Ok w opcjach wpisu podaliśmy też ścieżkę do pliku przechowującego wpisy IN PTR
u mnie jest on w /var/named/ipv6/.
Najpierw (zakładamy, że mamy już skonfigurowaną domenę w naszym bindzie) dopisujemy rekord IN AAA do naszej domeny.
Np. chcemy mieć adres ipv6.naszadomena.pl. Edytujemy plik ze strefa naszej domeny i dopisujemy:
@ IN AAAA 3ffe:80ee:1f1e::1
ipv6 IN AAAA 3ffe:80ee:1f1e::2
|
('@' oznacza to, że adres z końcówką 1 będzie wskazywał na naszą główna domenę).
Uaktualniamy serial domeny.
Edytujemy teraz plik ipv6.zone i dopisujemy do niego nasze hosty.
Jego wygląd będzie mniej więcej taki:
$TTL 3600
@ IN SOA ns.naszserwerdns.pl. root.naszadomena.pl. (
2005111637 ; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
IN NS ns.naszserwerdns.pl.
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR naszadomena.pl.
2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR ipv6.naszadomena.pl.
;tu do woli resztę w miarę wzboagacania sie w domeny :)
|
Teraz wydajemy polecenie 'rndc reload' (zwykle "HUPowanie" też działa :P), co spowoduje przeładowanie naszego binda.
W miarę czasu, jak rozejdzie się propagacja domeny, możemy sprawdzić wynik (np z innego komputera):
# host satanbsd.org
satanbsd.org has address 212.33.82.196
satanbsd.org has IPv6 address 3ffe:80ee:1f1e::1
satanbsd.org mail is handled by 10 mail.satanbsd.org.
satanbsd.org mail is handled by 20 mail2.satanbsd.org.
# host 3ffe:80ee:1f1e::1
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.e.1.f.1.e.e.0.8.e.f.f.3.ip6.int domain name pointer satanbsd.org.
# host ipv6.satanbsd.org
ipv6.satanbsd.org has IPv6 address 3ffe:80ee:1f1e::2
# host 3ffe:80ee:1f1e::2
2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.e.1.f.1.e.e.0.8.e.f.f.3.ip6.int domain name pointer ipv6.satanbsd.org.
I to by było na tyle w tym temacie :).
Opis jest może chaotyczny i niedokładny, ale jest to czysta esencja moich czynności, jakie
wykonałem, żeby takowy tunel postawić pod OpenBSD.
Jako posłowie może przypomnę (ale pewnie to wiecie), że adresy w v6 są zapisane w postaci
szesnastkowej.
Po co te info? Ano, że mamy do dyspozycji (prócz cyfr) literki od 'a' do 'f', i możemy sobie w skrypcie stawiającym tunel dodać jakieś nieliniowe IP :P. Oto kilka moich propozycji :):
- 3ffe:80ee:1f1e:dead:dead:dead:dead:dead
- 3ffe:80ee:1f1e:be:bad:babe
- 3ffe:80ee:1f1e::baca
Itp itd :)
Udanego eksperymentowania ;).
Linkowisko
⇔
My 6bone router using OpenBSD
⇔ http://sixxs.net - Chyba jeden z największych tunnelbrokerów w Europie, bardzo dobry, ale trzeba długo czekać :)
⇔ TunelBroker "made in Pepiczki" :P. Szybka i łatwa obsługa, Ale pula adresów testowych :/.
⇔ Artykuł o ipv6 pod fBSD autorstwa Piotra Prodanowskiego
⇔ Kolejne HowTo, tym razem w wykonaniu Janusza
Dziedzica
Autor: Karol Gogiel
karol(at)satanbsd.org
Powyższy artykuł został udostępniony na zasadach Licencji BSD |
He Dodane przez Nicram w dniu - 2005-11-26 21:14:31 | 2 ojca do ojca dyrektora :D Raz ze ten skrypt wydaje mi sie ma bledy. Dwa ze rzecza niedopuszczalna jest pisanie dokumentacji do starych wersji orpgoramowania. A co wiecej, do wersji juz nie wspieranych przez projekt. Dla mnie do poprawki lub wyrzucenia  | re: Dodane przez lofix w dniu - 2005-11-27 16:13:38 | a dlaczego on wydaje ci sie bledny? chetnie uslysze (moze czegos nie wiem ) poza tym nie sadze,aby po upgrejdzie oprogramowania zaszly jakies problemy (opis testowany na paru innych konfiguracjach) | A jest pare rzeczy, np... Dodane przez Nicram w dniu - 2005-11-28 21:38:21 | ifconfig $TUNLIF tunnel $MV4 $XV4 up A $XV4 wartosci nie zauwazylem azeby jakas mial podana.... wiersz ponizej tez "dziwnie" wyglada. Nie sprawdzalem tego w praktyce, mowie tylko co i sie wydaje  | masz racje Dodane przez lofix w dniu - 2005-12-01 17:08:14 | mea culpa, masz racje, chochlik tu szalal jest: XV4,a powinno byc PV4 (POPv4) | | Dodane przez lofix w dniu - 2005-12-01 18:39:16 | | poprawione | Sprawdzenie :) Dodane przez Nicram w dniu - 2005-12-06 10:41:06 | W wolnej chwili sprawdze jak to dziala pod 3.8, tak z ciekawosci  | re: sprawdzenie Dodane przez lofix w dniu - 2005-12-06 14:58:47 | alez prosze...sprawdz btw moze zaistniec sytuacja ze RevDNS zadziala jezeli uzyje sie starszego zapisu w BINDzie. czyli ip6.arpa zamiast ip6.int | No i nie dziala :) Dodane przez Nicram w dniu - 2005-12-09 23:41:55 | Z reszta nie mnie jednemu bo skonfrontowalem to z jednym kolega, bo zawsze istaniala mozliwosc ze ja cos robie zle efekt uruchomienia skryptu: Quote:
ifconfig: SIOCGIFFLAGS: Device not configured route: fe80::%gif0: bad value Dec 10 00:45:49 lunaris route6d[27937]: rip bind: Address already in use Dec 10 00:45:49 lunaris route6d[27937]: rip bind: Address already in use Dalej jak za skrypt nie ide, sprobuje to zrobic sobie jakos inaczej  | | Dodane przez lofix w dniu - 2005-12-10 15:20:00 | Prosze, oto skrypt ze strony xs26.net. # OpenBSD (thanks to LevelZero) # Modify following values MYIPv4="98.97.96.95" # My IPv4 address XSIPv4="1.2.3.4" # PoP's IPv4 address MYIPv6="3ffe:80ee:1234::1" # Choose any IPv6 address from the range # youve got from XS26 TUNLIF="gif0" # interface used for the tunnel - if you already have any # tunnels, raise the number to the first unused value ifconfig $TUNLIF tunnel $MYIPv4 $XSIPv4 up route add -inet6 default fe80::%$TUNLIF ifconfig lo0 inet6 $MYIPv6 prefixlen 128 I wiesz co? skrypt jest w sumie identyczny (nie musze chyba ukrywac ze sie wlasnie na nim wzorowalem) Dopisalem tylko (wedle googolowania) na koncu Code: /usr/sbin/route6d /usr/sbin/rtadvd $DEVICE
Ja odpalalem tak tunel rowniez na obsd 3.8 Mozesz napisac czy ten blad wyskoczyl Ci podczas odpalania tunelu "od nowa", czy tez juz istnial tunel w systemie? | re: nie dziala Dodane przez lofix w dniu - 2005-12-10 11:42:49 | kiszka :\ ja sie wyprodukowalem a komenta nie widac. No nic :w skrocie Skrypt byl pisany na podstawie http://www.xs26.net/text.bat?page=help oraz artykulow wyszperanych na google (ale w wiekszosci wlasnie na pdst xs26) Moglbys napisac czy blad ten otrzymujesz gdy stawiasz nowy tunel? czy tez moze blad pojawia sie przy probie "nadpisania" istniejacego juz tunelu? pozdrawiam | No i jestem.... Dodane przez Nicram w dniu - 2005-12-11 16:10:54 | Wiec tak. Tunel stawialem od zera, bo jak wyzej pisalem nie bylo mi to potrzebne. ale z ciekaowsci chcialem zobaczyc czy to smiga no i nie smigalo. zamiast Twojego skryptu znajomi mi poradizl troszke, i w sumie dodalem do rc.local cos takiego: Quote:
ifconfig gif0 tunnel 11.11.11.11 212.14.4.4 up route add -inet6 default fe80::%gif0 ifconfig gif0 inet6 3ffe:80ee:1111::1 prefixlen 128 I w zasadzie to wystarczylo zeby ipv6 dzialalo prawidlowo Oczywiscie nameda sobie zrobilem zgodnie z Twoim opisem i wszystko dziala poprawnie, moge nawet po tym ircowac (dla testu sprawdzilem). | Korekta dla niedowidzących :P Dodane przez piotraf w dniu - 2006-01-11 03:55:44 | jest: ifconfig $TUNLIF tunnel $MV4 $PV4 up powinno być: ifconfig $DEVICE tunnel $MV4 $PV4 up jest: ifconfig $DEVICE inet6 $mv6 prefixlen 128 powinno być: ifconfig lo0 inet6 $MV6 prefixlen 128 czyli całość do dodania do /etc/rc.local: ######## Begin IPv6 MV4="212.33.82.196" # nasz adres ipv4 PV4="212.14.4.4" # adres PoP'a MV6="3ffe:80ee:1f1e::1" # pierwszy adres z przydzielonej puli DEVICE="gif0" # interfejs naszego tunelu ifconfig $DEVICE tunnel $MV4 $PV4 up route add -inet6 default fe80::%$DEVICE ifconfig lo0 inet6 $MV6 prefixlen 128 #Tworzymy sobie parę aliasów ifconfig $DEVICE inet6 3ffe:80ee:1f1e::2 prefixlen 128 ifconfig $DEVICE inet6 3ffe:80ee:1f1e::3 prefixlen 128 ifconfig $DEVICE inet6 3ffe:80ee:1f1e::4 prefixlen 128 ############ # Odpalamy jeszcze route6d i rtadvd podając jako parametr nasz interfejs /usr/sbin/route6d /usr/sbin/rtadvd $DEVICE ######## End IPv6 Mam nadzieję, że teraz ja czegoś nie poplątałem |
Tylko zarejestrowani użytkownicy mogą pisać komentarze. Prosze zaloguj się i dodaj komentarz. Powered by AkoComment! |