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

1.9 KiB

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"