diff --git a/update-default-route.yml b/update-default-route.yml new file mode 100644 index 0000000..9b02ae9 --- /dev/null +++ b/update-default-route.yml @@ -0,0 +1,28 @@ +--- +- name: Update default gateway + hosts: proxmox_nodes + become: true + vars: + new_gateway: "{{ gateway_ip }}" + + tasks: + - name: Validate gateway format + assert: + that: + - new_gateway is match("^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$") + fail_msg: "Invalid IPv4 address provided." + + - name: Replace gateway line in interfaces file + lineinfile: + path: /etc/network/interfaces + regexp: '^(\s*)gateway\s+' + line: " gateway {{ new_gateway }}" + backrefs: yes + + - name: Apply new default route immediately + command: ip route replace default via {{ new_gateway }} + + - name: Restart networking + systemd: + name: networking + state: restarted \ No newline at end of file