Skip to content

Commit fb2cd8f

Browse files
committed
Allow inter-network connectivity via exposed ports
Signed-off-by: Alessandro Boch <aboch@docker.com>
1 parent d1a195a commit fb2cd8f

1 file changed

Lines changed: 4 additions & 0 deletions

File tree

drivers/bridge/setup_ip_tables.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ func setupIPTablesInternal(bridgeIface string, addr net.Addr, icc, ipmasq, hairp
138138
address = addr.String()
139139
natRule = iptRule{table: iptables.Nat, chain: "POSTROUTING", preArgs: []string{"-t", "nat"}, args: []string{"-s", address, "!", "-o", bridgeIface, "-j", "MASQUERADE"}}
140140
hpNatRule = iptRule{table: iptables.Nat, chain: "POSTROUTING", preArgs: []string{"-t", "nat"}, args: []string{"-m", "addrtype", "--src-type", "LOCAL", "-o", bridgeIface, "-j", "MASQUERADE"}}
141+
skipDNAT = iptRule{table: iptables.Nat, chain: DockerChain, preArgs: []string{"-t", "nat"}, args: []string{"-i", bridgeIface, "-j", "RETURN"}}
141142
outRule = iptRule{table: iptables.Filter, chain: "FORWARD", args: []string{"-i", bridgeIface, "!", "-o", bridgeIface, "-j", "ACCEPT"}}
142143
inRule = iptRule{table: iptables.Filter, chain: "FORWARD", args: []string{"-o", bridgeIface, "-m", "conntrack", "--ctstate", "RELATED,ESTABLISHED", "-j", "ACCEPT"}}
143144
)
@@ -147,6 +148,9 @@ func setupIPTablesInternal(bridgeIface string, addr net.Addr, icc, ipmasq, hairp
147148
if err := programChainRule(natRule, "NAT", enable); err != nil {
148149
return err
149150
}
151+
if err := programChainRule(skipDNAT, "SKIP DNAT", enable); err != nil {
152+
return err
153+
}
150154
}
151155

152156
// In hairpin mode, masquerade traffic from localhost

0 commit comments

Comments
 (0)