Files
network/README.md
2025-06-30 02:44:36 +03:00

94 lines
2.2 KiB
Markdown

# Idempotent ansible role for network
Configure interfaces and pbr for RedHat and Debian based distros
Supported OS with Network Manager:
- Rocky Linux 8/9/10
- AlmaLinux 8/9/10
- 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:
<details>
<summary>Loopback IP with Network Manager</summary>
network:
network_manager:
iface:
- conn_name: lo
type: loopback
autoconnect: false
ip4:
- "127.0.0.1/8"
- "10.127.1.1/32"
</details>
<details>
<summary>IPs and PBR with Network Manager</summary>
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
</details>
<details>
<summary>Simple policy base routing with Network Manager</summary>
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
</details>
<details>
<summary>IPs and PBR with network-scripts</summary>
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"
</details>