Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 34 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -632,7 +632,20 @@ The IP configuration supports the following options:
source IP address for a route. `table` supports both the numeric table and named
table. In order to specify the named table, the users have to ensure the named table
is properly defined in `/etc/iproute2/rt_tables` or
`/etc/iproute2/rt_tables.d/*.conf`. The optional `type` key supports the values
`/etc/iproute2/rt_tables.d/*.conf` .The network role does not create these routing table entries automatically.
You can use the `ansible.builtin.lineinfile` module in your playbook to
define the named tables before applying the network role:
```yaml
- name: Ensure custom routing tables are defined
ansible.builtin.copy:
dest: /etc/iproute2/rt_tables.d/{{ item.name }}.conf
content: "{{ item.table_id }}\t{{ item.name }}\n"
loop:
- { table_id: 100, name: mytable1 }
- { table_id: 101, name: mytable2 }
become: true
```
The optional `type` key supports the values
`blackhole`, `prohibit`, and `unreachable`.
See [man 8 ip-route](https://man7.org/linux/man-pages/man8/ip-route.8.html#DESCRIPTION)
for their definition. Routes with these types do not support a gateway. If the type
Expand Down Expand Up @@ -684,7 +697,20 @@ The IP configuration supports the following options:
The route table to look up for the `to-table` action. `table` supports both the
numeric table and named table. In order to specify the named table, the users
have to ensure the named table is properly defined in `/etc/iproute2/rt_tables`
or `/etc/iproute2/rt_tables.d/*.conf`.
or `/etc/iproute2/rt_tables.d/*.conf` .
The network role does not create these routing table entries automatically.
You can use the `ansible.builtin.lineinfile` module in your playbook to
define the named tables before applying the network role:
```yaml
- name: Ensure custom routing tables are defined
ansible.builtin.copy:
dest: /etc/iproute2/rt_tables.d/{{ item.name }}.conf
content: "{{ item.table_id }}\t{{ item.name }}\n"
loop:
- { table_id: 100, name: mytable1 }
- { table_id: 101, name: mytable2 }
become: true
```
- `to` -
The destination address of the packet to match (e.g. `192.168.100.58/24`).
- `tos` -
Expand Down Expand Up @@ -1504,6 +1530,12 @@ In general, to successfully run the play, determine which configuration is
active in the first place, and then carefully configure a sequence of steps to change to
the new configuration. The actual solution depends strongly on your environment.

Routing rules and named routing tables are not supported when using the
`initscripts` provider. If `network_provider: initscripts` is set, any
`routing_rule` entries and named `table` references in `route` will be
silently ignored. Use `network_provider: nm` (NetworkManager) for routing
rule support.

### Handling potential problems

When something goes wrong while configuring networking remotely, you might need
Expand Down