Zo lastig is het nu ook weer niet

En AFAIK moet je bij (nieuwere) OpenWRT versies ook al met nft / nftables werken? Dus dat blijft dan hetzelfde.
En v.w.b. systemd-networkd. Even wat voorzetjes:
Ten eerste fix ik dat mijn interfaces een vaste naam hebben.
80-wan.link
INI:
1
2
3
4
5
6
| [Match]
Type=ether
PermanentMACAddress=<MAC van interface>
[Link]
Name=wan |
80-lan.link
INI:
1
2
3
4
5
6
| [Match]
Type=ether
PermanentMACAddress=<MAC van andere interface
[Link]
Name=lan |
Deze bestanden
moeten beginnen met een nummer (kleiner dan 99 meen ik, voor 99-default.link), en worden ingebakken in het initramfs image (zodat het wordt toegepast tijdens (early) boot), dus daarna moet je initramfs opnieuw genereren.
Vervolgens de WAN config:
wan.network
INI:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| [Match]
Name=wan
[Network]
LinkLocalAddressing=ipv6
IPv6AcceptRA=yes
DHCP=yes
IPForward=yes
[DHCPv4]
Hostname=router
UseHostname=no
UseDNS=no
UseNTP=no
UseSIP=no
UseRoutes=no
UseGateway=yes
[IPv6AcceptRA]
UseDNS=no
DHCPv6Client=yes
[DHCPv6]
UseHostname=no
UseDNS=no
UseNTP=no |
En dan LAN (untagged dus)
lan.network
INI:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
| [Match]
Name=lan
[Network]
LinkLocalAddressing=ipv6
IPv6AcceptRA=no
IPv6SendRA=yes
DHCPv6PrefixDelegation=yes
DHCPServer=yes
VLAN=prive
<VLAN=...>
[Address]
Address=192.168.1.1/24
[DHCPServer]
PoolOffset=100
PoolSize=100
EmitDNS=yes
DNS=192.168.1.1 192.168.1.53
[IPv6SendRA]
EmitDNS=yes
DNS=fd00:1::1 fd00:1::53
EmitDomains=no
[DHCPv6PrefixDelegation]
SubnetId=0x01
# Gebruik een additioneel subnet "intern". Als de IPv6 prefix veranderd blijft dit tenminste constant
[IPv6Prefix]
Prefix=fd00:1::/64
Assign=true
Token=::1 |
En vervolgens per VLAN (zie ook
VLAN=<naam> in
lan.network, dit is essentiele koppeling):
prive.netdev
INI:
1
2
3
4
5
6
| [NetDev]
Name=prive
Kind=vlan
[VLAN]
Id=10 |
prive.network
INI:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
| [Match]
Name=prive
[Network]
LinkLocalAddressing=ipv6
IPv6AcceptRA=no
IPv6SendRA=yes
DHCPv6PrefixDelegation=yes
DHCPServer=yes
[Address]
Address=192.168.10.1/24
[DHCPServer]
PoolOffset=100
PoolSize=100
EmitDNS=yes
DNS=192.168.10.1 192.168.10.53
[IPv6SendRA]
EmitDNS=yes
DNS=fd00:10:1::53
EmitDomains=no
[DHCPv6PrefixDelegation]
SubnetId=0x10
[IPv6Prefix]
Prefix=fd00:10::/64
Assign=true
Token=::1
[IPv6RoutePrefix]
Route=fd00:10:1::/64 |
V.w.b IPv6 heb ik mij laten "inspireren" door:
https://blog.g3rt.nl/syst...pv6-pd-configuration.html (en daar komen ook al die
Use... configs in de wan.network vandaan

).
Overigens heb ik "vage" stuff waarbij (bepaalde) Docker netwerken een rechtstreeks bereikbaar IPv6 subnet hebben (fd00:<vlan id>:<docker host nummertje>::/64) en daarvoor ook weer een route gepubliceerd wordt er maar uit gelaten

Want dat maakt het natuurlijk "complexer" dan nodig voor het voorbeeld (incl de router die ineens router advertisements moet accepteren van andere hosts

). En dan nog wat stuff waarbij ik ook weer additionele routing tabellen heb etc etc.
En als er nog gegadigden zijn voor voorbeeld van Wireguard "server" of "client", ook die heb ik beiden er in zitten

. Dus ook die kan ik aanleveren.