network/README.md
2024-05-16 18:10:10 +03:00

79 lines
1.9 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
- 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:
<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>