@@ -253,6 +253,7 @@ func (mapper *PortMapper) setup() error {
253253
254254func (mapper * PortMapper ) iptablesForward (rule string , port int , proto string , dest_addr string , dest_port int ) error {
255255 return iptables ("-t" , "nat" , rule , "DOCKER" , "-p" , proto , "--dport" , strconv .Itoa (port ),
256+ "!" , "-i" , NetworkBridgeIface ,
256257 "-j" , "DNAT" , "--to-destination" , net .JoinHostPort (dest_addr , strconv .Itoa (dest_port )))
257258}
258259
@@ -264,7 +265,7 @@ func (mapper *PortMapper) Map(port int, backendAddr net.Addr) error {
264265 return err
265266 }
266267 mapper .tcpMapping [port ] = backendAddr .(* net.TCPAddr )
267- proxy , err := NewProxy (& net.TCPAddr {IP : net .IPv4 (127 , 0 , 0 , 1 ), Port : port }, backendAddr )
268+ proxy , err := NewProxy (& net.TCPAddr {IP : net .IPv4 (0 , 0 , 0 , 0 ), Port : port }, backendAddr )
268269 if err != nil {
269270 mapper .Unmap (port , "tcp" )
270271 return err
@@ -278,7 +279,7 @@ func (mapper *PortMapper) Map(port int, backendAddr net.Addr) error {
278279 return err
279280 }
280281 mapper .udpMapping [port ] = backendAddr .(* net.UDPAddr )
281- proxy , err := NewProxy (& net.UDPAddr {IP : net .IPv4 (127 , 0 , 0 , 1 ), Port : port }, backendAddr )
282+ proxy , err := NewProxy (& net.UDPAddr {IP : net .IPv4 (0 , 0 , 0 , 0 ), Port : port }, backendAddr )
282283 if err != nil {
283284 mapper .Unmap (port , "udp" )
284285 return err
0 commit comments