Add host bridge and vlans setup via template
This commit is contained in:
@@ -1,45 +1,24 @@
|
|||||||
---
|
---
|
||||||
- name: Configure systemd-networkd bridge
|
- name: Configure systemd-networkd with templates
|
||||||
hosts: all
|
hosts: all
|
||||||
become: true
|
become: true
|
||||||
|
vars:
|
||||||
|
network_interface: "enp2s0"
|
||||||
|
bridge_name: "br0"
|
||||||
|
vlans: [30, 60]
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
- name: Create network configuration files
|
- name: Deploy network configuration templates
|
||||||
copy:
|
template:
|
||||||
dest: "/etc/systemd/network/{{ item.file }}"
|
src: "templates/{{ item.src }}"
|
||||||
content: "{{ item.content }}"
|
dest: "/etc/systemd/network/{{ item.dest }}"
|
||||||
owner: root
|
owner: root
|
||||||
group: systemd-network
|
group: systemd-network
|
||||||
mode: '0644'
|
mode: '0644'
|
||||||
loop:
|
loop:
|
||||||
- file: "20-br0.netdev"
|
- { src: '20-br0.netdev.j2', dest: '20-br0.netdev' }
|
||||||
content: |
|
- { src: '25-br0-bind.network.j2', dest: '25-br0-bind.network' }
|
||||||
[NetDev]
|
- { src: '30-br0-setup.network.j2', dest: '30-br0-setup.network' }
|
||||||
Name=br0
|
|
||||||
Kind=bridge
|
|
||||||
|
|
||||||
[Bridge]
|
|
||||||
VLANFiltering=yes
|
|
||||||
|
|
||||||
- file: "25-br0-bind.network"
|
|
||||||
content: |
|
|
||||||
[Match]
|
|
||||||
Name=enp2s0
|
|
||||||
|
|
||||||
[Network]
|
|
||||||
Bridge=br0
|
|
||||||
|
|
||||||
[BridgeVLAN]
|
|
||||||
VLAN=30
|
|
||||||
[BridgeVLAN]
|
|
||||||
VLAN=60
|
|
||||||
|
|
||||||
- file: "30-br0-setup.network"
|
|
||||||
content: |
|
|
||||||
[Match]
|
|
||||||
Name=br0
|
|
||||||
|
|
||||||
[Network]
|
|
||||||
DHCP=ipv4
|
|
||||||
notify: restart networkd
|
notify: restart networkd
|
||||||
|
|
||||||
handlers:
|
handlers:
|
||||||
@@ -47,4 +26,3 @@
|
|||||||
systemd:
|
systemd:
|
||||||
name: systemd-networkd
|
name: systemd-networkd
|
||||||
state: restarted
|
state: restarted
|
||||||
enabled: true
|
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
[Match]
|
||||||
|
Name={{ network_interface }}
|
||||||
|
|
||||||
|
[Network]
|
||||||
|
Bridge={{ bridge_name }}
|
||||||
|
|
||||||
|
{% for vlan in vlans %}
|
||||||
|
[BridgeVLAN]
|
||||||
|
VLAN={{ vlan }}
|
||||||
|
{% endfor %}
|
||||||
Reference in New Issue
Block a user