Files
homework37/ansible.yml
2026-04-07 11:09:37 +03:00

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