######################### # # inetRouter # ######################### - hosts: inetRouter become: true tasks: - name: enable forwarding sysctl: name: net.ipv4.ip_forward value: '1' sysctl_set: yes state: present reload: yes - name: get int name to link 1 centralRouter shell: "ip a | grep '^3: ' | awk '{print $2}' | tr -d ':'" register: int_name_link_centralRouter_1 - name: get int name to link 2 centralRouter shell: "ip a | grep '^4: ' | awk '{print $2}' | tr -d ':'" register: int_name_link_centralRouter_2 - name: add bond0 netplan blockinfile: path: /etc/netplan/50-cloud-init.yaml insertafter: ' set-name: enp0s3' block: |2 {{ int_name_link_centralRouter_1.stdout }}: dhcp4: no dhcp6: no {{ int_name_link_centralRouter_2.stdout }}: dhcp4: no dhcp6: no bonds: bond0: interfaces: - {{ int_name_link_centralRouter_1.stdout }} - {{ int_name_link_centralRouter_2.stdout }} addresses: - 192.168.255.1/30 parameters: mode: 802.3ad mii-monitor-interval: 100 lacp-rate: fast transmit-hash-policy: layer2+3 state: present marker: "# {mark} ROUTE ALL OFFICE BLOCK" notify: apply netplan - name: enable promiscuous mode shell: | ip link set {{ int_name_link_centralRouter_1.stdout }} promisc on ip link set {{ int_name_link_centralRouter_2.stdout }} promisc on handlers: - name: apply netplan command: cmd: netplan apply ######################### # # centralRouter # ######################### - hosts: centralRouter become: true tasks: - name: enable forwarding sysctl: name: net.ipv4.ip_forward value: '1' sysctl_set: yes state: present reload: yes - name: get int name to link 1 inetRouter shell: "ip a | grep '^3: ' | awk '{print $2}' | tr -d ':'" register: int_name_link_inetRouter_1 - name: get int name to link 2 inetRouter shell: "ip a | grep '^4: ' | awk '{print $2}' | tr -d ':'" register: int_name_link_inetRouter_2 - name: get int name to link vlan10 shell: "ip a | grep '^5: ' | awk '{print $2}' | tr -d ':'" register: int_name_link_vlan10 - name: get int name to link vlan20 shell: "ip a | grep '^6: ' | awk '{print $2}' | tr -d ':'" register: int_name_link_vlan20 - name: add bond0 and vlan netplan blockinfile: path: /etc/netplan/50-cloud-init.yaml insertafter: ' set-name: enp0s3' block: |2 {{ int_name_link_inetRouter_1.stdout }}: dhcp4: no dhcp6: no {{ int_name_link_inetRouter_2.stdout }}: dhcp4: no dhcp6: no {{ int_name_link_vlan10.stdout }}: dhcp4: no dhcp6: no {{ int_name_link_vlan20.stdout }}: dhcp4: no dhcp6: no bonds: bond0: interfaces: - {{ int_name_link_inetRouter_1.stdout }} - {{ int_name_link_inetRouter_2.stdout }} addresses: - 192.168.255.2/30 parameters: mode: 802.3ad mii-monitor-interval: 100 lacp-rate: fast transmit-hash-policy: layer2+3 vlans: vlan10: id: 10 link: {{ int_name_link_vlan10.stdout }} vlan20: id: 20 link: {{ int_name_link_vlan20.stdout }} state: present notify: apply netplan - name: enable promiscuous mode shell: | ip link set {{ int_name_link_inetRouter_1.stdout }} promisc on ip link set {{ int_name_link_inetRouter_2.stdout }} promisc on handlers: - name: apply netplan command: cmd: netplan apply ######################### # # testServer1 # ######################### - hosts: testServer1 become: true tasks: - name: get int name to link vlan10 shell: "ip a | grep '^3: ' | awk '{print $2}' | tr -d ':'" register: int_name_link_vlan10 - name: add vlan netplan blockinfile: path: /etc/netplan/50-cloud-init.yaml insertafter: ' set-name: enp0s3' block: |2 {{ int_name_link_vlan10.stdout }}: dhcp4: no dhcp6: no vlans: vlan10: id: 10 link: {{ int_name_link_vlan10.stdout }} addresses: - 10.10.10.1/24 state: present notify: apply netplan handlers: - name: apply netplan command: cmd: netplan apply ######################### # # testClient1 # ######################### - hosts: testClient1 become: true tasks: - name: get int name to link vlan10 shell: "ip a | grep '^3: ' | awk '{print $2}' | tr -d ':'" register: int_name_link_vlan10 - name: add vlan netplan blockinfile: path: /etc/netplan/50-cloud-init.yaml insertafter: ' set-name: enp0s3' block: |2 {{ int_name_link_vlan10.stdout }}: dhcp4: no dhcp6: no vlans: vlan10: id: 10 link: {{ int_name_link_vlan10.stdout }} addresses: - 10.10.10.254/24 state: present notify: apply netplan handlers: - name: apply netplan command: cmd: netplan apply ######################### # # testServer2 # ######################### - hosts: testServer2 become: true tasks: - name: get int name to link vlan20 shell: "ip a | grep '^3: ' | awk '{print $2}' | tr -d ':'" register: int_name_link_vlan20 - name: add vlan netplan blockinfile: path: /etc/netplan/50-cloud-init.yaml insertafter: ' set-name: enp0s3' block: |2 {{ int_name_link_vlan20.stdout }}: dhcp4: no dhcp6: no vlans: vlan20: id: 20 link: {{ int_name_link_vlan20.stdout }} addresses: - 10.10.10.1/24 state: present notify: apply netplan handlers: - name: apply netplan command: cmd: netplan apply ######################### # # testClient2 # ######################### - hosts: testClient2 become: true tasks: - name: get int name to link vlan20 shell: "ip a | grep '^3: ' | awk '{print $2}' | tr -d ':'" register: int_name_link_vlan20 - name: add vlan netplan blockinfile: path: /etc/netplan/50-cloud-init.yaml insertafter: ' set-name: enp0s3' block: |2 {{ int_name_link_vlan20.stdout }}: dhcp4: no dhcp6: no vlans: vlan20: id: 20 link: {{ int_name_link_vlan20.stdout }} addresses: - 10.10.10.254/24 state: present notify: apply netplan handlers: - name: apply netplan command: cmd: netplan apply