diff --git a/playbook.yml b/playbook.yml index 6b2775d..1d25070 100644 --- a/playbook.yml +++ b/playbook.yml @@ -16,6 +16,7 @@ ansible.builtin.import_tasks: 'tasks/setup.yml' tags: setup + # TODO: add hostname provisioning - name: Network provisioning ansible.builtin.import_tasks: 'tasks/network.yml' tags: network @@ -31,6 +32,7 @@ - name: Personal provisiong when: "'personal' in group_names" block: + # TODO: require (w)lan interfaces before configuring these - name: Wireguard provisioning ansible.builtin.import_tasks: 'tasks/personal/all/wireguard.yml' tags: wireguard diff --git a/tasks/network.yml b/tasks/network.yml index d00a814..26eea9c 100644 --- a/tasks/network.yml +++ b/tasks/network.yml @@ -32,8 +32,10 @@ group: systemd-network mode: '0640' loop: - - src: 'templates/personal/desktop/network/enp.network.j2' - dest: '/etc/systemd/network/20-wired.network' + - src: 'templates/personal/desktop/network/enp1s0.link.j2' + dest: '/etc/systemd/network/20-enp1s0.link' + - src: 'templates/personal/desktop/network/enp1s0.network.j2' + dest: '/etc/systemd/network/20-enp1s0.network' - name: Remove leftover configuration files become: true diff --git a/templates/personal/desktop/network/enp.network.j2 b/templates/personal/desktop/network/enp.network.j2 deleted file mode 100644 index 1cf3fa2..0000000 --- a/templates/personal/desktop/network/enp.network.j2 +++ /dev/null @@ -1,7 +0,0 @@ -[Match] -# TODO: replace with MACAddress directive -Name=enp* - -[Network] -DHCP=true -RequiredForOnline=true diff --git a/templates/personal/desktop/network/enp1s0.link.j2 b/templates/personal/desktop/network/enp1s0.link.j2 new file mode 100644 index 0000000..f44ef77 --- /dev/null +++ b/templates/personal/desktop/network/enp1s0.link.j2 @@ -0,0 +1,7 @@ +# {{ ansible_managed }} + +[Match] +MACAddress=00:d8:61:9f:52:65 + +[Link] +Name=enp1s0 diff --git a/templates/personal/desktop/network/enp1s0.network.j2 b/templates/personal/desktop/network/enp1s0.network.j2 new file mode 100644 index 0000000..7ff6687 --- /dev/null +++ b/templates/personal/desktop/network/enp1s0.network.j2 @@ -0,0 +1,11 @@ +[Match] +Name=enp1s0 + +[Network] +DHCP=false +Address=192.168.2.15/24 +DNS=192.168.2.254 +Gateway=192.168.2.254 + +[Link] +RequiredForOnline=true diff --git a/templates/personal/desktop/network/wg1.network.j2 b/templates/personal/desktop/network/wg1.network.j2 index 40d3650..5ea0ce9 100644 --- a/templates/personal/desktop/network/wg1.network.j2 +++ b/templates/personal/desktop/network/wg1.network.j2 @@ -7,13 +7,3 @@ Name={{ vpn_media.interface }} Address={{ vpn_media.ip }}/{{ vpn_media.prefix }} DNS={{ vpn_media.dns }} Domains={{ vpn_media.domains | join(' ') }} - -{% for peer in vpn_media.peers %} -{% for ip in peer.allowed_ips %} -{% if ip.create_route %} -[Route] -Destination={{ ip.address }} -Scope=link -{% endif %} -{% endfor %} -{% endfor %} diff --git a/templates/personal/xps/network/wg1.network.j2 b/templates/personal/xps/network/wg1.network.j2 index 40d3650..5ea0ce9 100644 --- a/templates/personal/xps/network/wg1.network.j2 +++ b/templates/personal/xps/network/wg1.network.j2 @@ -7,13 +7,3 @@ Name={{ vpn_media.interface }} Address={{ vpn_media.ip }}/{{ vpn_media.prefix }} DNS={{ vpn_media.dns }} Domains={{ vpn_media.domains | join(' ') }} - -{% for peer in vpn_media.peers %} -{% for ip in peer.allowed_ips %} -{% if ip.create_route %} -[Route] -Destination={{ ip.address }} -Scope=link -{% endif %} -{% endfor %} -{% endfor %}