@@ -82,34 +82,34 @@ Pass Example
8282 > 🛈 ROUTER: Packet inbound-route: 172.17.0.0/16, scope link
8383 > 🛈 FIREWALL: Processing Chain: Table nat ip4 | Chain PREROUTING ip4 nat
8484 > 🛈 FIREWALL: > Chain PREROUTING | Rule 0 | Match => jump
85- > 🛈 FIREWALL: > Chain PREROUTING | Sub-Chain: DOCKER
85+ > 🛈 FIREWALL: > Chain PREROUTING | Sub-Chain: DOCKER (2 rules)
8686 > 🛈 FIREWALL: > Chain DOCKER | Rule 0 | Match => return
8787 > 🛈 ROUTER: Packet outbound-interface: wan
88- > 🛈 ROUTER: Packet outbound-route: 0.0.0.0/0, gw 10.255.255.254, metric 600, scope remote
88+ > 🛈 ROUTER: Packet outbound-route: 0.0.0.0/0, gw 10.255.255.254, metric 600, scope global
8989 > 🛈 FIREWALL: Processing Chain: Table filter ip4 | Chain FORWARD ip4 filter
9090 > 🛈 FIREWALL: > Chain FORWARD | Rule 0 | Match => jump
91- > 🛈 FIREWALL: > Chain FORWARD | Sub-Chain: DOCKER-USER
91+ > 🛈 FIREWALL: > Chain FORWARD | Sub-Chain: DOCKER-USER (1 rules)
9292 > 🛈 FIREWALL: > Chain DOCKER-USER | Rule 0 | Match => return
9393 > 🛈 FIREWALL: > Chain FORWARD | Rule 1
9494 > 🛈 FIREWALL: > Chain FORWARD | Rule 2
9595 > 🛈 FIREWALL: > Chain FORWARD | Rule 3
9696 > 🛈 FIREWALL: > Chain FORWARD | Rule 4 | Match => jump
97- > 🛈 FIREWALL: > Chain FORWARD | Sub-Chain: DOCKER-FORWARD
97+ > 🛈 FIREWALL: > Chain FORWARD | Sub-Chain: DOCKER-FORWARD (4 rules)
9898 > 🛈 FIREWALL: > Chain DOCKER-FORWARD | Rule 0 | Match => jump
99- > 🛈 FIREWALL: > Chain DOCKER-FORWARD | Sub-Chain: DOCKER-CT
99+ > 🛈 FIREWALL: > Chain DOCKER-FORWARD | Sub-Chain: DOCKER-CT (1 rules)
100100 > 🛈 FIREWALL: > Chain DOCKER-CT | Rule 0
101101 > 🛈 FIREWALL: > Chain DOCKER-FORWARD | Rule 1 | Match => jump
102- > 🛈 FIREWALL: > Chain DOCKER-FORWARD | Sub-Chain: DOCKER-ISOLATION-STAGE-1
102+ > 🛈 FIREWALL: > Chain DOCKER-FORWARD | Sub-Chain: DOCKER-ISOLATION-STAGE-1 (1 rules)
103103 > 🛈 FIREWALL: > Chain DOCKER-ISOLATION-STAGE-1 | Rule 0 | Match => jump
104- > 🛈 FIREWALL: > Chain DOCKER-ISOLATION-STAGE-1 | Sub-Chain: DOCKER-ISOLATION-STAGE-2
104+ > 🛈 FIREWALL: > Chain DOCKER-ISOLATION-STAGE-1 | Sub-Chain: DOCKER-ISOLATION-STAGE-2 (1 rules)
105105 > 🛈 FIREWALL: > Chain DOCKER-ISOLATION-STAGE-2 | Rule 0
106106 > 🛈 FIREWALL: > Chain DOCKER-FORWARD | Rule 2 | Match => jump
107- > 🛈 FIREWALL: > Chain DOCKER-FORWARD | Sub-Chain: DOCKER-BRIDGE
107+ > 🛈 FIREWALL: > Chain DOCKER-FORWARD | Sub-Chain: DOCKER-BRIDGE (1 rules)
108108 > 🛈 FIREWALL: > Chain DOCKER-BRIDGE | Rule 0
109109 > 🛈 FIREWALL: > Chain DOCKER-FORWARD | Rule 3 | Match => accept
110110 > 🛈 FIREWALL: Processing Chain: Table nat ip4 | Chain POSTROUTING ip4 nat
111111 > 🛈 FIREWALL: > Chain POSTROUTING | Rule 0 | Match => snat
112- > 🛈 FIREWALL: Performed SNAT
112+ > 🛈 FIREWALL: Performed SNAT: 172.17.11.5 = > 10.255.255.48
113113 > ✓ FIREWALL: Packet passed
114114
115115----
@@ -125,16 +125,17 @@ Block Example
125125 > 🛈 ROUTER: Packet inbound-route: 172.17.0.0/16, scope link
126126 > 🛈 FIREWALL: Processing Chain: Table nat ip4 | Chain PREROUTING ip4 nat
127127 > 🛈 FIREWALL: > Chain PREROUTING | Rule 0 | Match => jump
128- > 🛈 FIREWALL: > Chain PREROUTING | Sub-Chain: DOCKER
128+ > 🛈 FIREWALL: > Chain PREROUTING | Sub-Chain: DOCKER (2 rules)
129129 > 🛈 FIREWALL: > Chain DOCKER | Rule 0 | Match => return
130130 > 🛈 ROUTER: Packet outbound-interface: wan
131- > 🛈 ROUTER: Packet outbound-route: 0.0.0.0/0, gw 10.255.255.254, metric 600, scope remote
131+ > 🛈 ROUTER: Packet outbound-route: 0.0.0.0/0, gw 10.255.255.254, metric 600, scope global
132132 > 🛈 FIREWALL: Processing Chain: Table filter ip4 | Chain FORWARD ip4 filter
133133 > 🛈 FIREWALL: > Chain FORWARD | Rule 0 | Match => jump
134- > 🛈 FIREWALL: > Chain FORWARD | Sub-Chain: DOCKER-USER
134+ > 🛈 FIREWALL: > Chain FORWARD | Sub-Chain: DOCKER-USER (1 rules)
135135 > 🛈 FIREWALL: > Chain DOCKER-USER | Rule 0 | Match => return
136136 > 🛈 FIREWALL: > Chain FORWARD | Rule 1 | Match => drop
137- > ✖ FIREWALL: Packet blocked by rule: {' action' : ' drop' , ' seq' : 1, ' raw' : Rule: # 101 "TEST DROP" | Matches: [proto_l3 == ip4 & ip_daddr == ['2.2.2.2/32']]}
137+ > ✖ FIREWALL: Packet blocked by rule: Seq 1, Action: drop, Rule: # 101 "TEST IP4-DADDR DROP"
138+ > > Matches: {' proto_l3' : {' ==' : ' ip4' }, ' ip_daddr' : {' ==' : [' 2.2.2.2/32' ]}}
138139
139140----
140141
@@ -150,26 +151,38 @@ You can get more detailed output by increasing the verbosity:
150151 > 🛈 ROUTER: Packet inbound-interface: docker0
151152 > 🛈 ROUTER: Packet inbound-route: 172.17.0.0/16, scope link
152153 > 🛈 FIREWALL: Processing Chain: Table nat ip4 | Chain PREROUTING ip4 nat
153- > 🛈 FIREWALL: > Chain PREROUTING | Rule 0 | Match => jump | {' action' : ' jump' , ' seq' : 0, ' raw' : Rule: # 3 | Matches: []}
154- > 🛈 FIREWALL: > Chain PREROUTING | Sub-Chain: DOCKER
155- > 🛈 FIREWALL: > Chain DOCKER | Rule 0 | Match => return | {' action' : ' return' , ' seq' : 0, ' raw' : Rule: # 10 | Matches: [ni_in == ['docker0']]}
154+ > 🛈 FIREWALL: > Chain PREROUTING | Rule 0 | Match => jump | Seq 0, Action: jump, Rule: # 3
155+ > > Matches: {}
156+ >
157+ > 🛈 FIREWALL: > Chain PREROUTING | Sub-Chain: DOCKER (2 rules)
158+ > 🛈 FIREWALL: > Chain DOCKER | Rule 0 | Match => return | Seq 0, Action: return, Rule: # 10
159+ > > Matches: {' ni_in' : {' ==' : [' docker0' ]}}
160+ >
156161 > 🛈 FIREWALL: Flow-type: forward
157162 > 🛈 ROUTER: Packet outbound-interface: wan
158- > 🛈 ROUTER: Packet outbound-route: 0.0.0.0/0, gw 10.255.255.254, metric 600, scope remote
163+ > 🛈 ROUTER: Packet outbound-route: 0.0.0.0/0, gw 10.255.255.254, metric 600, scope global
159164 > 🛈 FIREWALL: Processing Chain: Table filter ip4 | Chain FORWARD ip4 filter
160- > 🛈 FIREWALL: > Chain FORWARD | Rule 0 | Match => jump | {' action' : ' jump' , ' seq' : 0, ' raw' : Rule: # 20 | Matches: []}
161- > 🛈 FIREWALL: > Chain FORWARD | Sub-Chain: DOCKER-USER
162- > 🛈 FIREWALL: > Chain DOCKER-USER | Rule 0 | Match => return | {' action' : ' return' , ' seq' : 0, ' raw' : Rule: # 19 | Matches: []}
163- > 🛈 FIREWALL: > Chain FORWARD | Rule 1 | Match => drop | {' action' : ' drop' , ' seq' : 1, ' raw' : Rule: # 101 "TEST IP4-DADDR DROP" | Matches: [proto_l3 == ip4 & ip_daddr == ['2.2.2.2/32']]}
164- > ✖ FIREWALL: Packet blocked by rule: {' action' : ' drop' , ' seq' : 1, ' raw' : Rule: # 101 "TEST IP4-DADDR DROP" | Matches: [proto_l3 == ip4 & ip_daddr == ['2.2.2.2/32']]}
165+ > 🛈 FIREWALL: > Chain FORWARD | Rule 0 | Match => jump | Seq 0, Action: jump, Rule: # 20
166+ > > Matches: {}
167+ >
168+ > 🛈 FIREWALL: > Chain FORWARD | Sub-Chain: DOCKER-USER (1 rules)
169+ > 🛈 FIREWALL: > Chain DOCKER-USER | Rule 0 | Match => return | Seq 0, Action: return, Rule: # 19
170+ > > Matches: {}
171+ >
172+ > 🛈 FIREWALL: > Chain FORWARD | Rule 1 | Match => drop | Seq 1, Action: drop, Rule: # 101 "TEST IP4-DADDR DROP"
173+ > > Matches: {' proto_l3' : {' ==' : ' ip4' }, ' ip_daddr' : {' ==' : [' 2.2.2.2/32' ]}}
174+ >
175+ > ✖ FIREWALL: Packet blocked by rule: Seq 1, Action: drop, Rule: # 101 "TEST IP4-DADDR DROP"
176+ > > Matches: {' proto_l3' : {' ==' : ' ip4' }, ' ip_daddr' : {' ==' : [' 2.2.2.2/32' ]}}
165177
166178 Or use the silent-mode:
167179
168180.. code-block :: bash
169181
170182 ftf-cli ... --src-ip 172.17.11.5 --dst-ip 2.2.2.2 --verbosity silent
171183
172- > ✖ FIREWALL: Packet blocked by rule: {' action' : ' drop' , ' seq' : 1, ' raw' : Rule: # 101 "TEST IP4-DADDR DROP" | Matches: [proto_l3 == ip4 & ip_daddr == ['2.2.2.2/32']]}
184+ > ✖ FIREWALL: Packet blocked by rule: Seq 1, Action: drop, Rule: # 101 "TEST IP4-DADDR DROP"
185+ > > Matches: {' proto_l3' : {' ==' : ' ip4' }, ' ip_daddr' : {' ==' : [' 2.2.2.2/32' ]}}
173186
174187----
175188
@@ -186,7 +199,7 @@ Depending on the system-specific configuration traffic can be dropped by non-fir
186199 > 🛈 ROUTER: Packet inbound-route: 172.17.0.0/16, scope link
187200 > 🛈 FIREWALL: Processing Chain: Table nat ip4 | Chain PREROUTING ip4 nat
188201 > 🛈 FIREWALL: > Chain PREROUTING | Rule 0 | Match => jump
189- > 🛈 FIREWALL: > Chain PREROUTING | Sub-Chain: DOCKER
202+ > 🛈 FIREWALL: > Chain PREROUTING | Sub-Chain: DOCKER (2 rules)
190203 > 🛈 FIREWALL: > Chain DOCKER | Rule 0 | Match => return
191204 > 🛈 ROUTER: Packet outbound-interface: wan
192205 > 🛈 ROUTER: Packet outbound-route: 0.0.0.0/0, gw 10.255.255.254, metric 600, scope remote
0 commit comments