Než začneme
Nainstalovat balíček quagga-ospf6d
root@debian10a:~# apt install quagga-ospf6d
Zapnout IPv6 a forwarding
Poeditovat sysctl.conf
root@debian10a:~# nano /etc/sysctl.conf
Najít net.ipv6.conf.all.forwarding
a nastavit 1
. (projeví se po rebootu)
# Uncomment the next line to enable packet forwarding for IPv6 # Enabling this option disables Stateless Address Autoconfiguration # based on Router Advertisements for this host net.ipv6.conf.all.forwarding=1
Spustit sysctl (projeví se hned)
root@debian10a:~# sysctl net.ipv6.conf.all.forwarding=1
Kontrola (musí tam bejt 1)
root@debian10a:~# sysctl net.ipv6.conf.all.forwarding net.ipv6.conf.all.forwarding = 1
Nastavit vlastní adresu pro router
Poeditovat /etc/network/interfaces
před (pouze IPv4) | po (oboje IPv4 a IPv6) |
---|---|
# The loopback network interface auto lo iface lo inet loopback # Spoj -> PMV, uplink auto enp0s8 iface enp0s8 inet static address 10.107.99.130/30 # AP Oblast-DB1, router 1, tady jsou pripojenci auto enp0s9 iface enp0s9 inet static address 10.107.184.1/26 | # The loopback network interface auto lo iface lo inet loopback # Spoj -> PMV, uplink auto enp0s8 iface enp0s8 inet static address 10.107.99.130/30 # tady nepotřebuješ inet6, stačí ti link-local adresa (fe80::) # AP Oblast-DB1, router 1, tady jsou pripojenci auto enp0s9 iface enp0s9 inet static address 10.107.184.1/26 iface enp0s9 inet6 static address 2a01:16d:b110::/64 |
Shodit a nahodit interface (bacha na ostrý síti!)
root@debian10a:~# ifdown enp0s9; ifup enp0s9
Kontrola
root@debian10a:~# ip address show
Routování - co budeme šířit ven?
Zadat 1x agregovanou routu pro tento router. Velikost bude mezi /40 - /48, záleží na správci. Doporučuju /44.
/etc/quagga/zebra.conf
před (pouze IPv4) | po (oboje IPv4 a IPv6) |
---|---|
! ! Vzorovy router, oblast DB1, router 1 ! hostname oblastDB1-router1 password free enable password ch80hv7836so20dh235f ip route 224.0.0.5/32 127.0.0.1 ip route 224.0.0.6/32 127.0.0.1 ! Verejky IPv4 ip route 89.200.200.16/28 eth0 ip forwarding | ! ! Vzorovy router, oblast DB1, router 1 ! hostname oblastDB1-router1 password free enable password ch80hv7836so20dh235f ip route 224.0.0.5/32 127.0.0.1 ip route 224.0.0.6/32 127.0.0.1 ! Verejky IPv4 ip route 89.200.200.16/28 eth0 ! IPv6: Agregovana routa pro cely tento router (jde ven pres OSPF) ipv6 route 2a01:16d:b110::/44 lo ip forwarding ipv6 forwarding |
/etc/quagga/ospf6d.conf
! ! Vzorovy router, oblast DB1, router 1 ! hostname oblastDB1-router1 password free enable password ch80hv7836so20dh235f interface enp0s8 description Spoj -> PMV, uplink ipv6 ospf6 cost 10 ipv6 ospf6 hello-interval 2 ipv6 ospf6 dead-interval 6 ipv6 ospf6 network point-to-point router ospf6 router-id 10.107.184.1 redistribute static route-map JEN-VELKY-SUBNETY interface enp0s8 area 0.0.0.0 route-map JEN-VELKY-SUBNETY permit 10 match ipv6 address prefix-list velikost-40-az-48 ipv6 prefix-list velikost-40-az-48 seq 5 permit 2a01:168::/29 ge 40 le 48
Adresy pro připojence
Rozvaha
Ze subnetu 2a01:16d:b110::/44 (oblast DB1, router 1) si ukrojíme 2a01:16d:b110::/48 (oblast DB1, router 1, interface enp0s9).
Tento menší subnet rozdělíme na
- 2a01:16d:b110:0000::/56 - pro WAN
- z toho jednu /64 pro "spojovací" síť, jednotlivé adresy na WAN interfacech připojenců
- viz co jsme nastavili na enp0s9
- 2a01:16d:b110:0100::/56 - pro připojence UID2345
- 2a01:16d:b110:0200::/56 - pro připojence UID2346
- 2a01:16d:b110:0300::/56 - pro připojence UID2347
- 2a01:16d:b110:0400::/56 - pro připojence UID2348
připojenec | jedna adresa pro WAN interface | routovaný "/56" subnet | |
---|---|---|---|
UID2345 | 2a01:16d:b110::01/64 | 2a01:16d:b110:0100::/56 | |
UID2346 | 2a01:16d:b110::02/64 | 2a01:16d:b110:0200::/56 | |
UID2347 | 2a01:16d:b110::03/64 | 2a01:16d:b110:0300::/56 | |
UID2348 | 2a01:16d:b110::04/64 | 2a01:16d:b110:0400::/56 |
DHCPv6 server
Použijeme ne úplně mainstreamový dhcpy6d. Proč ne "běžné" DHCP servery? Protože chceme stejně jako v DHCPv4 indentifikovat klienty podle MAC adres. To v principu DHCPv6 neumí (umí pouze DUID). Tento dhcpy6d je jediný soft kde jsou MAC adresy (v rozporu s RFC) spolehlivě funkční (na Linuxu).
Běžné DHCPv6 servery:
dhcp6s - umí pouze DUID, neumí MAC
ISC DHCP - umí pouze DUID, navíc discontinued as of 2022
ISC Kea - pouze DUID, teoreticky umí MAC, prakticky špatně/nepoužitelně (mac-source metoda "raw" je popsaná ale není implementovaná, ostatní metody nespolehlivý)