Am o problemă similară cu această postare aici, deși nu cred că intervalele mele IP se ciocnesc: https://forums.docker.com/t/service-is-unreachable-on-host-ip-localhost-works/78515
Expun un server web prin docker pe portul 443 și îl pot accesa prin 127.0.0.1:443
cât şi din afara gazdei. Nu pot accesa acel server web prin IP-ul gazdei și îmi smulg de ce ar putea fi acest lucru.
Pentru a face lucrurile reproductibile, permiteți-mi să declanșez un container netcat (care ascultă pe toate interfețele din interiorul containerului) - Am aceeași problemă pe portul 443, evident:
$ docker run -ti --rm -p 8182:8182 chilcano/netcat:jessie -vvl -p 8182
->>>>>> (Se execută '/bin/netcat -vvl -p 8182') <<<<<<-
ascult pe [oricare] 8182...
Docker ascultă pe toate interfețele locale pe 8182 â
$ lsof -i :8182
COMANDA PID UTILIZATOR TIP FD DIMENSIUNEA DISPOZITIV/OPRIT NUMELE NODULUI
docker-pr 11152 root 4u IPv4 1183427772 0t0 TCP *:8182 (ASCULTATE)
Conectarea la netcat în docker de la gazdă funcționează când se utilizează localhost â
$ nc -vz 127.0.0.1 8182
localhost [127.0.0.1] 8182 deschis
problema începe când folosind IP-ul gazdei locale și încercând să ajungă la containerul docker așa â
$ nc -vz 192.168.176.111 8182
ramirez.domain.local [192.168.176.111] 8182: Rețeaua este inaccesibilă
Pot să dau ping la gazdă foarte bine și să accesez alte lucruri care rulează pe gazdă prin IP-ul său (de exemplu, rulează netcat -vvl -p 8182
direct pe gazdă în loc de containerul docker, totul funcționează).
Când apelați același IP de pe alt dispozitiv din rețea, totul funcționează â , deci aceasta este o problemă locală a gazdei docker
$ nc -vz 192.168.176.111 8182
Conexiunea la portul 192.168.176.111 8182 [tcp/*] a reușit!
Tabelul de rutare, precum și iptables mi se par bine, dar nu sunt un expert.
$ ip a
# adresa mac anonimizată
6: ovs_eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue stare UP grup implicit qlen 1
link/eter xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet 192.168.176.111/24 brd 192.168.176.255 scope global ovs_eth0
valid_lft pentru totdeauna preferred_lft pentru totdeauna
traseu:
$ traseu ip
implicit prin 192.168.176.1 dev ovs_eth0 src 192.168.176.111
169.254.0.0/16 dev ovs_eth1 proto kernel scope link src 169.254.106.154 linkdown mort
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
192.168.127.0/24 dev docker-976f9fbf proto kernel scope link src 192.168.127.1
192.168.128.0/24 dev docker-bd2edfee proto kernel scope link src 192.168.128.1
192.168.176.0/24 dev ovs_eth0 proto kernel scope link src 192.168.176.111
192.168.254.0/24 dev docker-2de11f77 proto kernel scope link src 192.168.254.1
iptables:
$ iptables -L -v -n
INTRARE în lanț (politica ACCEPTĂ 78080 pachete, 24M de octeți)
pkts bytes target prot opt in out source destination
210M 299G DOS_PROTECT toate -- * * 0.0.0.0/0 0.0.0.0/0
Lanț FORWARD (politica ACCEPT 0 pachete, 0 octeți)
pkts bytes target prot opt in out source destination
218M 241G DEFAULT_FORWARD toate -- * * 0.0.0.0/0 0.0.0.0/0
IEȘIRE în lanț (politica ACCEPTĂ 76525 pachete, 24M de octeți)
pkts bytes target prot opt in out source destination
Lanț DEFAULT_FORWARD (1 referințe)
pkts bytes target prot opt in out source destination
230K 276M DOCKER-USER toate -- * * 0.0.0.0/0 0.0.0.0/0
231K 276M DOCKER-ISOLATION-STAGE-1 toate -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT toate -- * docker-8cfed06e 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,STABLISHED
0 0 DOCKER toate -- * docker-8cfed06e 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT toate -- docker-8cfed06e !docker-8cfed06e 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT toate -- docker-8cfed06e docker-8cfed06e 0.0.0.0/0 0.0.0.0/0
7254K 23G ACCEPT toate -- * docker-f06ef418 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,STABLISHED
19005 1140K DOCKER toate -- * docker-f06ef418 0.0.0.0/0 0.0.0.0/0
4614K 1362M ACCEPT pe toate -- docker-f06ef418 !docker-f06ef418 0.0.0.0/0 0.0.0.0/0
19005 1140K ACCEPT pe toate -- docker-f06ef418 docker-f06ef418 0.0.0.0/0 0.0.0.0/0
2270K 2424M ACCEPT toate -- * docker-f95cea99 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,STABLISHED
1549K 101M DOCKER toate -- * docker-f95cea99 0.0.0.0/0 0.0.0.0/0
1814K 1273M ACCEPT toate -- docker-f95cea99 !docker-f95cea99 0.0.0.0/0 0.0.0.0/0
1549K 101M ACCEPT toate -- docker-f95cea99 docker-f95cea99 0.0.0.0/0 0.0.0.0/0
14M 8442M ACCEPT pe toate -- * docker-45bb17c5 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,STABLISHED
14118 846K DOCKER toate -- * docker-45bb17c5 0.0.0.0/0 0.0.0.0/0
7237 714K ACCEPTĂ toate -- docker-45bb17c5 !docker-45bb17c5 0.0.0.0/0 0.0.0.0/0
14118 846K ACCEPT toate -- docker-45bb17c5 docker-45bb17c5 0.0.0.0/0 0.0.0.0/0
5238 23M ACCEPT toate -- * docker0 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,STABLISHED
0 0 DOCKER toate -- * docker0 0.0.0.0/0 0.0.0.0/0
3332 216K ACCEPT toate -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT toate -- docker0 docker0 0.0.0.0/0 0.0.0.0/0
Lanț DOCKER (5 referințe)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- !docker-45bb17c5 docker-45bb17c5 0.0.0.0/0 192.168.254.254 tcp dpt:2375
0 0 ACCEPT tcp -- !docker-f95cea99 docker-f95cea99 0.0.0.0/0 192.168.127.127 tcp dpt:8888
0 0 ACCEPT tcp -- !docker-f95cea99 docker-f95cea99 0.0.0.0/0 192.168.127.168 tcp dpt:8080
0 0 ACCEPT tcp -- !docker-f95cea99 docker-f95cea99 0.0.0.0/0 192.168.127.168 tcp dpt:443
0 0 ACCEPT tcp -- !docker-f95cea99 docker-f95cea99 0.0.0.0/0 192.168.127.168 tcp dpt:80
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.2 tcp dpt:8182
Lanț DOCKER-ISOLATION-STAGE-1 (1 referințe)
pkts bytes target prot opt in out source destination
0 0 DOCKER-ISOLATION-STAGE-2 toate -- docker-8cfed06e !docker-8cfed06e 0.0.0.0/0 0.0.0.0/0
4614K 1362M DOCKER-ISOLATION-STAGE-2 toate -- docker-f06ef418 !docker-f06ef418 0.0.0.0/0 0.0.0.0/0
1814K 1273M DOCKER-ISOLATION-STAGE-2 toate -- docker-f95cea99 !docker-f95cea99 0.0.0.0/0 0.0.0.0/0
7237 714K DOCKER-ISOLATION-STAGE-2 toate -- docker-45bb17c5 !docker-45bb17c5 0.0.0.0/0 0.0.0.0/0
3332 216K DOCKER-ISOLATION-STAGE-2 toate -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
211M 239G RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
Lanț DOCKER-ISOLATION-STAGE-2 (5 referințe)
pkts bytes target prot opt in out source destination
0 0 DROP all -- * docker-8cfed06e 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- * docker-f06ef418 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- * docker-f95cea99 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- * docker-45bb17c5 0.0.0.0/0 0.0.0.0/0
98306 8258K DROP all -- * docker0 0.0.0.0/0 0.0.0.0/0
38M 19G RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
Lanț DOCKER-USER (1 referințe)
pkts bytes target prot opt in out source destination
211M 239G RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
Lanț DOS_PROTECT (1 referințe)
pkts bytes target prot opt in out source destination
13 876 RETURN icmp -- ovs_eth0 * 0.0.0.0/0 0.0.0.0/0 icmptype 8 limit: avg 1000/sec burst 5
0 0 DROP icmp -- ovs_eth0 * 0.0.0.0/0 0.0.0.0/0 icmptype 8
270K 11M RETURN tcp -- ovs_eth0 * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x17/0x04 limit: medie 1/sec burst 5
16881 675K DROP tcp -- ovs_eth0 * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x17/0x04
347K 20M RETURN tcp -- ovs_eth0 * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x17/0x02 limit: avg 10000/sec burst 100
0 0 DROP tcp -- ovs_eth0 * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x17/0x02