Добавить ansible.yml
This commit is contained in:
307
ansible.yml
Normal file
307
ansible.yml
Normal file
@@ -0,0 +1,307 @@
|
|||||||
|
#########################
|
||||||
|
#
|
||||||
|
# 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
|
||||||
Reference in New Issue
Block a user