7 - name: Install tcpdump, grepcidr
17 - include_vars: "{{ ConfigFileName }}"
18 - debug: var="trafficpresence"
19 failed_when: "'trafficpresence' is not defined"
21 - name: Get all Interfaces
23 interfaces: "{{destinations[0].vservers | map(attribute='l-interfaces') | list}}"
24 - name: Interfaces vserver 1
26 vserver1_interfaces: "{{destinations[0].vservers[0]['l-interfaces'] | list}}"
27 - name: Interfaces vserver 2
29 vserver2_interfaces: "{{destinations[0].vservers[1]['l-interfaces'] | list}}"
31 - name: length interfaces vserver1
33 length1: "{{ vserver1_interfaces |length }}"
34 - name: length interfaces vserver2
36 length2: "{{ vserver2_interfaces |length }}"
38 - name: adress 1 vserver
41 - "{{destinations[0].vservers[0]['l-interfaces'][0]['ipv4-addresses'][0]}}"
42 - "{{destinations[0].vservers[0]['l-interfaces'][1]['ipv4-addresses'][0]}}"
43 - "{{destinations[0].vservers[0]['l-interfaces'][2]['ipv4-addresses'][0]}}"
44 - name: adress 2 vserver
47 - "{{destinations[0].vservers[1]['l-interfaces'][0]['ipv4-addresses'][0]}}"
48 - "{{destinations[0].vservers[1]['l-interfaces'][1]['ipv4-addresses'][0]}}"
49 - "{{destinations[0].vservers[1]['l-interfaces'][2]['ipv4-addresses'][0]}}"
50 - "{{destinations[0].vservers[1]['l-interfaces'][3]['ipv4-addresses'][0]}}"
55 - name: adress 1 vserver
58 - "{{destinations[0].vservers[0]['l-interfaces'][0]['ipv4-addresses'][0]}}"
59 - "{{destinations[0].vservers[0]['l-interfaces'][1]['ipv4-addresses'][0]}}"
60 - "{{destinations[0].vservers[0]['l-interfaces'][2]['ipv4-addresses'][0]}}"
61 - "{{destinations[0].vservers[0]['l-interfaces'][3]['ipv4-addresses'][0]}}"
62 - name: adress 2 vserver
65 - "{{destinations[0].vservers[1]['l-interfaces'][0]['ipv4-addresses'][0]}}"
66 - "{{destinations[0].vservers[1]['l-interfaces'][1]['ipv4-addresses'][0]}}"
67 - "{{destinations[0].vservers[1]['l-interfaces'][2]['ipv4-addresses'][0]}}"
72 - name: Concatenate sink_addresses
74 sink_addresses_conc: "{{ sink_addresses | join('\n') }}"
76 - name: Get sink IP fom json
77 shell: printf "{{ sink_addresses_conc }}" | grepcidr -f /opt/config/protected_net_cidr.txt
80 - debug: var=sink_ip.stdout
82 - name: Find interface name
84 cat /etc/network/interfaces | grep 255.255.255.0 -B2 | grep iface | awk '{print $2}'
85 register: interface_name
87 - name: Interface name
88 debug: msg='interface_name {{ interface_name.stdout }}'
90 - name: Traffic check if trafficpresence is TRUE
91 when: trafficpresence == true
93 - name: Traffic check if trafficpresence is TRUE
98 sudo timeout 2 tcpdump -i {{ interface_name.stdout }} dst {{ sink_ip.stdout }} -c 10 > /dev/null 2>&1
100 if [ $timeout_result == 0 ] ; then
101 echo 'traffic present'
105 if [ $timeout_result == 124 ] ; then
106 echo 'traffic absent'
107 elif [ $timeout_result != 0 ] ; then
111 register: traffic_check
114 msg: 'traffic absent {{ traffic_check.stdout_lines }} '
115 when: traffic_check.rc == 124
116 failed_when: traffic_check.rc == 124
118 msg: 'traffic present {{ traffic_check.stdout_lines }} '
119 when: traffic_check.rc == 0
121 - name: Traffic check if trafficpresence is FALSE
122 when: trafficpresence == false
124 - name: Traffic check trafficpresence is FALSE
129 sudo timeout 10 tcpdump -i {{ interface_name.stdout }} dst {{ sink_ip.stdout }} -c 1 > /dev/null 2>&1
131 if [ $timeout_result == 124 ] ; then
132 echo 'traffic absent'
136 if [ $timeout_result == 0 ] ; then
137 echo 'traffic present'
138 elif [ $timeout_result != 124 ] ; then
142 register: traffic_check
145 msg: 'traffic absent {{ traffic_check.stdout_lines }} traffic_check.rc {{ traffic_check.rc }}'
146 when: traffic_check.rc == 124
148 msg: 'traffic present {{ traffic_check.stdout_lines }} traffic_check.rc {{ traffic_check.rc }}'
149 when: traffic_check.rc == 0
150 failed_when: traffic_check.rc == 0