307 lines
8.1 KiB
YAML
307 lines
8.1 KiB
YAML
#########################
|
|
#
|
|
# 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 |