IPv6
Obsah
Adresace
- prefix IPv6 pro celé HKfree je 2a01:168::/32
- kazda oblast dostane prefix /48 podle cisla oblasti u IPv4
Dalsich 8 bitu je logicka cast (router1, router2, sektor, vsesmer, lan, ...) v ramci oblasti a zbylych 8 bity je pro lepsi rozdeleni v teto logicke casti (0 je vzdy hlavni podsit)
- linkove adresy nejsou potreba - viz link scope
- pokud nejaky router lezi na rozhrani mezi 2 oblastmi a mel by mit ipv6 adresu, tak se pouzije cislo jedne z oblasti
- adresy aplikacnich serveru se prideluji z rozsahu 2a01:168::/48
Jak pridelit IPv6 adresu/rozsah (pro spravce)
1) Vezmu si cislo sve oblasti (samozrejme jen pokud jsem spravce) toto prevedu do hexa (tzn. 1->1, 16->10, 31->1f atd.)
$ printf "%x\n" CISLOOBLASTI XX
2) Toto cislo pripojim za 2a01:168:00XX:YYZZ::/64 a tak ziskam rozsah pro nejakou podsit v ramci oblasti
- Priklad:
mam oblast 160 tudiz cislo oblasti je a0 a mam vsesmer, LAN a 2x sektor, dale je na LAN jedna uzivatelska sit za routerem, takze site, ktere pouziji budou
- pro vsesmer 2a01:168:a0:0000::/64 - zkracene 2a01:168:a0::/64
- pro uzivatelskou podsit na LAN 2a01:168:a0:0101::/64 - zkracene 2a01:168:a0:101:/64
- pro sektor 1 2a01:168:a0:0200::/64 - zkracene 2a01:168:a0:200:/64
- pro sektor 2 2a01:168:a0:0300::/64 - zkracene 2a01:168:a0:300:/64
- pro vsesmer 2a01:168:a0:0000::/64 - zkracene 2a01:168:a0::/64
3) Zapnu si modul ipv6, tedy upravim /etc/modules (zalezi na distribuci) kde vepíšu ipv6 nebo dočasně povolím ručně příkazem modprobe ipv6
4) Pridam na kazdem interface routeru nejakou IPv6 adresu (idealne dobre zapamatovatelnou) pomoci ip addr add <IPv6Adresa/maska> dev <zarizeni>
Příklad ip addr add 2a01:168:12::1/64 dev eth0
nebo upravím v /etc/network/interfaces
auto eth0 iface eth0 inet static address 10.107.6.49 netmask 255.255.255.240 broadcast 10.107.6.63 # nastaveni IPv6 iface eth0 inet6 static address 2001:168:6::1 netmask 64
5) Povolim forwardovani IPv6 pomoci
echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
6) Dale rozjedu na routeru IPv6 a ospf6d - nakonfiguruji podobne jako ve vzorovych konfiguracich prilozenych na konci a spustim
7) Hotovo :)
Doporucuji si precist neco o IPv6 nez se do toho pustite.
Soucasny stav
- IPv6 je funkční na igw, kde bezi ospf6d
- Mame pridelen IPv6 prefix od RIPE
- podsit pro hyperpater je 2a01:168:f000:3::/64 a orion ma na interface 2a01:168:f000:3::1/64 -- BUDU PREDELAVAT
- ipv6-enabled oblasti jsou zatim dnetwork, piletice, pouchov, rusek, svinary, slatina, libisany, meliap, podulsany, oli, yzop, hrbitov, sssr, lhotka, postman, mandysova
- UPDATOVAT !
Priklady konfigurace zebry
ospf6d.conf
hostname HOSTNAME password free enable password XXXXXXX ! interface eth0 ipv6 ospf6 cost 10 ! router ospf6 router-id 10.107.X.Y redistribute connected interface eth0 area 0.0.0.0 interface eth1 area 0.0.0.0 !
zebra.conf
hostname HOSTNAME password free enable password XXXXXXXXX service advanced-vty interface eth0 ipv6 nd suppress-ra ! muzu rict i jaky prefix budu oznamovat interface eth1 no ipv6 nd suppress-ra ipv6 nd ra-interval 10 ipv6 nd prefix 2a01:168:12:3400::/64 ! oznamuje pocitacum pripojenym k danemu segmentu, ze je zde dalsi router ! a ze si maji pridelit ipv6 adresu a nastavit tento router jako branu ! pro funkcnost autkonfigurace musí být jádro na routeru nastaveno následovně: ! net.ipv6.conf.all.autoconf = 0 ! net.ipv6.conf.all.accept_ra = 0 ! net.ipv6.conf.all.accept_redirects = 0 ! net.ipv6.conf.all.forwarding = 1 ! net.ipv6.conf.all.router_solicitations = 0 interface eth2 ipv6 nd suppress-ra ! !neoznamuje pocitacum pripojenym k segmentu, ze je zde dalsi router interface eth3 no ipv6 nd suppress-ra line vty
Zbytek
K precteni taky doporucuji clanek na wikipedii nebo na IPv6.cz
- Autokonfigurace
Pomoci router advertismentu
na serveru se spusti daemon radvd (nebo se nastavi v zebre viz vyse ipv6 nd ...), ktery pri spravnem nakonfigurovani siri na dany interface oznameni o pritomnosti routeru vcetne sveho prefixu. Z tohoto prefixu si klient vygeneruje svoji adresu na zaklade MAC adresy, windows si vygeneruji jeste druhou docasnou adresu (pro vyssi soukromi ? ;)) Resi pouze ziskani adresy a nastaveni routovani.
vypnuti generovani 2. docasne adresy z sireneho prefixu pod woknama netsh interface ipv6 set privacy state=disable
DHCPv6
Resi prideleni adresy + adres dns serveru, domenoveho jmena apod. Neresi nastaveni routovani.
Dibbler dhcpv6 server + klient + relay pro linux a windows http://klub.com.pl/dhcpv6/
podle testu funguje server na linuxu v pohode. Klient pod windows se zda byt pomerne problematicky, nepovedlo se mi ho spustit jako sluzbu prestoze psal ze nastartoval. Z prikazoveho radku funguje celkem bezproblemove. Pri kombinaci s 1. typem autokonfigurace dochazi k tomu, ze Windows pouzivaji primarne docasnou adresu a ne tu ziskanou pres dhcp :(
Par sikovnych prikazu
Zobrazeni routovaci tabulky
ip -6 ro
Zobrazeni prirazenych ip adres
ip -6 addr
Pingnuti vseho ipv6-enabled hostu (tzn. vsech) na siti:
ping6 -I <interface> ff02::1
Pingnuti vsech ipv6-enabled routeru na siti:
ping6 -I <interface> ff02::2
Rozchození IPv6 na Mikrotiku s RouterOS
Příklad konfigurace AP Mandysova, verze RouterOS 3.16, navic balik routing-test.npk (nutny pro OSPFv3)
Nastavení adres. Určení rozsahů viz výše. V našem případě Mandysovka má číslo 53 což vychází hezky na 0x35. Primární router má na Mandysovce tradičně ip končící na 107.
/ipv6 address add address=2a01:168:35:222::107/64 advertise=yes disabled=no eui-64=no interface=bridge-local /ipv6 address add address=2a01:168:35::107/64 advertise=yes disabled=no eui-64=no interface=bridge-wifi
Nastaveni areas. Klidně lze vystačit s jednou backbone. Já obvykle používam ještě jednu - terminal - pro koncové oblasti (tam kde jsou klienti a žádné další routery).
/routing ospf-v3 area set backbone area-id=0.0.0.0 name=backbone disabled=no type=default /routing ospf-v3 add area-id=0.0.1.0 name=terminal default-cost=1 disabled=no inject-summary-lsas=yes type=stub
Nastavení OSPF. Důležitý pro nás by parametr "redistribute-connected=as-type-1"
/routing ospf-v3 set distribute-default=never metric-bgp=20 metric-connected=20 metric-default=1 metric-rip=20 metric-static=20 redistribute-bgp=no redistribute-connected=as-type-1 redistribute-rip=no redistribute-static=no router-id=10.107.53.107
Nastavení interfaceů. Na routeru jsou dva interface, na kterých je povoleno ipv6: bridge-wifi a bridge-local. Třetí interface je v našem případě 6to4 tunel na igw (tunel je zde proto, že naše oblast nesousedí s žádnou oblastí s funkčním ipv6)
/routing ospf-v3 interface add interface=tunel-gw6 area=backbone cost=10 dead-interval=30s disabled=no hello-interval=5s instance-id=0 network-type=default passive=no priority=1 retransmit-interval=5s transmit-delay=1s /routing ospf-v3 interface add interface=bridge-wifi area=terminal cost=10 dead-interval=30s disabled=no hello-interval=5s instance-id=0 network-type=default passive=no priority=1 retransmit-interval=5s transmit-delay=1s /routing ospf-v3 interface add interface=bridge-local area=terminal cost=10 dead-interval=30s disabled=no hello-interval=5s instance-id=0 network-type=default passive=no priority=1 retransmit-interval=5s transmit-delay=1s
Pro doplnění ještě přidávám nastavení 6to4 tunelu. Remote je IPčko igw, kde běží protikus tunelu, local je IP adresa interfacu bridge-wifi. Žádné ip adresy interfacu tunelu není třeba přiřazovat, vystačí si s link-local adresu.
/interface 6to4 name=tunel-gw6 local-address=10.107.53.107 remote-address=10.107.4.1 disabled=no mtu=1480