Добавить 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