# Idempotent ansible role for network Configure interfaces and pbr for RedHat and Debian based distros Supported OS with Network Manager: - Rocky Linux 8/9 - AlmaLinux 8/9 - CentOS 7 - Debian 11/12 - Ubuntu 20.04/22.04/24.04 Limited support for network-scripts available for CentOS 7. Supported interface types for network-scripts: - ethernet (default) - loopback Examples:
IPs and PBR with Network Manager network: network_manager: iface: - conn_name: ens256 ip4: - "100.127.2.2/29" routes4: - 0.0.0.0/0 100.127.2.6 table=200 - 100.127.2.0/29 100.127.2.2 table=200 - conn_name: dummy0 type: dummy ip4: - "18.12.3.1/32" routing_rules4: - priority 5 from 18.12.3.1 table 200
Simple policy base routing with Network Manager network: network_manager: iface: - conn_name: 'System eth1' routes4: - 0.0.0.0/0 192.168.78.1 table=400 routing_rules4: - priority 10 from {{ ansible_eth1.ipv4.address }} table 400 - priority 10 from 192.168.78.251 table 400
IPs and PBR with network-scripts network: network_scripts: iface: - name: ens256 ip: - ipaddr: "100.127.2.2" prefix: "29" - name: lo type: loopback ip: - ipaddr: "18.12.3.1" prefix: "32" route: - default table 200 via 100.127.2.6 - 100.127.2.0/29 table 200 via 100.127.2.2 rule: - from 18.12.3.1 table 200 pbr: table: - number: 200 name: "prod"