Die Rolle verwaltet sämtliche Netzwerkkonfigurationen. Es wird eingeteilt in:
Seit OpenWrt 21.02 hat sich die Konfiguration von Netzwerkgeräten geändert.
Global kann man einen IPv6 Unique Local Adress Prefix und das Packet Steering (de)aktivieren.
openwrt_network_globals_ula: "fd8d:2afe:fa38::/48"
openwrt_network_globals_packet_steering: 1
Devices sind die Referenz auf physische Geräte und werden wie folgt konfiguriert. Für eine Liste der verfügbaren Konfigurationsparameter siehe OpenWrt Doku. Die OpenWrt Doku für die DSA config ist noch nicht vollständig.
Hier eine Liste der vorhandenen Parameter:
Bridge Parameter:
openwrt_network_devices:
br-lan:
type: "bridge"
ports:
- "eth0"
mtu: "9000"
mtu6: "9000"
eth1:
eth2:
mtu: "9000"
mtu6: "9000"
openwrt_network_devices:
mainbridge:
type: "bridge"
bridge_empty: "1"
vlan_filtering: "1"
ports:
- "eth0"
- "eth1"
- "eth2"
- "eth3"
Um die VLAN Zuordnungen durchzuführen nutzt man die openwrt_network_bridge_vlan Variable:
openwrt_network_bridge_vlan:
- device: "mainbridge"
vlan: "5"
vlaninfo: "Netz1"
ports:
- "eth3:t"
- "eth0:u*"
- device: "mainbridge"
vlan: "12"
vlaninfo: "Freifunk Guests"
ports:
- "eth3:t"
- "eth1:u*"
- device: "mainbridge"
vlan: "13"
vlaninfo: "DMZ"
ports:
- "eth3:t"
- device: "mainbridge"
vlan: "61"
vlaninfo: "Drucker"
ports:
- "eth3:t"
- "eth2:u*"
- device: "mainbridge"
vlan: "62"
vlaninfo: "Management"
ports:
- "eth3:t"
- device: "mainbridge"
vlan: "63"
vlaninfo: "kids"
ports:
- "eth3:t"
openwrt_network_devices:
eth3.5:
type: "8021q"
vid: 5
vlaninfo: "insecure network"
ifname: "eth3"
Interfaces dienen zur IP Konfiguration und stellen eine Referenz zum darunterliegenden Device her.
Für eine Übersicht der möglichen Parameter dient das OpenWrt Wiki.
openwrt_network_interfaces:
MGMT:
device: "mainbridge.62"
proto: "dhcp"
MGMT6:
device: "@MGMT"
proto: "dhcpv6"
reqaddress: "try"
reqprefix: "auto"
INSECURE:
device: "mainbridge.5"
proto: "none"
SECURE:
device: "mainbridge.61"
proto: "none"
openwrt_network_interfaces:
wan:
device: "eth0"
proto: "static"
ipaddr:
- "1.2.3.4/28"
- "1.244.24.2/32"
gateway: "1.2.3.5"
ip6addr:
- "2a1a:1220:1:4f::4/64"
- "2a01:fef0:1234:4f::b1b1/128"
ip6gw: "2a1a:1220:1:4f::1"
dns:
- "2ae0:3fe1::2
- "2ae0:3fe1::3"
dnssearch:
- "libcom.de"
openwrt_network_interfaces:
loopback0:
device: "@loopback"
proto: "static"
ip6addr:
- "2a00:fe0:3f:4::1/128"
wan:
device: "eth0"
proto: "pppoe"
username: "PPPOE_username"
password: "ASDF1234"
wan6:
device: "@wan"
proto: "dhcpv6"
reqaddress: "try"
reqprefix: 48
Die Ansible Rolle unterstützt die Konfiguration von Wireguard Schnittstellen. Wireguard Scnittstellen sind in OpenWrt jedoch normale Interfaces, die auch einer Firewall Zone zugeordnet werden sollten.
Beispiel für ein Wireguard Interface:
openwrt_network_interfaces:
ROADWARRIOR:
proto: "wireguard"
wg_private_key: "theserversprivatekey"
wg_listen_port: 51821
wg_peerdns: 0
wg_addresses:
- "10.10.100.97/27"
- "2a00:123:456:22::1/64"
Liste der Parameter:
Beispiel für ein Wireguard Peer:
openwrt_network_wireguardpeers:
peername:
interface: "ROADWARRIOR"
public_key: "thepeerspublickey"
preshared_key: "thepresharedkey"
allowed_ips:
- "2a00:123:688:11::2/128"
- "10.10.100.2/32"
Die Angabe für das Interface muss dem wireguard Interfacenamen aus openwrt_network_interfaces
entsprechen um eine Zuordnung zwischen Interface und Peer herzustellen.