Zapnout IPv6 a forwarding
Poeditovat sysctl.conf
root@DB2-router1-debian12:~# 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@DB2-router1-debian12:~# sysctl net.ipv6.conf.all.forwarding=1 |
Kontrola (musí tam bejt 1)
root@DB2-router1-debian12:~# 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) |
|---|
source /etc/network/interfaces.d/*
# 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-DB2, router 1, tady jsou pripojenci
auto enp0s9
iface enp0s9 inet static
address 10.107.185.1/26 |
| source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
iface lo inet6 static
address 2a01:16d:b210::/64
# Spoj -> PMV, uplink
auto enp0s8
iface enp0s8 inet static
address 10.107.99.130/30
# AP Oblast-DB2, router 1, tady jsou pripojenci
auto enp0s9
iface enp0s9 inet static
address 10.107.185.1/26 |
|
Shodit a nahodit interface (bacha na ostrý síti!)
root@DB2-router1-debian12:~# ifdown lo; ifup lo |
Kontrola
root@DB2-router1-debian12:~# ip address show |
root@DB2-router1-debian12:~# ping6 2a01:16d:b210:: |
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/frr/daemons.conf
/etc/frr/frr.conf
| před (pouze IPv4) | po (oboje IPv4 a IPv6) |
|---|
!
! Vzorovy router, oblast DB2, router 1
!
hostname DB2-router1-debian12
log syslog informational
frr defaults traditional
password free
enable password q7823yfbksldmf872fwfigu3ef97
! Verejky IPv4
ip route 89.200.202.0/28 eth0
interface enp0s8
description Spoj -> PMV, uplink
ip ospf cost 10
ip ospf hello-interval 2
ip ospf dead-interval 6
router ospf
ospf router-id 10.107.185.1
redistribute static
|
| !
! Vzorovy router, oblast DB2, router 1
!
hostname DB2-router1-debian12
log syslog informational
frr defaults traditional
password free
enable password q7823yfbksldmf872fwfigu3ef97
! Verejky IPv4
ip route 89.200.202.0/28 eth0
! IPv6: Agregovana routa pro cely tento router (jde ven pres OSPF)
ipv6 route 2a01:16d:b210::/44 blackhole
interface enp0s8
description Spoj -> PMV, uplink
ip ospf cost 10
ip ospf hello-interval 2
ip ospf dead-interval 6
ipv6 ospf6 area 0.0.0.0
ipv6 ospf6 cost 10
ipv6 ospf6 hello-interval 2
ipv6 ospf6 dead-interval 6
ipv6 ospf6 network point-to-point
router ospf
ospf router-id 10.107.185.1
redistribute static
network 10.107.99.134/30 area 0.0.0.0
router ospf6
ospf6 router-id 10.107.185.1
redistribute static route-map JEN-VELKY-SUBNETY
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
|
|
Kontrola na chybu v konfiguraci
root@DB2-router1-debian12:~# vtysh -C
root@DB2-router1-debian12:~# |
žádnej výstup → je to OK
Restart FRR
root@DB2-router1-debian12:~# systemctl restart frr |
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ý)