Go to file
2023-09-30 21:11:10 +03:00
defaults add network 2021-10-27 00:34:13 +03:00
handlers update 2023-09-24 03:48:12 +03:00
meta use yaml as extention instead of yml 2022-01-26 17:33:39 +03:00
tasks update 2023-09-24 03:48:12 +03:00
templates add network 2021-10-27 00:34:13 +03:00
.gitignore update 2021-10-27 17:08:42 +03:00
README.md fix readme 2023-09-30 21:11:10 +03:00

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

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"