--- - name: IP von DHCP auf Static ändern basierend auf individuellen envs Dateien hosts: debian become: yes vars: interface_name: 'Wired\ connection\ 1' tasks: - name: Zeige den Wert der Variable an debug: var: interface_name - name: Überprüfe, ob NetworkManager installiert ist command: dpkg-query -l network-manager register: dpkg_query_result ignore_errors: yes - name: Setze statische IP wenn NetworkManager installiert ist block: - name: Deaktiviere DHCP im NetworkManager command: "nmcli connection modify {{ interface_name }} ipv4.method manual ipv4.addresses '{{ static_ip }}/{{ netmask | ipaddr('prefix') }}' ipv4.gateway '{{ gateway }}' ipv4.dns '{{ dns_servers | join(',') }}'" - name: Starte NetworkManager neu service: name: NetworkManager state: restarted - debug: msg: "{{ netmask | ipaddr('prefix') }}" when: dpkg_query_result.rc == 0 - name: Setze statische IP wenn NetworkManager NICHT installiert ist block: - name: Sichere die aktuelle Netzwerkkonfiguration copy: src: /etc/network/interfaces dest: /etc/network/interfaces.backup - name: Setze statische IP in /etc/network/interfaces blockinfile: path: /etc/network/interfaces block: | iface {{ interface_name }} inet static address {{ static_ip }} netmask {{ netmask }} gateway {{ gateway }} dns-nameservers {{ dns_servers | join(' ') }} - name: Starte Netzwerk neu command: systemctl restart networking when: dpkg_query_result.rc != 0