mirror of
https://github.com/moby/moby.git
synced 2026-01-11 18:51:37 +00:00
Merge pull request #49981 from robmry/drop_inc_rules
Drop DOCKER-ISOLATION rules
This commit is contained in:
@@ -31,17 +31,12 @@ Table `filter`:
|
||||
Chain DOCKER-FORWARD (1 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 DOCKER-CT 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 DOCKER-ISOLATION-STAGE-1 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 DOCKER-INTERNAL 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
3 0 0 DOCKER-BRIDGE 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
4 0 0 ACCEPT 0 -- docker0 * 0.0.0.0/0 0.0.0.0/0
|
||||
|
||||
Chain DOCKER-ISOLATION-STAGE-1 (1 references)
|
||||
Chain DOCKER-INTERNAL (1 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 DOCKER-ISOLATION-STAGE-2 0 -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
|
||||
|
||||
Chain DOCKER-ISOLATION-STAGE-2 (1 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 DROP 0 -- * docker0 0.0.0.0/0 0.0.0.0/0
|
||||
|
||||
Chain DOCKER-USER (1 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
@@ -57,8 +52,7 @@ Table `filter`:
|
||||
-N DOCKER-BRIDGE
|
||||
-N DOCKER-CT
|
||||
-N DOCKER-FORWARD
|
||||
-N DOCKER-ISOLATION-STAGE-1
|
||||
-N DOCKER-ISOLATION-STAGE-2
|
||||
-N DOCKER-INTERNAL
|
||||
-N DOCKER-USER
|
||||
-A FORWARD -j DOCKER-USER
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
@@ -66,24 +60,23 @@ Table `filter`:
|
||||
-A DOCKER-BRIDGE -o docker0 -j DOCKER
|
||||
-A DOCKER-CT -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i docker0 -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
|
||||
|
||||
|
||||
</details>
|
||||
|
||||
The FORWARD chain's policy shown above is ACCEPT. However:
|
||||
|
||||
- For IPv4, [setupIPForwarding][1] sets the POLICY to DROP if the sysctl
|
||||
- For IPv4, [setupIPv4Forwarding][1] sets the POLICY to DROP if the sysctl
|
||||
net.ipv4.ip_forward was not set to '1', and the daemon set it itself when
|
||||
an IPv4-enabled bridge network was created.
|
||||
- For IPv6, similar, but for sysctls "/proc/sys/net/ipv6/conf/default/forwarding"
|
||||
- For IPv6, [similar][2], but for sysctls "/proc/sys/net/ipv6/conf/default/forwarding"
|
||||
and "/proc/sys/net/ipv6/conf/all/forwarding".
|
||||
|
||||
[1]: https://github.com/moby/moby/blob/cff4f20c44a3a7c882ed73934dec6a77246c6323/libnetwork/drivers/bridge/setup_ip_forwarding.go#L44
|
||||
[1]: https://github.com/search?q=repo%3Amoby%2Fmoby%20setupIPv4Forwarding&type=code
|
||||
[2]: https://github.com/search?q=repo%3Amoby%2Fmoby%20setupIPv6Forwarding&type=code
|
||||
|
||||
The FORWARD chain rules, explained in the order they appear in the output above, are:
|
||||
|
||||
@@ -93,7 +86,7 @@ The FORWARD chain rules, explained in the order they appear in the output above,
|
||||
It's (mostly) kept at the top of the by deleting it and re-creating after each
|
||||
new network is created, while traffic may be running for other networks.
|
||||
2. Unconditional jump to DOCKER-FORWARD.
|
||||
This is set up by libnetwork, in [setupUserChain][10].
|
||||
This is set up by libnetwork, in [setupIPChains][11].
|
||||
|
||||
Once the daemon has initialised, it doesn't touch these rules. Users are free to
|
||||
append rules to the FORWARD chain, and they'll run after DOCKER's rules (or to
|
||||
@@ -106,12 +99,12 @@ the output above, are:
|
||||
|
||||
1. Unconditional jump to DOCKER-CT.
|
||||
Created during driver initialisation, in `setupIPChains`.
|
||||
2. Unconditional jump to DOCKER-ISOLATION-STAGE-1.
|
||||
2. Unconditional jump to DOCKER-INTERNAL.
|
||||
Also created during driver initialisation, in `setupIPChains`.
|
||||
3. Unconditional jump to DOCKER-BRIDGE.
|
||||
Also created during driver initialisation, in `setupIPChains`.
|
||||
4. ACCEPT any packet leaving a network, set up when the network is created, in
|
||||
`setupIPTablesInternal`. Note that this accepts any packet leaving the
|
||||
[setupIPTablesInternal][12]. Note that this accepts any packet leaving the
|
||||
network that's made it through the DOCKER and isolation chains, whether the
|
||||
destination is external or another network.
|
||||
|
||||
@@ -122,29 +115,21 @@ DOCKER-BRIDGE has a rule for each bridge network, to jump to the DOCKER chain.
|
||||
|
||||
The DOCKER chain implements per-port/protocol filtering for each container.
|
||||
|
||||
[10]: https://github.com/moby/moby/blob/e05848c0025b67a16aaafa8cdff95d5e2c064105/libnetwork/firewall_linux.go#L50
|
||||
[11]: https://github.com/robmry/moby/blob/52c89d467fc5326149e4bbb8903d23589b66ff0d/libnetwork/drivers/bridge/setup_ip_tables_linux.go#L230-L232
|
||||
[12]: https://github.com/robmry/moby/blob/52c89d467fc5326149e4bbb8903d23589b66ff0d/libnetwork/drivers/bridge/setup_ip_tables_linux.go#L227-L229
|
||||
[13]: https://github.com/robmry/moby/blob/52c89d467fc5326149e4bbb8903d23589b66ff0d/libnetwork/drivers/bridge/setup_ip_tables_linux.go#L223-L226
|
||||
[15]: https://github.com/moby/moby/blob/333cfa640239153477bf635a8131734d0e9d099d/libnetwork/drivers/bridge/setup_ip_tables_linux.go#L343
|
||||
[10]: https://github.com/search?q=repo%3Amoby%2Fmoby%20setupUserChain&type=code
|
||||
[11]: https://github.com/search?q=repo%3Amoby%2Fmoby%20setupIPChains&type=code
|
||||
[12]: https://github.com/search?q=repo%3Amoby%2Fmoby%20setupNonInternalNetworkRules&type=code
|
||||
|
||||
The DOCKER chain has a single DROP rule for the bridge network, to drop any
|
||||
packets routed to the network that have not originated in the network. Added by
|
||||
[setDefaultForwardRule][21].
|
||||
[setDefaultForwardRule][20].
|
||||
_This means there is no dependency on the filter-FORWARD chain's default policy.
|
||||
Even if it is ACCEPT, packets will be dropped unless container ports/protocols
|
||||
are published._
|
||||
|
||||
The DOCKER-ISOLATION chains implement inter-network isolation, all (unrelated)
|
||||
packets are processed by these chains. The rule are inserted at the head of the
|
||||
chain when a network is created, in [setINC][20].
|
||||
- DOCKER-ISOLATION-STAGE-1 jumps to DOCKER-ISOLATION-STAGE-2 for any packet
|
||||
routed to a docker network that has not come from that docker network.
|
||||
- DOCKER-ISOLATION-STAGE-2 processes all packets leaving a bridge network,
|
||||
packets that are destined for any other network are dropped.
|
||||
[20]: https://github.com/search?q=repo%3Amoby%2Fmoby%20setDefaultForwardRule&type=code
|
||||
|
||||
[20]: https://github.com/moby/moby/blob/333cfa640239153477bf635a8131734d0e9d099d/libnetwork/drivers/bridge/setup_ip_tables_linux.go#L369
|
||||
[21]: https://github.com/robmry/moby/blob/52c89d467fc5326149e4bbb8903d23589b66ff0d/libnetwork/drivers/bridge/setup_ip_tables_linux.go#L252
|
||||
The DOCKER-INTERNAL chain is for `--internal` networks (bridge networks that
|
||||
have no external access), it's unused in this example.
|
||||
|
||||
Table nat:
|
||||
|
||||
@@ -165,7 +150,6 @@ Table nat:
|
||||
|
||||
Chain DOCKER (2 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 RETURN 0 -- docker0 * 0.0.0.0/0 0.0.0.0/0
|
||||
|
||||
|
||||
<details>
|
||||
@@ -179,7 +163,6 @@ Table nat:
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
|
||||
-A DOCKER -i docker0 -j RETURN
|
||||
|
||||
|
||||
</details>
|
||||
|
||||
@@ -36,7 +36,7 @@ The filter table is:
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 DOCKER-INGRESS 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 DOCKER-CT 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
3 0 0 DOCKER-ISOLATION-STAGE-1 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
3 0 0 DOCKER-INTERNAL 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
4 0 0 DOCKER-BRIDGE 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
5 0 0 ACCEPT 0 -- docker0 * 0.0.0.0/0 0.0.0.0/0
|
||||
6 0 0 DROP 0 -- docker_gwbridge docker_gwbridge 0.0.0.0/0 0.0.0.0/0
|
||||
@@ -48,15 +48,8 @@ The filter table is:
|
||||
2 0 0 ACCEPT 6 -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:8080 ctstate RELATED,ESTABLISHED
|
||||
3 0 0 RETURN 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
|
||||
Chain DOCKER-ISOLATION-STAGE-1 (1 references)
|
||||
Chain DOCKER-INTERNAL (1 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 DOCKER-ISOLATION-STAGE-2 0 -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 DOCKER-ISOLATION-STAGE-2 0 -- docker_gwbridge !docker_gwbridge 0.0.0.0/0 0.0.0.0/0
|
||||
|
||||
Chain DOCKER-ISOLATION-STAGE-2 (2 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 DROP 0 -- * docker_gwbridge 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 DROP 0 -- * docker0 0.0.0.0/0 0.0.0.0/0
|
||||
|
||||
Chain DOCKER-USER (1 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
@@ -73,8 +66,7 @@ The filter table is:
|
||||
-N DOCKER-CT
|
||||
-N DOCKER-FORWARD
|
||||
-N DOCKER-INGRESS
|
||||
-N DOCKER-ISOLATION-STAGE-1
|
||||
-N DOCKER-ISOLATION-STAGE-2
|
||||
-N DOCKER-INTERNAL
|
||||
-N DOCKER-USER
|
||||
-A FORWARD -j DOCKER-USER
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
@@ -86,7 +78,7 @@ The filter table is:
|
||||
-A DOCKER-CT -o docker_gwbridge -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-INGRESS
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i docker0 -j ACCEPT
|
||||
-A DOCKER-FORWARD -i docker_gwbridge -o docker_gwbridge -j DROP
|
||||
@@ -94,10 +86,6 @@ The filter table is:
|
||||
-A DOCKER-INGRESS -p tcp -m tcp --dport 8080 -j ACCEPT
|
||||
-A DOCKER-INGRESS -p tcp -m tcp --sport 8080 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-INGRESS -j RETURN
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i docker_gwbridge ! -o docker_gwbridge -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o docker_gwbridge -j DROP
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
|
||||
|
||||
|
||||
</details>
|
||||
@@ -132,8 +120,6 @@ And the corresponding nat table:
|
||||
|
||||
Chain DOCKER (2 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 RETURN 0 -- docker_gwbridge * 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 RETURN 0 -- docker0 * 0.0.0.0/0 0.0.0.0/0
|
||||
|
||||
Chain DOCKER-INGRESS (2 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
@@ -157,8 +143,6 @@ And the corresponding nat table:
|
||||
-A POSTROUTING -o docker_gwbridge -m addrtype --src-type LOCAL -j MASQUERADE
|
||||
-A POSTROUTING -s 172.18.0.0/16 ! -o docker_gwbridge -j MASQUERADE
|
||||
-A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
|
||||
-A DOCKER -i docker_gwbridge -j RETURN
|
||||
-A DOCKER -i docker0 -j RETURN
|
||||
-A DOCKER-INGRESS -p tcp -m tcp --dport 8080 -j DNAT --to-destination 172.18.0.2:8080
|
||||
-A DOCKER-INGRESS -j RETURN
|
||||
|
||||
|
||||
@@ -46,23 +46,18 @@ The filter table is updated as follows:
|
||||
Chain DOCKER-FORWARD (1 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 DOCKER-CT 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 DOCKER-ISOLATION-STAGE-1 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 DOCKER-INTERNAL 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
3 0 0 DOCKER-BRIDGE 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
4 0 0 ACCEPT 0 -- docker0 * 0.0.0.0/0 0.0.0.0/0
|
||||
5 0 0 ACCEPT 0 -- bridgeICC bridgeICC 0.0.0.0/0 0.0.0.0/0
|
||||
6 0 0 DROP 0 -- bridgeNoICC bridgeNoICC 0.0.0.0/0 0.0.0.0/0
|
||||
|
||||
Chain DOCKER-ISOLATION-STAGE-1 (1 references)
|
||||
Chain DOCKER-INTERNAL (1 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 DROP 0 -- * bridgeNoICC !198.51.100.0/24 0.0.0.0/0
|
||||
2 0 0 DROP 0 -- bridgeNoICC * 0.0.0.0/0 !198.51.100.0/24
|
||||
3 0 0 DROP 0 -- * bridgeICC !192.0.2.0/24 0.0.0.0/0
|
||||
4 0 0 DROP 0 -- bridgeICC * 0.0.0.0/0 !192.0.2.0/24
|
||||
5 0 0 DOCKER-ISOLATION-STAGE-2 0 -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
|
||||
|
||||
Chain DOCKER-ISOLATION-STAGE-2 (1 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 DROP 0 -- * docker0 0.0.0.0/0 0.0.0.0/0
|
||||
|
||||
Chain DOCKER-USER (1 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
@@ -78,8 +73,7 @@ The filter table is updated as follows:
|
||||
-N DOCKER-BRIDGE
|
||||
-N DOCKER-CT
|
||||
-N DOCKER-FORWARD
|
||||
-N DOCKER-ISOLATION-STAGE-1
|
||||
-N DOCKER-ISOLATION-STAGE-2
|
||||
-N DOCKER-INTERNAL
|
||||
-N DOCKER-USER
|
||||
-A FORWARD -j DOCKER-USER
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
@@ -87,17 +81,15 @@ The filter table is updated as follows:
|
||||
-A DOCKER-BRIDGE -o docker0 -j DOCKER
|
||||
-A DOCKER-CT -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i docker0 -j ACCEPT
|
||||
-A DOCKER-FORWARD -i bridgeICC -o bridgeICC -j ACCEPT
|
||||
-A DOCKER-FORWARD -i bridgeNoICC -o bridgeNoICC -j DROP
|
||||
-A DOCKER-ISOLATION-STAGE-1 ! -s 198.51.100.0/24 -o bridgeNoICC -j DROP
|
||||
-A DOCKER-ISOLATION-STAGE-1 ! -d 198.51.100.0/24 -i bridgeNoICC -j DROP
|
||||
-A DOCKER-ISOLATION-STAGE-1 ! -s 192.0.2.0/24 -o bridgeICC -j DROP
|
||||
-A DOCKER-ISOLATION-STAGE-1 ! -d 192.0.2.0/24 -i bridgeICC -j DROP
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
|
||||
-A DOCKER-INTERNAL ! -s 198.51.100.0/24 -o bridgeNoICC -j DROP
|
||||
-A DOCKER-INTERNAL ! -d 198.51.100.0/24 -i bridgeNoICC -j DROP
|
||||
-A DOCKER-INTERNAL ! -s 192.0.2.0/24 -o bridgeICC -j DROP
|
||||
-A DOCKER-INTERNAL ! -d 192.0.2.0/24 -i bridgeICC -j DROP
|
||||
|
||||
|
||||
</details>
|
||||
@@ -106,11 +98,9 @@ By comparison with the [network with external access][1]:
|
||||
|
||||
- In the DOCKER-FORWARD chain, there is no ACCEPT rule for outgoing packets (`-i bridgeINC`).
|
||||
- There are no rules for this network in the DOCKER chain.
|
||||
- In DOCKER-ISOLATION-STAGE-1:
|
||||
- In DOCKER-INTERNAL:
|
||||
- Rule 1 drops any packet routed to the network that does not have a source address in the network's subnet.
|
||||
- Rule 2 drops any packet routed out of the network that does not have a dest address in the network's subnet.
|
||||
- There is no jump to DOCKER-ISOLATION-STAGE-2.
|
||||
- DOCKER-ISOLATION-STAGE-2 is unused.
|
||||
|
||||
The only difference between `bridgeICC` and `bridgeNoICC` is the rule in the DOCKER-FORWARD
|
||||
chain. To enable ICC, the rule for packets looping through the bridge is ACCEPT. For
|
||||
@@ -137,7 +127,6 @@ And the corresponding nat table:
|
||||
|
||||
Chain DOCKER (2 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 RETURN 0 -- docker0 * 0.0.0.0/0 0.0.0.0/0
|
||||
|
||||
|
||||
<details>
|
||||
@@ -151,7 +140,6 @@ And the corresponding nat table:
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
|
||||
-A DOCKER -i docker0 -j RETURN
|
||||
|
||||
|
||||
</details>
|
||||
|
||||
@@ -42,20 +42,13 @@ The filter and nat tables are identical to [nat mode][0]:
|
||||
Chain DOCKER-FORWARD (1 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 DOCKER-CT 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 DOCKER-ISOLATION-STAGE-1 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 DOCKER-INTERNAL 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
3 0 0 DOCKER-BRIDGE 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
4 0 0 ACCEPT 0 -- docker0 * 0.0.0.0/0 0.0.0.0/0
|
||||
5 0 0 ACCEPT 0 -- bridge1 * 0.0.0.0/0 0.0.0.0/0
|
||||
|
||||
Chain DOCKER-ISOLATION-STAGE-1 (1 references)
|
||||
Chain DOCKER-INTERNAL (1 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 DOCKER-ISOLATION-STAGE-2 0 -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 DOCKER-ISOLATION-STAGE-2 0 -- bridge1 !bridge1 0.0.0.0/0 0.0.0.0/0
|
||||
|
||||
Chain DOCKER-ISOLATION-STAGE-2 (2 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 DROP 0 -- * bridge1 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 DROP 0 -- * docker0 0.0.0.0/0 0.0.0.0/0
|
||||
|
||||
Chain DOCKER-USER (1 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
@@ -68,8 +61,7 @@ The filter and nat tables are identical to [nat mode][0]:
|
||||
-N DOCKER-BRIDGE
|
||||
-N DOCKER-CT
|
||||
-N DOCKER-FORWARD
|
||||
-N DOCKER-ISOLATION-STAGE-1
|
||||
-N DOCKER-ISOLATION-STAGE-2
|
||||
-N DOCKER-INTERNAL
|
||||
-N DOCKER-USER
|
||||
-A FORWARD -j DOCKER-USER
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
@@ -81,14 +73,10 @@ The filter and nat tables are identical to [nat mode][0]:
|
||||
-A DOCKER-CT -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-CT -o bridge1 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i docker0 -j ACCEPT
|
||||
-A DOCKER-FORWARD -i bridge1 -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i bridge1 ! -o bridge1 -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o bridge1 -j DROP
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
|
||||
|
||||
|
||||
</details>
|
||||
@@ -114,9 +102,7 @@ The filter and nat tables are identical to [nat mode][0]:
|
||||
|
||||
Chain DOCKER (2 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 RETURN 0 -- bridge1 * 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 RETURN 0 -- docker0 * 0.0.0.0/0 0.0.0.0/0
|
||||
3 0 0 DNAT 6 -- !bridge1 * 0.0.0.0/0 127.0.0.1 tcp dpt:8080 to:192.0.2.2:80
|
||||
1 0 0 DNAT 6 -- !bridge1 * 0.0.0.0/0 127.0.0.1 tcp dpt:8080 to:192.0.2.2:80
|
||||
|
||||
|
||||
-P PREROUTING ACCEPT
|
||||
@@ -128,8 +114,6 @@ The filter and nat tables are identical to [nat mode][0]:
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s 192.0.2.0/24 ! -o bridge1 -j MASQUERADE
|
||||
-A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
|
||||
-A DOCKER -i bridge1 -j RETURN
|
||||
-A DOCKER -i docker0 -j RETURN
|
||||
-A DOCKER -d 127.0.0.1/32 ! -i bridge1 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.0.2.2:80
|
||||
|
||||
|
||||
|
||||
@@ -39,20 +39,13 @@ The filter table is:
|
||||
Chain DOCKER-FORWARD (1 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 DOCKER-CT 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 DOCKER-ISOLATION-STAGE-1 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 DOCKER-INTERNAL 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
3 0 0 DOCKER-BRIDGE 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
4 0 0 ACCEPT 0 -- docker0 * 0.0.0.0/0 0.0.0.0/0
|
||||
5 0 0 ACCEPT 0 -- bridge1 * 0.0.0.0/0 0.0.0.0/0
|
||||
|
||||
Chain DOCKER-ISOLATION-STAGE-1 (1 references)
|
||||
Chain DOCKER-INTERNAL (1 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 DOCKER-ISOLATION-STAGE-2 0 -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 DOCKER-ISOLATION-STAGE-2 0 -- bridge1 !bridge1 0.0.0.0/0 0.0.0.0/0
|
||||
|
||||
Chain DOCKER-ISOLATION-STAGE-2 (2 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 DROP 0 -- * bridge1 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 DROP 0 -- * docker0 0.0.0.0/0 0.0.0.0/0
|
||||
|
||||
Chain DOCKER-USER (1 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
@@ -68,8 +61,7 @@ The filter table is:
|
||||
-N DOCKER-BRIDGE
|
||||
-N DOCKER-CT
|
||||
-N DOCKER-FORWARD
|
||||
-N DOCKER-ISOLATION-STAGE-1
|
||||
-N DOCKER-ISOLATION-STAGE-2
|
||||
-N DOCKER-INTERNAL
|
||||
-N DOCKER-USER
|
||||
-A FORWARD -j DOCKER-USER
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
@@ -80,14 +72,10 @@ The filter table is:
|
||||
-A DOCKER-CT -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-CT -o bridge1 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i docker0 -j ACCEPT
|
||||
-A DOCKER-FORWARD -i bridge1 -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i bridge1 ! -o bridge1 -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o bridge1 -j DROP
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
|
||||
|
||||
|
||||
</details>
|
||||
@@ -128,9 +116,7 @@ The nat table is identical to [nat mode][400].
|
||||
|
||||
Chain DOCKER (2 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 RETURN 0 -- bridge1 * 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 RETURN 0 -- docker0 * 0.0.0.0/0 0.0.0.0/0
|
||||
3 0 0 DNAT 6 -- !bridge1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 to:192.0.2.2:80
|
||||
1 0 0 DNAT 6 -- !bridge1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 to:192.0.2.2:80
|
||||
|
||||
|
||||
-P PREROUTING ACCEPT
|
||||
@@ -142,8 +128,6 @@ The nat table is identical to [nat mode][400].
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s 192.0.2.0/24 ! -o bridge1 -j MASQUERADE
|
||||
-A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
|
||||
-A DOCKER -i bridge1 -j RETURN
|
||||
-A DOCKER -i docker0 -j RETURN
|
||||
-A DOCKER ! -i bridge1 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.0.2.2:80
|
||||
|
||||
|
||||
|
||||
@@ -40,21 +40,14 @@ The filter table is:
|
||||
Chain DOCKER-FORWARD (1 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 DOCKER-CT 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 DOCKER-ISOLATION-STAGE-1 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 DOCKER-INTERNAL 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
3 0 0 DOCKER-BRIDGE 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
4 0 0 ACCEPT 0 -- docker0 * 0.0.0.0/0 0.0.0.0/0
|
||||
5 0 0 DROP 0 -- bridge1 bridge1 0.0.0.0/0 0.0.0.0/0
|
||||
6 0 0 ACCEPT 0 -- bridge1 !bridge1 0.0.0.0/0 0.0.0.0/0
|
||||
|
||||
Chain DOCKER-ISOLATION-STAGE-1 (1 references)
|
||||
Chain DOCKER-INTERNAL (1 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 DOCKER-ISOLATION-STAGE-2 0 -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 DOCKER-ISOLATION-STAGE-2 0 -- bridge1 !bridge1 0.0.0.0/0 0.0.0.0/0
|
||||
|
||||
Chain DOCKER-ISOLATION-STAGE-2 (2 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 DROP 0 -- * bridge1 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 DROP 0 -- * docker0 0.0.0.0/0 0.0.0.0/0
|
||||
|
||||
Chain DOCKER-USER (1 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
@@ -70,8 +63,7 @@ The filter table is:
|
||||
-N DOCKER-BRIDGE
|
||||
-N DOCKER-CT
|
||||
-N DOCKER-FORWARD
|
||||
-N DOCKER-ISOLATION-STAGE-1
|
||||
-N DOCKER-ISOLATION-STAGE-2
|
||||
-N DOCKER-INTERNAL
|
||||
-N DOCKER-USER
|
||||
-A FORWARD -j DOCKER-USER
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
@@ -83,15 +75,11 @@ The filter table is:
|
||||
-A DOCKER-CT -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-CT -o bridge1 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i docker0 -j ACCEPT
|
||||
-A DOCKER-FORWARD -i bridge1 -o bridge1 -j DROP
|
||||
-A DOCKER-FORWARD -i bridge1 ! -o bridge1 -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i bridge1 ! -o bridge1 -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o bridge1 -j DROP
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
|
||||
|
||||
|
||||
</details>
|
||||
@@ -124,9 +112,7 @@ And the corresponding nat table:
|
||||
|
||||
Chain DOCKER (2 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 RETURN 0 -- bridge1 * 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 RETURN 0 -- docker0 * 0.0.0.0/0 0.0.0.0/0
|
||||
3 0 0 DNAT 6 -- !bridge1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 to:192.0.2.2:80
|
||||
1 0 0 DNAT 6 -- !bridge1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 to:192.0.2.2:80
|
||||
|
||||
|
||||
<details>
|
||||
@@ -141,8 +127,6 @@ And the corresponding nat table:
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s 192.0.2.0/24 ! -o bridge1 -j MASQUERADE
|
||||
-A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
|
||||
-A DOCKER -i bridge1 -j RETURN
|
||||
-A DOCKER -i docker0 -j RETURN
|
||||
-A DOCKER ! -i bridge1 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.0.2.2:80
|
||||
|
||||
|
||||
|
||||
@@ -43,20 +43,13 @@ The filter table is the same as with the userland proxy enabled.
|
||||
Chain DOCKER-FORWARD (1 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 DOCKER-CT 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 DOCKER-ISOLATION-STAGE-1 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 DOCKER-INTERNAL 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
3 0 0 DOCKER-BRIDGE 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
4 0 0 ACCEPT 0 -- docker0 * 0.0.0.0/0 0.0.0.0/0
|
||||
5 0 0 ACCEPT 0 -- bridge1 * 0.0.0.0/0 0.0.0.0/0
|
||||
|
||||
Chain DOCKER-ISOLATION-STAGE-1 (1 references)
|
||||
Chain DOCKER-INTERNAL (1 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 DOCKER-ISOLATION-STAGE-2 0 -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 DOCKER-ISOLATION-STAGE-2 0 -- bridge1 !bridge1 0.0.0.0/0 0.0.0.0/0
|
||||
|
||||
Chain DOCKER-ISOLATION-STAGE-2 (2 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 DROP 0 -- * bridge1 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 DROP 0 -- * docker0 0.0.0.0/0 0.0.0.0/0
|
||||
|
||||
Chain DOCKER-USER (1 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
@@ -69,8 +62,7 @@ The filter table is the same as with the userland proxy enabled.
|
||||
-N DOCKER-BRIDGE
|
||||
-N DOCKER-CT
|
||||
-N DOCKER-FORWARD
|
||||
-N DOCKER-ISOLATION-STAGE-1
|
||||
-N DOCKER-ISOLATION-STAGE-2
|
||||
-N DOCKER-INTERNAL
|
||||
-N DOCKER-USER
|
||||
-A FORWARD -j DOCKER-USER
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
@@ -82,14 +74,10 @@ The filter table is the same as with the userland proxy enabled.
|
||||
-A DOCKER-CT -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-CT -o bridge1 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i docker0 -j ACCEPT
|
||||
-A DOCKER-FORWARD -i bridge1 -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i bridge1 ! -o bridge1 -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o bridge1 -j DROP
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
|
||||
|
||||
|
||||
</details>
|
||||
@@ -144,8 +132,6 @@ Differences from [running with the proxy][0] are:
|
||||
|
||||
- The jump from the OUTPUT chain to DOCKER happens even for loopback addresses.
|
||||
[ProgramChain][1].
|
||||
- The "SKIP DNAT" RETURN rule for packets routed to the bridge is omitted from
|
||||
the DOCKER chain [setupIPTablesInternal][2].
|
||||
- A MASQUERADE rule is added for packets sent from the container to one of its
|
||||
own published ports on the host.
|
||||
- A MASQUERADE rule for packets from a LOCAL source address is included in
|
||||
@@ -154,6 +140,5 @@ Differences from [running with the proxy][0] are:
|
||||
|
||||
[0]: usernet-portmap.md
|
||||
[1]: https://github.com/moby/moby/blob/333cfa640239153477bf635a8131734d0e9d099d/libnetwork/drivers/bridge/setup_ip_tables_linux.go#L302
|
||||
[2]: https://github.com/moby/moby/blob/333cfa640239153477bf635a8131734d0e9d099d/libnetwork/drivers/bridge/setup_ip_tables_linux.go#L293
|
||||
[3]: https://github.com/moby/moby/blob/333cfa640239153477bf635a8131734d0e9d099d/libnetwork/drivers/bridge/setup_ip_tables_linux.go#L302
|
||||
[4]: https://github.com/moby/moby/blob/675c2ac2db93e38bb9c5a6615d4155a969535fd9/libnetwork/drivers/bridge/port_mapping_linux.go#L772
|
||||
|
||||
@@ -41,22 +41,13 @@ The filter table is:
|
||||
Chain DOCKER-FORWARD (1 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 DOCKER-CT 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 DOCKER-ISOLATION-STAGE-1 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 DOCKER-INTERNAL 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
3 0 0 DOCKER-BRIDGE 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
4 0 0 ACCEPT 0 -- docker0 * 0.0.0.0/0 0.0.0.0/0
|
||||
5 0 0 ACCEPT 0 -- bridge1 * 0.0.0.0/0 0.0.0.0/0
|
||||
|
||||
Chain DOCKER-ISOLATION-STAGE-1 (1 references)
|
||||
Chain DOCKER-INTERNAL (1 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 ACCEPT 0 -- bridge1 * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
|
||||
2 0 0 RETURN 0 -- * bridge1 0.0.0.0/0 0.0.0.0/0
|
||||
3 0 0 DOCKER-ISOLATION-STAGE-2 0 -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
|
||||
4 0 0 DOCKER-ISOLATION-STAGE-2 0 -- bridge1 !bridge1 0.0.0.0/0 0.0.0.0/0
|
||||
|
||||
Chain DOCKER-ISOLATION-STAGE-2 (2 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 DROP 0 -- * bridge1 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 DROP 0 -- * docker0 0.0.0.0/0 0.0.0.0/0
|
||||
|
||||
Chain DOCKER-USER (1 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
@@ -72,8 +63,7 @@ The filter table is:
|
||||
-N DOCKER-BRIDGE
|
||||
-N DOCKER-CT
|
||||
-N DOCKER-FORWARD
|
||||
-N DOCKER-ISOLATION-STAGE-1
|
||||
-N DOCKER-ISOLATION-STAGE-2
|
||||
-N DOCKER-INTERNAL
|
||||
-N DOCKER-USER
|
||||
-A FORWARD -j DOCKER-USER
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
@@ -86,31 +76,16 @@ The filter table is:
|
||||
-A DOCKER-CT -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-CT -o bridge1 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i docker0 -j ACCEPT
|
||||
-A DOCKER-FORWARD -i bridge1 -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i bridge1 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -o bridge1 -j RETURN
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i bridge1 ! -o bridge1 -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o bridge1 -j DROP
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
|
||||
|
||||
|
||||
</details>
|
||||
|
||||
Compared to the equivalent [nat mode network][1]:
|
||||
|
||||
- In DOCKER-ISOLATION-STAGE-1:
|
||||
- Rule 1 accepts outgoing packets related to established connections. This
|
||||
is for responses to containers on NAT networks that would not normally
|
||||
accept packets from another network, and may have port/protocol filtering
|
||||
rules in place that would otherwise drop these responses.
|
||||
- Rule 2 skips the jump to DOCKER-ISOLATION-STAGE-2 for any packet routed
|
||||
to the routed-mode network. So, it will accept packets from other networks,
|
||||
if they make it through the port/protocol filtering rules in the DOCKER
|
||||
chain.
|
||||
- In the DOCKER chain:
|
||||
- A rule is added by [setICMP][5] to allow ICMP.
|
||||
*ALL* ICMP message types are allowed.
|
||||
@@ -163,8 +138,6 @@ The nat table is:
|
||||
|
||||
Chain DOCKER (2 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 RETURN 0 -- bridge1 * 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 RETURN 0 -- docker0 * 0.0.0.0/0 0.0.0.0/0
|
||||
|
||||
|
||||
<details>
|
||||
@@ -178,8 +151,6 @@ The nat table is:
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
|
||||
-A DOCKER -i bridge1 -j RETURN
|
||||
-A DOCKER -i docker0 -j RETURN
|
||||
|
||||
|
||||
</details>
|
||||
|
||||
@@ -39,20 +39,13 @@ The filter table is updated as follows:
|
||||
Chain DOCKER-FORWARD (1 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 DOCKER-CT 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 DOCKER-ISOLATION-STAGE-1 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 DOCKER-INTERNAL 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
3 0 0 DOCKER-BRIDGE 0 -- * * 0.0.0.0/0 0.0.0.0/0
|
||||
4 0 0 ACCEPT 0 -- docker0 * 0.0.0.0/0 0.0.0.0/0
|
||||
5 0 0 ACCEPT 0 -- bridge1 * 0.0.0.0/0 0.0.0.0/0
|
||||
|
||||
Chain DOCKER-ISOLATION-STAGE-1 (1 references)
|
||||
Chain DOCKER-INTERNAL (1 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 DOCKER-ISOLATION-STAGE-2 0 -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 DOCKER-ISOLATION-STAGE-2 0 -- bridge1 !bridge1 0.0.0.0/0 0.0.0.0/0
|
||||
|
||||
Chain DOCKER-ISOLATION-STAGE-2 (2 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 DROP 0 -- * bridge1 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 DROP 0 -- * docker0 0.0.0.0/0 0.0.0.0/0
|
||||
|
||||
Chain DOCKER-USER (1 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
@@ -68,8 +61,7 @@ The filter table is updated as follows:
|
||||
-N DOCKER-BRIDGE
|
||||
-N DOCKER-CT
|
||||
-N DOCKER-FORWARD
|
||||
-N DOCKER-ISOLATION-STAGE-1
|
||||
-N DOCKER-ISOLATION-STAGE-2
|
||||
-N DOCKER-INTERNAL
|
||||
-N DOCKER-USER
|
||||
-A FORWARD -j DOCKER-USER
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
@@ -81,14 +73,10 @@ The filter table is updated as follows:
|
||||
-A DOCKER-CT -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-CT -o bridge1 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i docker0 -j ACCEPT
|
||||
-A DOCKER-FORWARD -i bridge1 -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i bridge1 ! -o bridge1 -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o bridge1 -j DROP
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
|
||||
|
||||
|
||||
</details>
|
||||
@@ -98,8 +86,6 @@ Note that:
|
||||
- In the DOCKER-FORWARD chain, rule 5 for outgoing traffic from the new network has been
|
||||
appended to the end of the chain.
|
||||
- The DOCKER-CT and DOCKER-FORWARD chains each have a rule for the new network.
|
||||
- In the DOCKER-ISOLATION chains, rules equivalent to the docker0 rules have
|
||||
also been inserted for the new bridge.
|
||||
- In the DOCKER chain, there is an ACCEPT rule for TCP port 80 packets routed
|
||||
to the container's address. This rule is added when the container is created
|
||||
(unlike all the other rules so-far, which were created during driver or
|
||||
@@ -110,8 +96,8 @@ Note that:
|
||||
created before `bridge1`, the `bridge1` rules appear above and below the
|
||||
`docker0` DROP rule.
|
||||
|
||||
[1]: https://github.com/moby/moby/blob/675c2ac2db93e38bb9c5a6615d4155a969535fd9/libnetwork/drivers/bridge/port_mapping_linux.go#L795
|
||||
[2]: https://github.com/robmry/moby/blob/52c89d467fc5326149e4bbb8903d23589b66ff0d/libnetwork/drivers/bridge/setup_ip_tables_linux.go#L252
|
||||
[1]: https://github.com/search?q=repo%3Amoby%2Fmoby+setPerPortForwarding&type=code
|
||||
[2]: https://github.com/search?q=repo%3Amoby%2Fmoby%20setDefaultForwardRule&type=code
|
||||
|
||||
The corresponding nat table:
|
||||
|
||||
@@ -133,9 +119,7 @@ The corresponding nat table:
|
||||
|
||||
Chain DOCKER (2 references)
|
||||
num pkts bytes target prot opt in out source destination
|
||||
1 0 0 RETURN 0 -- bridge1 * 0.0.0.0/0 0.0.0.0/0
|
||||
2 0 0 RETURN 0 -- docker0 * 0.0.0.0/0 0.0.0.0/0
|
||||
3 0 0 DNAT 6 -- !bridge1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 to:192.0.2.2:80
|
||||
1 0 0 DNAT 6 -- !bridge1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 to:192.0.2.2:80
|
||||
|
||||
|
||||
<details>
|
||||
@@ -150,8 +134,6 @@ The corresponding nat table:
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s 192.0.2.0/24 ! -o bridge1 -j MASQUERADE
|
||||
-A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
|
||||
-A DOCKER -i bridge1 -j RETURN
|
||||
-A DOCKER -i docker0 -j RETURN
|
||||
-A DOCKER ! -i bridge1 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.0.2.2:80
|
||||
|
||||
|
||||
|
||||
@@ -16,13 +16,14 @@ Table `filter`:
|
||||
|
||||
The FORWARD chain's policy shown above is ACCEPT. However:
|
||||
|
||||
- For IPv4, [setupIPForwarding][1] sets the POLICY to DROP if the sysctl
|
||||
- For IPv4, [setupIPv4Forwarding][1] sets the POLICY to DROP if the sysctl
|
||||
net.ipv4.ip_forward was not set to '1', and the daemon set it itself when
|
||||
an IPv4-enabled bridge network was created.
|
||||
- For IPv6, similar, but for sysctls "/proc/sys/net/ipv6/conf/default/forwarding"
|
||||
- For IPv6, [similar][2], but for sysctls "/proc/sys/net/ipv6/conf/default/forwarding"
|
||||
and "/proc/sys/net/ipv6/conf/all/forwarding".
|
||||
|
||||
[1]: https://github.com/moby/moby/blob/cff4f20c44a3a7c882ed73934dec6a77246c6323/libnetwork/drivers/bridge/setup_ip_forwarding.go#L44
|
||||
[1]: https://github.com/search?q=repo%3Amoby%2Fmoby%20setupIPv4Forwarding&type=code
|
||||
[2]: https://github.com/search?q=repo%3Amoby%2Fmoby%20setupIPv6Forwarding&type=code
|
||||
|
||||
The FORWARD chain rules, explained in the order they appear in the output above, are:
|
||||
|
||||
@@ -32,7 +33,7 @@ The FORWARD chain rules, explained in the order they appear in the output above,
|
||||
It's (mostly) kept at the top of the by deleting it and re-creating after each
|
||||
new network is created, while traffic may be running for other networks.
|
||||
2. Unconditional jump to DOCKER-FORWARD.
|
||||
This is set up by libnetwork, in [setupUserChain][10].
|
||||
This is set up by libnetwork, in [setupIPChains][11].
|
||||
|
||||
Once the daemon has initialised, it doesn't touch these rules. Users are free to
|
||||
append rules to the FORWARD chain, and they'll run after DOCKER's rules (or to
|
||||
@@ -45,12 +46,12 @@ the output above, are:
|
||||
|
||||
1. Unconditional jump to DOCKER-CT.
|
||||
Created during driver initialisation, in `setupIPChains`.
|
||||
2. Unconditional jump to DOCKER-ISOLATION-STAGE-1.
|
||||
2. Unconditional jump to DOCKER-INTERNAL.
|
||||
Also created during driver initialisation, in `setupIPChains`.
|
||||
3. Unconditional jump to DOCKER-BRIDGE.
|
||||
Also created during driver initialisation, in `setupIPChains`.
|
||||
4. ACCEPT any packet leaving a network, set up when the network is created, in
|
||||
`setupIPTablesInternal`. Note that this accepts any packet leaving the
|
||||
[setupIPTablesInternal][12]. Note that this accepts any packet leaving the
|
||||
network that's made it through the DOCKER and isolation chains, whether the
|
||||
destination is external or another network.
|
||||
|
||||
@@ -61,29 +62,21 @@ DOCKER-BRIDGE has a rule for each bridge network, to jump to the DOCKER chain.
|
||||
|
||||
The DOCKER chain implements per-port/protocol filtering for each container.
|
||||
|
||||
[10]: https://github.com/moby/moby/blob/e05848c0025b67a16aaafa8cdff95d5e2c064105/libnetwork/firewall_linux.go#L50
|
||||
[11]: https://github.com/robmry/moby/blob/52c89d467fc5326149e4bbb8903d23589b66ff0d/libnetwork/drivers/bridge/setup_ip_tables_linux.go#L230-L232
|
||||
[12]: https://github.com/robmry/moby/blob/52c89d467fc5326149e4bbb8903d23589b66ff0d/libnetwork/drivers/bridge/setup_ip_tables_linux.go#L227-L229
|
||||
[13]: https://github.com/robmry/moby/blob/52c89d467fc5326149e4bbb8903d23589b66ff0d/libnetwork/drivers/bridge/setup_ip_tables_linux.go#L223-L226
|
||||
[15]: https://github.com/moby/moby/blob/333cfa640239153477bf635a8131734d0e9d099d/libnetwork/drivers/bridge/setup_ip_tables_linux.go#L343
|
||||
[10]: https://github.com/search?q=repo%3Amoby%2Fmoby%20setupUserChain&type=code
|
||||
[11]: https://github.com/search?q=repo%3Amoby%2Fmoby%20setupIPChains&type=code
|
||||
[12]: https://github.com/search?q=repo%3Amoby%2Fmoby%20setupNonInternalNetworkRules&type=code
|
||||
|
||||
The DOCKER chain has a single DROP rule for the bridge network, to drop any
|
||||
packets routed to the network that have not originated in the network. Added by
|
||||
[setDefaultForwardRule][21].
|
||||
[setDefaultForwardRule][20].
|
||||
_This means there is no dependency on the filter-FORWARD chain's default policy.
|
||||
Even if it is ACCEPT, packets will be dropped unless container ports/protocols
|
||||
are published._
|
||||
|
||||
The DOCKER-ISOLATION chains implement inter-network isolation, all (unrelated)
|
||||
packets are processed by these chains. The rule are inserted at the head of the
|
||||
chain when a network is created, in [setINC][20].
|
||||
- DOCKER-ISOLATION-STAGE-1 jumps to DOCKER-ISOLATION-STAGE-2 for any packet
|
||||
routed to a docker network that has not come from that docker network.
|
||||
- DOCKER-ISOLATION-STAGE-2 processes all packets leaving a bridge network,
|
||||
packets that are destined for any other network are dropped.
|
||||
[20]: https://github.com/search?q=repo%3Amoby%2Fmoby%20setDefaultForwardRule&type=code
|
||||
|
||||
[20]: https://github.com/moby/moby/blob/333cfa640239153477bf635a8131734d0e9d099d/libnetwork/drivers/bridge/setup_ip_tables_linux.go#L369
|
||||
[21]: https://github.com/robmry/moby/blob/52c89d467fc5326149e4bbb8903d23589b66ff0d/libnetwork/drivers/bridge/setup_ip_tables_linux.go#L252
|
||||
The DOCKER-INTERNAL chain is for `--internal` networks (bridge networks that
|
||||
have no external access), it's unused in this example.
|
||||
|
||||
Table nat:
|
||||
|
||||
|
||||
@@ -33,11 +33,9 @@ By comparison with the [network with external access][1]:
|
||||
|
||||
- In the DOCKER-FORWARD chain, there is no ACCEPT rule for outgoing packets (`-i bridgeINC`).
|
||||
- There are no rules for this network in the DOCKER chain.
|
||||
- In DOCKER-ISOLATION-STAGE-1:
|
||||
- In DOCKER-INTERNAL:
|
||||
- Rule 1 drops any packet routed to the network that does not have a source address in the network's subnet.
|
||||
- Rule 2 drops any packet routed out of the network that does not have a dest address in the network's subnet.
|
||||
- There is no jump to DOCKER-ISOLATION-STAGE-2.
|
||||
- DOCKER-ISOLATION-STAGE-2 is unused.
|
||||
|
||||
The only difference between `bridgeICC` and `bridgeNoICC` is the rule in the DOCKER-FORWARD
|
||||
chain. To enable ICC, the rule for packets looping through the bridge is ACCEPT. For
|
||||
|
||||
@@ -34,8 +34,6 @@ Differences from [running with the proxy][0] are:
|
||||
|
||||
- The jump from the OUTPUT chain to DOCKER happens even for loopback addresses.
|
||||
[ProgramChain][1].
|
||||
- The "SKIP DNAT" RETURN rule for packets routed to the bridge is omitted from
|
||||
the DOCKER chain [setupIPTablesInternal][2].
|
||||
- A MASQUERADE rule is added for packets sent from the container to one of its
|
||||
own published ports on the host.
|
||||
- A MASQUERADE rule for packets from a LOCAL source address is included in
|
||||
@@ -44,6 +42,5 @@ Differences from [running with the proxy][0] are:
|
||||
|
||||
[0]: usernet-portmap.md
|
||||
[1]: https://github.com/moby/moby/blob/333cfa640239153477bf635a8131734d0e9d099d/libnetwork/drivers/bridge/setup_ip_tables_linux.go#L302
|
||||
[2]: https://github.com/moby/moby/blob/333cfa640239153477bf635a8131734d0e9d099d/libnetwork/drivers/bridge/setup_ip_tables_linux.go#L293
|
||||
[3]: https://github.com/moby/moby/blob/333cfa640239153477bf635a8131734d0e9d099d/libnetwork/drivers/bridge/setup_ip_tables_linux.go#L302
|
||||
[4]: https://github.com/moby/moby/blob/675c2ac2db93e38bb9c5a6615d4155a969535fd9/libnetwork/drivers/bridge/port_mapping_linux.go#L772
|
||||
|
||||
@@ -21,15 +21,6 @@ The filter table is:
|
||||
|
||||
Compared to the equivalent [nat mode network][1]:
|
||||
|
||||
- In DOCKER-ISOLATION-STAGE-1:
|
||||
- Rule 1 accepts outgoing packets related to established connections. This
|
||||
is for responses to containers on NAT networks that would not normally
|
||||
accept packets from another network, and may have port/protocol filtering
|
||||
rules in place that would otherwise drop these responses.
|
||||
- Rule 2 skips the jump to DOCKER-ISOLATION-STAGE-2 for any packet routed
|
||||
to the routed-mode network. So, it will accept packets from other networks,
|
||||
if they make it through the port/protocol filtering rules in the DOCKER
|
||||
chain.
|
||||
- In the DOCKER chain:
|
||||
- A rule is added by [setICMP][5] to allow ICMP.
|
||||
*ALL* ICMP message types are allowed.
|
||||
|
||||
@@ -23,8 +23,6 @@ Note that:
|
||||
- In the DOCKER-FORWARD chain, rule 5 for outgoing traffic from the new network has been
|
||||
appended to the end of the chain.
|
||||
- The DOCKER-CT and DOCKER-FORWARD chains each have a rule for the new network.
|
||||
- In the DOCKER-ISOLATION chains, rules equivalent to the docker0 rules have
|
||||
also been inserted for the new bridge.
|
||||
- In the DOCKER chain, there is an ACCEPT rule for TCP port 80 packets routed
|
||||
to the container's address. This rule is added when the container is created
|
||||
(unlike all the other rules so-far, which were created during driver or
|
||||
@@ -35,8 +33,8 @@ Note that:
|
||||
created before `bridge1`, the `bridge1` rules appear above and below the
|
||||
`docker0` DROP rule.
|
||||
|
||||
[1]: https://github.com/moby/moby/blob/675c2ac2db93e38bb9c5a6615d4155a969535fd9/libnetwork/drivers/bridge/port_mapping_linux.go#L795
|
||||
[2]: https://github.com/robmry/moby/blob/52c89d467fc5326149e4bbb8903d23589b66ff0d/libnetwork/drivers/bridge/setup_ip_tables_linux.go#L252
|
||||
[1]: https://github.com/search?q=repo%3Amoby%2Fmoby+setPerPortForwarding&type=code
|
||||
[2]: https://github.com/search?q=repo%3Amoby%2Fmoby%20setDefaultForwardRule&type=code
|
||||
|
||||
The corresponding nat table:
|
||||
|
||||
|
||||
@@ -496,40 +496,39 @@ func TestBridgeINCRouted(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// TestRoutedAccessToPublishedPort checks that:
|
||||
// - with docker-proxy enabled, a container in a gw-mode=routed network can access a port
|
||||
// published to the host by a container in a gw-mode=nat network.
|
||||
// - if the proxy is disabled, those packets are dropped by the network isolation rules
|
||||
// - working around those INC rules by adding a rule to DOCKER-USER enables access to the
|
||||
// published port (so, packets from the mode-routed network are still DNAT'd).
|
||||
// TestAccessToPublishedPort checks that a container in one network can
|
||||
// access a port published to the host by a container in another network,
|
||||
// with various combinations of gateway-mode, with and without the
|
||||
// userland proxy.
|
||||
//
|
||||
// Regression test for https://github.com/moby/moby/issues/49509
|
||||
func TestRoutedAccessToPublishedPort(t *testing.T) {
|
||||
func TestAccessToPublishedPort(t *testing.T) {
|
||||
skip.If(t, testEnv.IsRootless, "Published port not accessible from rootless netns")
|
||||
|
||||
ctx := setupTest(t)
|
||||
|
||||
testcases := []struct {
|
||||
name string
|
||||
userlandProxy bool
|
||||
skipINC bool
|
||||
expResponseIptables bool
|
||||
expResponseNftables bool
|
||||
name string
|
||||
clientGwMode string
|
||||
userlandProxy bool
|
||||
}{
|
||||
{
|
||||
name: "proxy=true/skipINC=false",
|
||||
userlandProxy: true,
|
||||
expResponseIptables: true,
|
||||
expResponseNftables: true,
|
||||
name: "client=routed/proxy=true",
|
||||
clientGwMode: "routed",
|
||||
userlandProxy: true,
|
||||
},
|
||||
{
|
||||
name: "proxy=false/skipINC=false",
|
||||
expResponseNftables: true,
|
||||
name: "client=routed/proxy=false",
|
||||
clientGwMode: "routed",
|
||||
},
|
||||
{
|
||||
name: "proxy=false/skipINC=true",
|
||||
skipINC: true,
|
||||
expResponseIptables: true,
|
||||
name: "client=nat/proxy=true",
|
||||
clientGwMode: "nat",
|
||||
userlandProxy: true,
|
||||
},
|
||||
{
|
||||
name: "client=nat/proxy=false",
|
||||
clientGwMode: "nat",
|
||||
},
|
||||
}
|
||||
|
||||
@@ -538,61 +537,36 @@ func TestRoutedAccessToPublishedPort(t *testing.T) {
|
||||
d := daemon.New(t)
|
||||
d.StartWithBusybox(ctx, t, "--ipv6", "--userland-proxy="+strconv.FormatBool(tc.userlandProxy))
|
||||
defer d.Stop(t)
|
||||
usingNftables := d.FirewallBackendDriver(t) == "nftables"
|
||||
if usingNftables && tc.skipINC {
|
||||
t.Skip("Skipping iptables skip-INC test, using nftables")
|
||||
}
|
||||
|
||||
c := d.NewClientT(t)
|
||||
defer c.Close()
|
||||
|
||||
const natNetName = "tnet-nat"
|
||||
const natBridgeName = "br-nat"
|
||||
network.CreateNoError(ctx, t, c, natNetName,
|
||||
const serverNetName = "tnet-server"
|
||||
network.CreateNoError(ctx, t, c, serverNetName,
|
||||
network.WithDriver("bridge"),
|
||||
network.WithIPv6(),
|
||||
network.WithOption(bridge.BridgeName, natBridgeName),
|
||||
network.WithOption(bridge.BridgeName, "br-server"),
|
||||
)
|
||||
defer network.RemoveNoError(ctx, t, c, natNetName)
|
||||
defer network.RemoveNoError(ctx, t, c, serverNetName)
|
||||
|
||||
ctrId := container.Run(ctx, t, c,
|
||||
container.WithNetworkMode(natNetName),
|
||||
container.WithName("ctr-nat"),
|
||||
container.WithNetworkMode(serverNetName),
|
||||
container.WithName("ctr-server"),
|
||||
container.WithExposedPorts("80/tcp"),
|
||||
container.WithPortMap(nat.PortMap{"80/tcp": {nat.PortBinding{HostPort: "8080"}}}),
|
||||
container.WithCmd("httpd", "-f"),
|
||||
)
|
||||
defer c.ContainerRemove(ctx, ctrId, containertypes.RemoveOptions{Force: true})
|
||||
|
||||
const routedNetName = "tnet-routed"
|
||||
network.CreateNoError(ctx, t, c, routedNetName,
|
||||
const clientNetName = "tnet-client"
|
||||
network.CreateNoError(ctx, t, c, clientNetName,
|
||||
network.WithDriver("bridge"),
|
||||
network.WithIPv6(),
|
||||
network.WithOption(bridge.BridgeName, "br-routed"),
|
||||
network.WithOption(bridge.IPv4GatewayMode, "routed"),
|
||||
network.WithOption(bridge.IPv6GatewayMode, "routed"),
|
||||
network.WithOption(bridge.BridgeName, "br-client"),
|
||||
network.WithOption(bridge.IPv4GatewayMode, tc.clientGwMode),
|
||||
network.WithOption(bridge.IPv6GatewayMode, tc.clientGwMode),
|
||||
)
|
||||
defer network.RemoveNoError(ctx, t, c, routedNetName)
|
||||
|
||||
// With docker-proxy disabled, a container can't normally access a port published
|
||||
// from a container in a different bridge network. But, users can add rules to
|
||||
// the DOCKER-USER chain to get around that limitation of docker's iptables rules.
|
||||
// Do that here, if the test requires it.
|
||||
if tc.skipINC {
|
||||
for _, ipv := range []iptables.IPVersion{iptables.IPv4, iptables.IPv6} {
|
||||
rule := iptables.Rule{
|
||||
IPVer: ipv, Table: iptables.Filter, Chain: "DOCKER-USER",
|
||||
Args: []string{"-o", natBridgeName, "-j", "ACCEPT"},
|
||||
}
|
||||
err := rule.Insert()
|
||||
assert.NilError(t, err)
|
||||
defer func() {
|
||||
if err := rule.Delete(); err != nil {
|
||||
t.Errorf("Failed to delete %s DOCKER-USER rule: %v", ipv, err)
|
||||
}
|
||||
}()
|
||||
}
|
||||
}
|
||||
defer network.RemoveNoError(ctx, t, c, clientNetName)
|
||||
|
||||
// Use the default bridge addresses as host addresses (like "host-gateway", but
|
||||
// there's no way to tell wget to prefer ipv4/ipv6 transport, so just use the
|
||||
@@ -607,17 +581,148 @@ func TestRoutedAccessToPublishedPort(t *testing.T) {
|
||||
t.Run(ipv, func(t *testing.T) {
|
||||
url := "http://" + net.JoinHostPort(ipamCfg.Gateway, "8080")
|
||||
res := container.RunAttach(ctx, t, c,
|
||||
container.WithNetworkMode(routedNetName),
|
||||
container.WithNetworkMode(clientNetName),
|
||||
container.WithCmd("wget", "-O-", "-T3", url),
|
||||
)
|
||||
if (usingNftables && tc.expResponseNftables) || (!usingNftables && tc.expResponseIptables) {
|
||||
// 404 Not Found means the server responded, but it's got nothing to serve.
|
||||
assert.Check(t, is.Contains(res.Stderr.String(), "404 Not Found"), "url: %s", url)
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
// TestInterNetworkDirectRouting checks whether containers in one network
|
||||
// can access ports on container addresses in other networks for combinations
|
||||
// of gateway mode, published and unpublished ports, with and without the
|
||||
// userland-proxy. (This is about direct routing between containers, so the
|
||||
// docker-proxy shouldn't be involved - but the firewall config is a bit
|
||||
// different, so it's worth testing.)
|
||||
//
|
||||
// Regression test for https://github.com/moby/moby/issues/49509
|
||||
func TestInterNetworkDirectRouting(t *testing.T) {
|
||||
ctx := setupTest(t)
|
||||
|
||||
testcases := []struct {
|
||||
name string
|
||||
serverGwMode string
|
||||
userlandProxy bool
|
||||
expPubResp bool
|
||||
expUnpubResp bool
|
||||
}{
|
||||
{
|
||||
name: "server=nat/proxy=true",
|
||||
serverGwMode: "nat",
|
||||
userlandProxy: true,
|
||||
expPubResp: false, // Direct routing is blocked by raw-prerouting rules.
|
||||
expUnpubResp: false, // Direct routing is blocked by raw-prerouting rules.
|
||||
},
|
||||
{
|
||||
name: "server=nat/proxy=false",
|
||||
serverGwMode: "nat",
|
||||
expPubResp: false, // Direct routing is blocked by raw-prerouting rules.
|
||||
expUnpubResp: false, // Direct routing is blocked by raw-prerouting rules.
|
||||
},
|
||||
{
|
||||
name: "server=routed/proxy=true",
|
||||
serverGwMode: "routed",
|
||||
userlandProxy: true,
|
||||
expPubResp: true,
|
||||
expUnpubResp: false, // Unpublished ports are blocked by port-filtering rules.
|
||||
},
|
||||
{
|
||||
name: "server=routed/proxy=false",
|
||||
serverGwMode: "routed",
|
||||
expPubResp: true,
|
||||
expUnpubResp: false, // Unpublished ports are blocked by port-filtering rules.
|
||||
},
|
||||
{
|
||||
name: "server=nat-unprotected/proxy=true",
|
||||
serverGwMode: "nat-unprotected",
|
||||
userlandProxy: true,
|
||||
expPubResp: true,
|
||||
expUnpubResp: true,
|
||||
},
|
||||
{
|
||||
name: "server=nat-unprotected/proxy=false",
|
||||
serverGwMode: "nat-unprotected",
|
||||
expPubResp: true,
|
||||
expUnpubResp: true,
|
||||
},
|
||||
}
|
||||
|
||||
for _, tc := range testcases {
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
d := daemon.New(t)
|
||||
d.StartWithBusybox(ctx, t, "--ipv6", "--userland-proxy="+strconv.FormatBool(tc.userlandProxy))
|
||||
defer d.Stop(t)
|
||||
|
||||
c := d.NewClientT(t)
|
||||
defer c.Close()
|
||||
|
||||
const serverNetName = "tnet-server"
|
||||
network.CreateNoError(ctx, t, c, serverNetName,
|
||||
network.WithDriver("bridge"),
|
||||
network.WithIPv6(),
|
||||
network.WithOption(bridge.BridgeName, "br-server"),
|
||||
network.WithOption(bridge.IPv4GatewayMode, tc.serverGwMode),
|
||||
network.WithOption(bridge.IPv6GatewayMode, tc.serverGwMode),
|
||||
)
|
||||
defer network.RemoveNoError(ctx, t, c, serverNetName)
|
||||
|
||||
ctrPubId := container.Run(ctx, t, c,
|
||||
container.WithNetworkMode(serverNetName),
|
||||
container.WithName("ctr-pub"),
|
||||
container.WithExposedPorts("80/tcp"),
|
||||
container.WithPortMap(nat.PortMap{"80/tcp": {nat.PortBinding{HostPort: "8080"}}}),
|
||||
container.WithCmd("httpd", "-f"),
|
||||
)
|
||||
defer c.ContainerRemove(ctx, ctrPubId, containertypes.RemoveOptions{Force: true})
|
||||
inspPub := container.Inspect(ctx, t, c, ctrPubId)
|
||||
pub4 := inspPub.NetworkSettings.Networks[serverNetName].IPAddress
|
||||
pub6 := inspPub.NetworkSettings.Networks[serverNetName].GlobalIPv6Address
|
||||
|
||||
ctrUnpubId := container.Run(ctx, t, c,
|
||||
container.WithNetworkMode(serverNetName),
|
||||
container.WithName("ctr-unpub"),
|
||||
container.WithCmd("httpd", "-f"),
|
||||
)
|
||||
defer c.ContainerRemove(ctx, ctrUnpubId, containertypes.RemoveOptions{Force: true})
|
||||
inspUnpub := container.Inspect(ctx, t, c, ctrUnpubId)
|
||||
unpub4 := inspUnpub.NetworkSettings.Networks[serverNetName].IPAddress
|
||||
unpub6 := inspUnpub.NetworkSettings.Networks[serverNetName].GlobalIPv6Address
|
||||
|
||||
const clientNetName = "tnet-client"
|
||||
network.CreateNoError(ctx, t, c, clientNetName,
|
||||
network.WithDriver("bridge"),
|
||||
network.WithIPv6(),
|
||||
network.WithOption(bridge.BridgeName, "br-client"),
|
||||
)
|
||||
defer network.RemoveNoError(ctx, t, c, clientNetName)
|
||||
|
||||
checkHTTP := func(addr string, expResp bool) func(t *testing.T) {
|
||||
return func(t *testing.T) {
|
||||
t.Parallel()
|
||||
t.Helper()
|
||||
url := "http://" + net.JoinHostPort(addr, "80")
|
||||
res := container.RunAttach(ctx, t, c,
|
||||
container.WithNetworkMode(clientNetName),
|
||||
container.WithCmd("wget", "-O-", "-T3", url),
|
||||
)
|
||||
if expResp {
|
||||
// 404 Not Found means the server responded, but it's got nothing to serve.
|
||||
assert.Check(t, is.Contains(res.Stderr.String(), "404 Not Found"), "url: %s", url)
|
||||
} else {
|
||||
assert.Check(t, is.Contains(res.Stderr.String(), "download timed out"), "url: %s", url)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
t.Run("w", func(t *testing.T) { // Wait for the parallel tests to complete.
|
||||
t.Run("ipv4/pub", checkHTTP(pub4, tc.expPubResp))
|
||||
t.Run("ipv6/pub", checkHTTP(pub6, tc.expPubResp))
|
||||
t.Run("ipv4/unpub", checkHTTP(unpub4, tc.expUnpubResp))
|
||||
t.Run("ipv6/unpub", checkHTTP(unpub6, tc.expUnpubResp))
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
-N DOCKER-FORWARD
|
||||
-A DOCKER-FORWARD -j DOCKER-INGRESS
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
|
||||
@@ -18,19 +18,19 @@ const (
|
||||
// DockerForwardChain contains Docker's filter-FORWARD rules.
|
||||
//
|
||||
// FIXME(robmry) - only exported because it's used to set up the jump to swarm's DOCKER-INGRESS chain.
|
||||
DockerForwardChain = "DOCKER-FORWARD"
|
||||
dockerBridgeChain = "DOCKER-BRIDGE"
|
||||
dockerCTChain = "DOCKER-CT"
|
||||
DockerForwardChain = "DOCKER-FORWARD"
|
||||
dockerBridgeChain = "DOCKER-BRIDGE"
|
||||
dockerCTChain = "DOCKER-CT"
|
||||
dockerInternalChain = "DOCKER-INTERNAL"
|
||||
|
||||
// Isolation between bridge networks is achieved in two stages by means
|
||||
// of the following two chains in the filter table. The first chain matches
|
||||
// on the source interface being a bridge network's bridge and the
|
||||
// destination being a different interface. A positive match leads to the
|
||||
// second isolation chain. No match returns to the parent chain. The second
|
||||
// isolation chain matches on destination interface being a bridge network's
|
||||
// bridge. A positive match identifies a packet originated from one bridge
|
||||
// network's bridge destined to another bridge network's bridge and will
|
||||
// result in the packet being dropped. No match returns to the parent chain.
|
||||
// These INC (inter-network communication) chains are no longer needed, packets
|
||||
// sent to unpublished ports in other networks are now dropped by rules in the DOCKER
|
||||
// chain. Packets sent directly to published ports in a different network don't need
|
||||
// to be dropped:
|
||||
// - containers in other networks have access via the host's address, and
|
||||
// - it was surprising that a container in a gwmode=nat network couldn't talk to a
|
||||
// published port in a gwmode=routed network, but anything outside a bridge
|
||||
// network could.
|
||||
isolationChain1 = "DOCKER-ISOLATION-STAGE-1"
|
||||
isolationChain2 = "DOCKER-ISOLATION-STAGE-2"
|
||||
)
|
||||
@@ -180,26 +180,14 @@ func setupIPChains(ctx context.Context, version iptables.IPVersion, iptCfg firew
|
||||
}
|
||||
}()
|
||||
|
||||
_, err = iptable.NewChain(isolationChain1, iptables.Filter)
|
||||
_, err = iptable.NewChain(dockerInternalChain, iptables.Filter)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to create FILTER isolation chain: %v", err)
|
||||
return fmt.Errorf("failed to create FILTER internal chain: %v", err)
|
||||
}
|
||||
defer func() {
|
||||
if retErr != nil {
|
||||
if err := iptable.RemoveExistingChain(isolationChain1, iptables.Filter); err != nil {
|
||||
log.G(ctx).Warnf("failed on removing iptables FILTER chain %s on cleanup: %v", isolationChain1, err)
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
||||
_, err = iptable.NewChain(isolationChain2, iptables.Filter)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to create FILTER isolation chain: %v", err)
|
||||
}
|
||||
defer func() {
|
||||
if retErr != nil {
|
||||
if err := iptable.RemoveExistingChain(isolationChain2, iptables.Filter); err != nil {
|
||||
log.G(ctx).Warnf("failed on removing iptables FILTER chain %s on cleanup: %v", isolationChain2, err)
|
||||
if err := iptable.RemoveExistingChain(dockerInternalChain, iptables.Filter); err != nil {
|
||||
log.G(ctx).Warnf("failed on removing iptables FILTER chain %s on cleanup: %v", dockerInternalChain, err)
|
||||
}
|
||||
}
|
||||
}()
|
||||
@@ -224,7 +212,7 @@ func setupIPChains(ctx context.Context, version iptables.IPVersion, iptCfg firew
|
||||
if err := iptable.EnsureJumpRule(DockerForwardChain, dockerBridgeChain); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := iptable.EnsureJumpRule(DockerForwardChain, isolationChain1); err != nil {
|
||||
if err := iptable.EnsureJumpRule(DockerForwardChain, dockerInternalChain); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := iptable.EnsureJumpRule(DockerForwardChain, dockerCTChain); err != nil {
|
||||
|
||||
@@ -39,12 +39,14 @@ func TestCleanupIptableRules(t *testing.T) {
|
||||
expRemoved bool
|
||||
}{
|
||||
{name: dockerChain, table: iptables.Nat, expRemoved: true},
|
||||
// The filter-FORWARD chain has references to dockerChain and isolationChain1,
|
||||
// so the chains won't be removed - but they should be flushed. (This has
|
||||
// long/always been the case for the daemon, its filter-FORWARD rules aren't
|
||||
// removed.)
|
||||
{name: dockerChain, table: iptables.Filter},
|
||||
{name: isolationChain1, table: iptables.Filter},
|
||||
// The filter-FORWARD chain has a reference to dockerForwardChain, so it won't be
|
||||
// removed - but it should be flushed. (This has long/always been the case for
|
||||
// the daemon, its filter-FORWARD rules aren't removed.)
|
||||
{name: DockerForwardChain, table: iptables.Filter},
|
||||
{name: dockerCTChain, table: iptables.Filter, expRemoved: true},
|
||||
{name: dockerBridgeChain, table: iptables.Filter, expRemoved: true},
|
||||
{name: dockerChain, table: iptables.Filter, expRemoved: true},
|
||||
{name: dockerInternalChain, table: iptables.Filter, expRemoved: true},
|
||||
}
|
||||
|
||||
ipVersions := []iptables.IPVersion{iptables.IPv4, iptables.IPv6}
|
||||
|
||||
@@ -71,15 +71,9 @@ func (n *network) DelNetworkLevelRules(_ context.Context) error {
|
||||
|
||||
func (n *network) configure(ctx context.Context, ipv iptables.IPVersion, conf firewaller.NetworkConfigFam) error {
|
||||
if !conf.Prefix.IsValid() {
|
||||
// Delete INC rules, in case they were created by a 28.0.0 daemon that didn't check
|
||||
// whether the network had iptables/ip6tables enabled.
|
||||
// This preserves https://github.com/moby/moby/commit/8cc4d1d4a2b6408232041f9ba4dff966eba80cc0
|
||||
return setINC(ctx, ipv, n.config.IfName, conf.Routed, false)
|
||||
return nil
|
||||
}
|
||||
if err := n.setupIPTables(ctx, ipv, conf); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
return n.setupIPTables(ctx, ipv, conf)
|
||||
}
|
||||
|
||||
func (n *network) registerCleanFunc(clean iptableCleanFunc) {
|
||||
@@ -145,15 +139,6 @@ func (n *network) setupIPTables(ctx context.Context, ipVersion iptables.IPVersio
|
||||
n.registerCleanFunc(func() error {
|
||||
return appendOrDelChainRule(jumpToDockerRule, "jump to docker", false)
|
||||
})
|
||||
|
||||
// Register the cleanup function first. Then, if setINC fails after creating
|
||||
// some rules, they will be deleted.
|
||||
n.registerCleanFunc(func() error {
|
||||
return setINC(ctx, ipVersion, n.config.IfName, config.Routed, false)
|
||||
})
|
||||
if err := setINC(ctx, ipVersion, n.config.IfName, config.Routed, true); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -311,26 +296,6 @@ func (n *network) setupNonInternalNetworkRules(ctx context.Context, ipVer iptabl
|
||||
return err
|
||||
}
|
||||
}
|
||||
// If the userland proxy is running (!hairpin), skip DNAT for packets originating from
|
||||
// this new network. Then, the proxy can pick up the packet from the host address the dest
|
||||
// port is published to. Otherwise, if the packet is DNAT'd, it's forwarded straight to the
|
||||
// target network, and will be dropped by network isolation rules if it didn't originate in
|
||||
// the same bridge network. (So, with the proxy enabled, this skip allows a container in one
|
||||
// network to reach a port published by a container in another bridge network.)
|
||||
//
|
||||
// If the userland proxy is disabled, don't skip, so packets will be DNAT'd. That will
|
||||
// enable access to ports published by containers in the same network. But, the INC rules
|
||||
// will block access to that published port from containers in other networks. (However,
|
||||
// users may add a rule to DOCKER-USER to work around the INC rules if needed.)
|
||||
if !n.ipt.config.Hairpin {
|
||||
skipDNAT := iptables.Rule{IPVer: ipVer, Table: iptables.Nat, Chain: dockerChain, Args: []string{
|
||||
"-i", n.config.IfName,
|
||||
"-j", "RETURN",
|
||||
}}
|
||||
if err := programChainRule(skipDNAT, "SKIP DNAT", enable); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// In hairpin mode, masquerade traffic from localhost. If hairpin is disabled or if we're tearing down
|
||||
@@ -434,70 +399,6 @@ func setIcc(ctx context.Context, version iptables.IPVersion, bridgeIface string,
|
||||
return nil
|
||||
}
|
||||
|
||||
// Control Inter-Network Communication.
|
||||
// Install rules only if they aren't present, remove only if they are.
|
||||
// If this method returns an error, it doesn't roll back any rules it has added.
|
||||
// No error is returned if rules cannot be removed (errors are just logged).
|
||||
func setINC(ctx context.Context, version iptables.IPVersion, iface string, routed, enable bool) (retErr error) {
|
||||
iptable := iptables.GetIptable(version)
|
||||
actionI, actionA := iptables.Insert, iptables.Append
|
||||
actionMsg := "add"
|
||||
if !enable {
|
||||
actionI, actionA = iptables.Delete, iptables.Delete
|
||||
actionMsg = "remove"
|
||||
}
|
||||
|
||||
if routed {
|
||||
// Anything is allowed into a routed network at this stage, so RETURN. Port
|
||||
// filtering rules in the DOCKER chain will drop anything that's not destined
|
||||
// for an open port.
|
||||
if err := iptable.ProgramRule(iptables.Filter, isolationChain1, actionI, []string{
|
||||
"-o", iface,
|
||||
"-j", "RETURN",
|
||||
}); err != nil {
|
||||
log.G(ctx).WithError(err).Warnf("Failed to %s inter-network communication rule", actionMsg)
|
||||
if enable {
|
||||
return fmt.Errorf("%s inter-network communication rule: %w", actionMsg, err)
|
||||
}
|
||||
}
|
||||
|
||||
// Allow responses from the routed network into whichever network made the request.
|
||||
if err := iptable.ProgramRule(iptables.Filter, isolationChain1, actionI, []string{
|
||||
"-i", iface,
|
||||
"-m", "conntrack", "--ctstate", "RELATED,ESTABLISHED",
|
||||
"-j", "ACCEPT",
|
||||
}); err != nil {
|
||||
log.G(ctx).WithError(err).Warnf("Failed to %s inter-network communication rule", actionMsg)
|
||||
if enable {
|
||||
return fmt.Errorf("%s inter-network communication rule: %w", actionMsg, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if err := iptable.ProgramRule(iptables.Filter, isolationChain1, actionA, []string{
|
||||
"-i", iface,
|
||||
"!", "-o", iface,
|
||||
"-j", isolationChain2,
|
||||
}); err != nil {
|
||||
log.G(ctx).WithError(err).Warnf("Failed to %s inter-network communication rule", actionMsg)
|
||||
if enable {
|
||||
return fmt.Errorf("%s inter-network communication rule: %w", actionMsg, err)
|
||||
}
|
||||
}
|
||||
|
||||
if err := iptable.ProgramRule(iptables.Filter, isolationChain2, actionI, []string{
|
||||
"-o", iface,
|
||||
"-j", "DROP",
|
||||
}); err != nil {
|
||||
log.G(ctx).WithError(err).Warnf("Failed to %s inter-network communication rule", actionMsg)
|
||||
if enable {
|
||||
return fmt.Errorf("%s inter-network communication rule: %w", actionMsg, err)
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// Obsolete chain from previous docker versions
|
||||
const oldIsolationChain = "DOCKER-ISOLATION"
|
||||
|
||||
@@ -514,6 +415,7 @@ func removeIPChains(ctx context.Context, version iptables.IPVersion) {
|
||||
{Name: DockerForwardChain, Table: iptables.Filter, IPVersion: version},
|
||||
{Name: dockerBridgeChain, Table: iptables.Filter, IPVersion: version},
|
||||
{Name: dockerCTChain, Table: iptables.Filter, IPVersion: version},
|
||||
{Name: dockerInternalChain, Table: iptables.Filter, IPVersion: version},
|
||||
{Name: isolationChain1, Table: iptables.Filter, IPVersion: version},
|
||||
{Name: isolationChain2, Table: iptables.Filter, IPVersion: version},
|
||||
{Name: oldIsolationChain, Table: iptables.Filter, IPVersion: version},
|
||||
@@ -544,13 +446,13 @@ func setupInternalNetworkRules(ctx context.Context, bridgeIface string, prefix n
|
||||
inDropRule = iptables.Rule{
|
||||
IPVer: version,
|
||||
Table: iptables.Filter,
|
||||
Chain: isolationChain1,
|
||||
Chain: dockerInternalChain,
|
||||
Args: []string{"-i", bridgeIface, "!", "-d", prefix.String(), "-j", "DROP"},
|
||||
}
|
||||
outDropRule = iptables.Rule{
|
||||
IPVer: version,
|
||||
Table: iptables.Filter,
|
||||
Chain: isolationChain1,
|
||||
Chain: dockerInternalChain,
|
||||
Args: []string{"-o", bridgeIface, "!", "-s", prefix.String(), "-j", "DROP"},
|
||||
}
|
||||
} else {
|
||||
@@ -558,13 +460,13 @@ func setupInternalNetworkRules(ctx context.Context, bridgeIface string, prefix n
|
||||
inDropRule = iptables.Rule{
|
||||
IPVer: version,
|
||||
Table: iptables.Filter,
|
||||
Chain: isolationChain1,
|
||||
Chain: dockerInternalChain,
|
||||
Args: []string{"-i", bridgeIface, "!", "-o", bridgeIface, "!", "-d", prefix.String(), "-j", "DROP"},
|
||||
}
|
||||
outDropRule = iptables.Rule{
|
||||
IPVer: version,
|
||||
Table: iptables.Filter,
|
||||
Chain: isolationChain1,
|
||||
Chain: dockerInternalChain,
|
||||
Args: []string{"!", "-i", bridgeIface, "-o", bridgeIface, "!", "-s", prefix.String(), "-j", "DROP"},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,11 +10,10 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
COMMIT
|
||||
*nat
|
||||
|
||||
@@ -10,11 +10,10 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
COMMIT
|
||||
*nat
|
||||
|
||||
@@ -10,11 +10,10 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
COMMIT
|
||||
*nat
|
||||
|
||||
@@ -10,11 +10,10 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
COMMIT
|
||||
*nat
|
||||
|
||||
@@ -10,11 +10,10 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
COMMIT
|
||||
*nat
|
||||
|
||||
@@ -10,11 +10,10 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
COMMIT
|
||||
*nat
|
||||
|
||||
@@ -11,20 +11,17 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -11,20 +11,17 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d fd49:efd7:54aa::1/128 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -11,20 +11,17 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -13,20 +13,17 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -11,20 +11,17 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d fd49:efd7:54aa::1/128 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -12,20 +12,17 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -10,19 +10,16 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j ACCEPT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -10,19 +10,16 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j ACCEPT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -10,19 +10,16 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j ACCEPT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -12,19 +12,16 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j ACCEPT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -10,19 +10,16 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j ACCEPT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -11,19 +11,16 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j ACCEPT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -10,8 +10,7 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER -o br-dummy -p icmp -j ACCEPT
|
||||
@@ -19,14 +18,10 @@ COMMIT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -o br-dummy -j RETURN
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -10,8 +10,7 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d fd49:efd7:54aa::1/128 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER -o br-dummy -p ipv6-icmp -j ACCEPT
|
||||
@@ -19,14 +18,10 @@ COMMIT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -o br-dummy -j RETURN
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -10,8 +10,7 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER -o br-dummy -p icmp -j ACCEPT
|
||||
@@ -19,14 +18,10 @@ COMMIT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -o br-dummy -j RETURN
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -12,8 +12,7 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER -o br-dummy -p icmp -j ACCEPT
|
||||
@@ -21,14 +20,10 @@ COMMIT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -o br-dummy -j RETURN
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -10,8 +10,7 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d fd49:efd7:54aa::1/128 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER -o br-dummy -p ipv6-icmp -j ACCEPT
|
||||
@@ -19,14 +18,10 @@ COMMIT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -o br-dummy -j RETURN
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -11,8 +11,7 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER -o br-dummy -p icmp -j ACCEPT
|
||||
@@ -20,14 +19,10 @@ COMMIT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -o br-dummy -j RETURN
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -11,20 +11,17 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -11,20 +11,17 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d fd49:efd7:54aa::1/128 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -11,20 +11,17 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -13,20 +13,17 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -11,20 +11,17 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d fd49:efd7:54aa::1/128 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -12,20 +12,17 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -10,19 +10,16 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j ACCEPT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -10,19 +10,16 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j ACCEPT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -10,19 +10,16 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j ACCEPT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -12,19 +12,16 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j ACCEPT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -10,19 +10,16 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j ACCEPT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -11,19 +11,16 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j ACCEPT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -10,8 +10,7 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER -o br-dummy -p icmp -j ACCEPT
|
||||
@@ -19,14 +18,10 @@ COMMIT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -o br-dummy -j RETURN
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -10,8 +10,7 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d fd49:efd7:54aa::1/128 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER -o br-dummy -p ipv6-icmp -j ACCEPT
|
||||
@@ -19,14 +18,10 @@ COMMIT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -o br-dummy -j RETURN
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -10,8 +10,7 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER -o br-dummy -p icmp -j ACCEPT
|
||||
@@ -19,14 +18,10 @@ COMMIT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -o br-dummy -j RETURN
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -12,8 +12,7 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER -o br-dummy -p icmp -j ACCEPT
|
||||
@@ -21,14 +20,10 @@ COMMIT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -o br-dummy -j RETURN
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -10,8 +10,7 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d fd49:efd7:54aa::1/128 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER -o br-dummy -p ipv6-icmp -j ACCEPT
|
||||
@@ -19,14 +18,10 @@ COMMIT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -o br-dummy -j RETURN
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -11,8 +11,7 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER -o br-dummy -p icmp -j ACCEPT
|
||||
@@ -20,14 +19,10 @@ COMMIT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -o br-dummy -j RETURN
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -11,20 +11,17 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -35,7 +32,6 @@ COMMIT
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s 192.168.0.0/24 ! -o br-dummy -j MASQUERADE
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER -d 127.0.0.0/8 -i loopback0 -j RETURN
|
||||
-A DOCKER ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.2:80
|
||||
COMMIT
|
||||
|
||||
@@ -11,20 +11,17 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d fd49:efd7:54aa::1/128 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -35,6 +32,5 @@ COMMIT
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d ::1/128 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s fd49:efd7:54aa::/64 ! -o br-dummy -j MASQUERADE
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER ! -s fe80::/10 ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination [fd49:efd7:54aa::1]:80
|
||||
COMMIT
|
||||
|
||||
@@ -11,20 +11,17 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -35,6 +32,5 @@ COMMIT
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s 192.168.0.0/24 ! -o br-dummy -j MASQUERADE
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.2:80
|
||||
COMMIT
|
||||
|
||||
@@ -13,20 +13,17 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -37,7 +34,6 @@ COMMIT
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s 192.168.0.0/24 ! -o br-dummy -j MASQUERADE
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER -d 127.0.0.0/8 -i loopback0 -j RETURN
|
||||
-A DOCKER -d 127.0.0.1/32 ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.2:80
|
||||
COMMIT
|
||||
|
||||
@@ -11,20 +11,17 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d fd49:efd7:54aa::1/128 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -35,6 +32,5 @@ COMMIT
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d ::1/128 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s fd49:efd7:54aa::/64 ! -o br-dummy -j MASQUERADE
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER ! -s fe80::/10 -d ::1/128 ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination [fd49:efd7:54aa::1]:80
|
||||
COMMIT
|
||||
|
||||
@@ -12,20 +12,17 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -36,6 +33,5 @@ COMMIT
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s 192.168.0.0/24 ! -o br-dummy -j MASQUERADE
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER -d 127.0.0.1/32 ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.2:80
|
||||
COMMIT
|
||||
|
||||
@@ -10,19 +10,16 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j ACCEPT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -33,7 +30,6 @@ COMMIT
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s 192.168.0.0/24 ! -o br-dummy -j MASQUERADE
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER -d 127.0.0.0/8 -i loopback0 -j RETURN
|
||||
-A DOCKER ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.2:80
|
||||
COMMIT
|
||||
|
||||
@@ -10,19 +10,16 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j ACCEPT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -33,6 +30,5 @@ COMMIT
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d ::1/128 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s fd49:efd7:54aa::/64 ! -o br-dummy -j MASQUERADE
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER ! -s fe80::/10 ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination [fd49:efd7:54aa::1]:80
|
||||
COMMIT
|
||||
|
||||
@@ -10,19 +10,16 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j ACCEPT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -33,6 +30,5 @@ COMMIT
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s 192.168.0.0/24 ! -o br-dummy -j MASQUERADE
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.2:80
|
||||
COMMIT
|
||||
|
||||
@@ -12,19 +12,16 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j ACCEPT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -35,7 +32,6 @@ COMMIT
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s 192.168.0.0/24 ! -o br-dummy -j MASQUERADE
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER -d 127.0.0.0/8 -i loopback0 -j RETURN
|
||||
-A DOCKER -d 127.0.0.1/32 ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.2:80
|
||||
COMMIT
|
||||
|
||||
@@ -10,19 +10,16 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j ACCEPT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -33,6 +30,5 @@ COMMIT
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d ::1/128 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s fd49:efd7:54aa::/64 ! -o br-dummy -j MASQUERADE
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER ! -s fe80::/10 -d ::1/128 ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination [fd49:efd7:54aa::1]:80
|
||||
COMMIT
|
||||
|
||||
@@ -11,19 +11,16 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j ACCEPT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -34,6 +31,5 @@ COMMIT
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s 192.168.0.0/24 ! -o br-dummy -j MASQUERADE
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER -d 127.0.0.1/32 ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.2:80
|
||||
COMMIT
|
||||
|
||||
@@ -10,8 +10,7 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER -o br-dummy -p icmp -j ACCEPT
|
||||
@@ -19,14 +18,10 @@ COMMIT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -o br-dummy -j RETURN
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -36,7 +31,6 @@ COMMIT
|
||||
:DOCKER - [0:0]
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER -d 127.0.0.0/8 -i loopback0 -j RETURN
|
||||
-A DOCKER ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.2:80
|
||||
COMMIT
|
||||
|
||||
@@ -10,8 +10,7 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d fd49:efd7:54aa::1/128 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER -o br-dummy -p ipv6-icmp -j ACCEPT
|
||||
@@ -19,14 +18,10 @@ COMMIT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -o br-dummy -j RETURN
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -36,6 +31,5 @@ COMMIT
|
||||
:DOCKER - [0:0]
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d ::1/128 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER ! -s fe80::/10 ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination [fd49:efd7:54aa::1]:80
|
||||
COMMIT
|
||||
|
||||
@@ -10,8 +10,7 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER -o br-dummy -p icmp -j ACCEPT
|
||||
@@ -19,14 +18,10 @@ COMMIT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -o br-dummy -j RETURN
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -36,6 +31,5 @@ COMMIT
|
||||
:DOCKER - [0:0]
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.2:80
|
||||
COMMIT
|
||||
|
||||
@@ -12,8 +12,7 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER -o br-dummy -p icmp -j ACCEPT
|
||||
@@ -21,14 +20,10 @@ COMMIT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -o br-dummy -j RETURN
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -38,7 +33,6 @@ COMMIT
|
||||
:DOCKER - [0:0]
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER -d 127.0.0.0/8 -i loopback0 -j RETURN
|
||||
-A DOCKER -d 127.0.0.1/32 ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.2:80
|
||||
COMMIT
|
||||
|
||||
@@ -10,8 +10,7 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d fd49:efd7:54aa::1/128 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER -o br-dummy -p ipv6-icmp -j ACCEPT
|
||||
@@ -19,14 +18,10 @@ COMMIT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -o br-dummy -j RETURN
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -36,6 +31,5 @@ COMMIT
|
||||
:DOCKER - [0:0]
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d ::1/128 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER ! -s fe80::/10 -d ::1/128 ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination [fd49:efd7:54aa::1]:80
|
||||
COMMIT
|
||||
|
||||
@@ -11,8 +11,7 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER -o br-dummy -p icmp -j ACCEPT
|
||||
@@ -20,14 +19,10 @@ COMMIT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -o br-dummy -j RETURN
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -37,6 +32,5 @@ COMMIT
|
||||
:DOCKER - [0:0]
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER -d 127.0.0.1/32 ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.2:80
|
||||
COMMIT
|
||||
|
||||
@@ -11,20 +11,17 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -35,7 +32,6 @@ COMMIT
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s 192.168.0.0/24 ! -o br-dummy -j SNAT --to-source 192.168.123.0
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER -d 127.0.0.0/8 -i loopback0 -j RETURN
|
||||
-A DOCKER ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.2:80
|
||||
COMMIT
|
||||
|
||||
@@ -11,20 +11,17 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d fd49:efd7:54aa::1/128 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -35,6 +32,5 @@ COMMIT
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d ::1/128 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s fd49:efd7:54aa::/64 ! -o br-dummy -j SNAT --to-source fd34:d0d4:672f::123
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER ! -s fe80::/10 ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination [fd49:efd7:54aa::1]:80
|
||||
COMMIT
|
||||
|
||||
@@ -11,20 +11,17 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -35,6 +32,5 @@ COMMIT
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s 192.168.0.0/24 ! -o br-dummy -j SNAT --to-source 192.168.123.0
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.2:80
|
||||
COMMIT
|
||||
|
||||
@@ -13,20 +13,17 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -37,7 +34,6 @@ COMMIT
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s 192.168.0.0/24 ! -o br-dummy -j SNAT --to-source 192.168.123.0
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER -d 127.0.0.0/8 -i loopback0 -j RETURN
|
||||
-A DOCKER -d 127.0.0.1/32 ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.2:80
|
||||
COMMIT
|
||||
|
||||
@@ -11,20 +11,17 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d fd49:efd7:54aa::1/128 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -35,6 +32,5 @@ COMMIT
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d ::1/128 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s fd49:efd7:54aa::/64 ! -o br-dummy -j SNAT --to-source fd34:d0d4:672f::123
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER ! -s fe80::/10 -d ::1/128 ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination [fd49:efd7:54aa::1]:80
|
||||
COMMIT
|
||||
|
||||
@@ -12,20 +12,17 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -36,6 +33,5 @@ COMMIT
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s 192.168.0.0/24 ! -o br-dummy -j SNAT --to-source 192.168.123.0
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER -d 127.0.0.1/32 ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.2:80
|
||||
COMMIT
|
||||
|
||||
@@ -10,19 +10,16 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j ACCEPT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -33,7 +30,6 @@ COMMIT
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s 192.168.0.0/24 ! -o br-dummy -j SNAT --to-source 192.168.123.0
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER -d 127.0.0.0/8 -i loopback0 -j RETURN
|
||||
-A DOCKER ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.2:80
|
||||
COMMIT
|
||||
|
||||
@@ -10,19 +10,16 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j ACCEPT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -33,6 +30,5 @@ COMMIT
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d ::1/128 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s fd49:efd7:54aa::/64 ! -o br-dummy -j SNAT --to-source fd34:d0d4:672f::123
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER ! -s fe80::/10 ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination [fd49:efd7:54aa::1]:80
|
||||
COMMIT
|
||||
|
||||
@@ -10,19 +10,16 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j ACCEPT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -33,6 +30,5 @@ COMMIT
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s 192.168.0.0/24 ! -o br-dummy -j SNAT --to-source 192.168.123.0
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.2:80
|
||||
COMMIT
|
||||
|
||||
@@ -12,19 +12,16 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j ACCEPT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -35,7 +32,6 @@ COMMIT
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s 192.168.0.0/24 ! -o br-dummy -j SNAT --to-source 192.168.123.0
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER -d 127.0.0.0/8 -i loopback0 -j RETURN
|
||||
-A DOCKER -d 127.0.0.1/32 ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.2:80
|
||||
COMMIT
|
||||
|
||||
@@ -10,19 +10,16 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j ACCEPT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -33,6 +30,5 @@ COMMIT
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d ::1/128 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s fd49:efd7:54aa::/64 ! -o br-dummy -j SNAT --to-source fd34:d0d4:672f::123
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER ! -s fe80::/10 -d ::1/128 ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination [fd49:efd7:54aa::1]:80
|
||||
COMMIT
|
||||
|
||||
@@ -11,19 +11,16 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j ACCEPT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -34,6 +31,5 @@ COMMIT
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s 192.168.0.0/24 ! -o br-dummy -j SNAT --to-source 192.168.123.0
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER -d 127.0.0.1/32 ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.2:80
|
||||
COMMIT
|
||||
|
||||
@@ -10,8 +10,7 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER -o br-dummy -p icmp -j ACCEPT
|
||||
@@ -19,14 +18,10 @@ COMMIT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -o br-dummy -j RETURN
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -36,7 +31,6 @@ COMMIT
|
||||
:DOCKER - [0:0]
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER -d 127.0.0.0/8 -i loopback0 -j RETURN
|
||||
-A DOCKER ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.2:80
|
||||
COMMIT
|
||||
|
||||
@@ -10,8 +10,7 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d fd49:efd7:54aa::1/128 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER -o br-dummy -p ipv6-icmp -j ACCEPT
|
||||
@@ -19,14 +18,10 @@ COMMIT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -o br-dummy -j RETURN
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -36,6 +31,5 @@ COMMIT
|
||||
:DOCKER - [0:0]
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d ::1/128 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER ! -s fe80::/10 ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination [fd49:efd7:54aa::1]:80
|
||||
COMMIT
|
||||
|
||||
@@ -10,8 +10,7 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER -o br-dummy -p icmp -j ACCEPT
|
||||
@@ -19,14 +18,10 @@ COMMIT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -o br-dummy -j RETURN
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -36,6 +31,5 @@ COMMIT
|
||||
:DOCKER - [0:0]
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.2:80
|
||||
COMMIT
|
||||
|
||||
@@ -12,8 +12,7 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER -o br-dummy -p icmp -j ACCEPT
|
||||
@@ -21,14 +20,10 @@ COMMIT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -o br-dummy -j RETURN
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -38,7 +33,6 @@ COMMIT
|
||||
:DOCKER - [0:0]
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER -d 127.0.0.0/8 -i loopback0 -j RETURN
|
||||
-A DOCKER -d 127.0.0.1/32 ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.2:80
|
||||
COMMIT
|
||||
|
||||
@@ -10,8 +10,7 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d fd49:efd7:54aa::1/128 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER -o br-dummy -p ipv6-icmp -j ACCEPT
|
||||
@@ -19,14 +18,10 @@ COMMIT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -o br-dummy -j RETURN
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -36,6 +31,5 @@ COMMIT
|
||||
:DOCKER - [0:0]
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d ::1/128 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER ! -s fe80::/10 -d ::1/128 ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination [fd49:efd7:54aa::1]:80
|
||||
COMMIT
|
||||
|
||||
@@ -11,8 +11,7 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER -o br-dummy -p icmp -j ACCEPT
|
||||
@@ -20,14 +19,10 @@ COMMIT
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-FORWARD -i br-dummy ! -o br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -o br-dummy -j RETURN
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
@@ -37,6 +32,5 @@ COMMIT
|
||||
:DOCKER - [0:0]
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A DOCKER -i br-dummy -j RETURN
|
||||
-A DOCKER -d 127.0.0.1/32 ! -i br-dummy -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.2:80
|
||||
COMMIT
|
||||
|
||||
@@ -11,19 +11,16 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -11,19 +11,16 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d fd49:efd7:54aa::1/128 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
@@ -11,19 +11,16 @@ COMMIT
|
||||
:DOCKER-BRIDGE - [0:0]
|
||||
:DOCKER-CT - [0:0]
|
||||
:DOCKER-FORWARD - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-INTERNAL - [0:0]
|
||||
-A FORWARD -j DOCKER-FORWARD
|
||||
-A DOCKER -d 192.168.0.2/32 ! -i br-dummy -o br-dummy -p tcp -m tcp --dport 80 -j ACCEPT
|
||||
-A DOCKER ! -i br-dummy -o br-dummy -j DROP
|
||||
-A DOCKER-BRIDGE -o br-dummy -j DOCKER
|
||||
-A DOCKER-CT -o br-dummy -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A DOCKER-FORWARD -j DOCKER-CT
|
||||
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A DOCKER-FORWARD -j DOCKER-INTERNAL
|
||||
-A DOCKER-FORWARD -j DOCKER-BRIDGE
|
||||
-A DOCKER-FORWARD -i br-dummy -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i br-dummy ! -o br-dummy -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o br-dummy -j DROP
|
||||
COMMIT
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user