ฉันมีปัญหาที่คล้ายกันกับโพสต์นี้ แต่ฉันไม่คิดว่าช่วง IP ของฉันชนกัน: https://forums.docker.com/t/service-is-unreachable-on-host-ip-localhost-works/78515
ฉันกำลังเปิดเผยเว็บเซิร์ฟเวอร์ผ่านนักเทียบท่าที่พอร์ต 443 และฉันสามารถเข้าถึงได้ผ่าน 127.0.0.1:443
รวมทั้งจากภายนอกโฮสต์ ฉันไม่สามารถเข้าถึงเว็บเซิร์ฟเวอร์นั้นผ่านทาง IP ของโฮสต์ได้ และฉันก็ถอนใจไม่ออกว่าทำไมถึงเป็นเช่นนั้น
เพื่อให้สิ่งต่าง ๆ ทำซ้ำได้ให้ฉันเปิดคอนเทนเนอร์ netcat (ซึ่งกำลังฟังอินเทอร์เฟซทั้งหมดภายในคอนเทนเนอร์) - ฉันมีปัญหาเดียวกันบนพอร์ต 443 อย่างชัดเจน:
$ นักเทียบท่ารัน -ti --rm -p 8182:8182 chilcano/netcat:jessie -vvl -p 8182
->>>>>> (ดำเนินการ '/bin/netcat -vvl -p 8182') <<<<<<-
กำลังฟัง [any] 8182 ...
นักเทียบท่ากำลังฟังอินเทอร์เฟซภายในเครื่องทั้งหมดบน 8182 â
$ lsof -i :8182
คำสั่ง PID ผู้ใช้ ประเภท FD ขนาดอุปกรณ์/ปิด ชื่อโหนด
นักเทียบท่า-pr 11152 รูท 4u IPv4 1183427772 0t0 TCP *:8182 (ฟัง)
การเชื่อมต่อกับ netcat ในนักเทียบท่าจากโฮสต์จะทำงานเมื่อใช้ localhost â
$ nc -vz 127.0.0.1 8182
localhost [127.0.0.1] 8182 เปิดอยู่
ปัญหาเริ่มต้นเมื่อ ใช้ IP ของโลคัลโฮสต์และพยายามเข้าถึงคอนเทนเนอร์นักเทียบท่า เช่นนั้น â
$ nc -vz 192.168.176.111 8182
ramirez.domain.local [192.168.176.111] 8182: ไม่สามารถเข้าถึงเครือข่ายได้
ฉันสามารถ ping โฮสต์ได้ดีและเข้าถึงสิ่งอื่น ๆ ที่ทำงานบนโฮสต์ผ่าน IP ของมัน (เช่น กำลังทำงานอยู่ netcat -vvl -p 8182
โดยตรงบนโฮสต์แทน docker container ทุกอย่างทำงานได้)
เมื่อเรียก IP เดียวกันจากอุปกรณ์อื่นในเครือข่าย ทุกอย่างจะทำงานได้ â ดังนั้นจึงเป็นปัญหาเฉพาะที่ของโฮสต์นักเทียบท่า
$ nc -vz 192.168.176.111 8182
การเชื่อมต่อกับพอร์ต 192.168.176.111 8182 [tcp/*] สำเร็จ!
ตารางเส้นทางและ iptables ดูดีสำหรับฉัน แต่ฉันไม่ใช่ผู้เชี่ยวชาญ
$ ไอพี
# ที่อยู่ Mac ที่ไม่ระบุตัวตน
6: ovs_eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP กลุ่มเริ่มต้น qlen 1
ลิงค์/อีเธอร์ xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet 192.168.176.111/24 brd 192.168.176.255 ขอบเขตทั่วโลก ovs_eth0
valid_lft ตลอดไป reserved_lft ตลอดไป
เส้นทาง:
เส้นทาง $ ip
เริ่มต้นผ่าน 192.168.176.1 dev ovs_eth0 src 192.168.176.111
169.254.0.0/16 dev ovs_eth1 ลิงก์ขอบเขตเคอร์เนลโปรโต src 169.254.106.154 ลิงก์ที่ตายแล้ว
172.17.0.0/16 dev docker0 proto kernel ขอบเขตลิงค์ src 172.17.0.1
192.168.127.0/24 dev docker-976f9fbf proto kernel ขอบเขตลิงค์ 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 ลิงก์ขอบเขตเคอร์เนลโปรโต src 192.168.176.111
192.168.254.0/24 dev docker-2de11f77 proto kernel ขอบเขตลิงค์ src 192.168.254.1
iptables:
$ iptables -L -v -n
Chain INPUT (นโยบายยอมรับแพ็กเก็ต 78080, 24M ไบต์)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
210M 299G DOS_PROTECT ทั้งหมด -- * * 0.0.0.0/0 0.0.0.0/0
เชน FORWARD (นโยบายยอมรับ 0 แพ็กเก็ต 0 ไบต์)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
218M 241G DEFAULT_FORWARD ทั้งหมด -- * * 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (นโยบายยอมรับแพ็กเก็ต 76525, 24M ไบต์)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
เชน DEFAULT_FORWARD (อ้างอิง 1 รายการ)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
230K 276M DOCKER-USER ทั้งหมด -- * * 0.0.0.0/0 0.0.0.0/0
231K 276M DOCKER-ISOLATION-STAGE-1 ทั้งหมด -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ยอมรับทั้งหมด -- * docker-8cfed06e 0.0.0.0/0 0.0.0.0/0 ctstate ที่เกี่ยวข้อง ก่อตั้ง
0 0 นักเทียบท่าทั้งหมด -- * นักเทียบท่า-8cfed06e 0.0.0.0/0 0.0.0.0/0
0 0 ยอมรับทั้งหมด -- docker-8cfed06e !docker-8cfed06e 0.0.0.0/0 0.0.0.0/0
0 0 ยอมรับทั้งหมด -- นักเทียบท่า-8cfed06e นักเทียบท่า-8cfed06e 0.0.0.0/0 0.0.0.0/0
7254K 23G ยอมรับทั้งหมด -- * docker-f06ef418 0.0.0.0/0 0.0.0.0/0 ctstate ที่เกี่ยวข้อง ก่อตั้ง
19005 1140K นักเทียบท่าทั้งหมด -- * นักเทียบท่า-f06ef418 0.0.0.0/0 0.0.0.0/0
4614K 1362M ยอมรับทั้งหมด -- นักเทียบท่า-f06ef418 !docker-f06ef418 0.0.0.0/0 0.0.0.0/0
19005 1140K ยอมรับทั้งหมด -- นักเทียบท่า-f06ef418 นักเทียบท่า-f06ef418 0.0.0.0/0 0.0.0.0/0
2270K 2424M ยอมรับทั้งหมด -- * docker-f95cea99 0.0.0.0/0 0.0.0.0/0 ctstate ที่เกี่ยวข้อง ก่อตั้ง
1549K 101M นักเทียบท่าทั้งหมด -- * นักเทียบท่า-f95cea99 0.0.0.0/0 0.0.0.0/0
1814K 1273M ยอมรับทั้งหมด -- นักเทียบท่า-f95cea99 !docker-f95cea99 0.0.0.0/0 0.0.0.0/0
1549K 101M ยอมรับทั้งหมด -- นักเทียบท่า-f95cea99 นักเทียบท่า-f95cea99 0.0.0.0/0 0.0.0.0/0
14M 8442M ยอมรับทั้งหมด -- * docker-45bb17c5 0.0.0.0/0 0.0.0.0/0 ctstate ที่เกี่ยวข้อง ก่อตั้ง
14118 846K นักเทียบท่าทั้งหมด -- * นักเทียบท่า-45bb17c5 0.0.0.0/0 0.0.0.0/0
7237 714K ยอมรับทั้งหมด -- นักเทียบท่า-45bb17c5 !docker-45bb17c5 0.0.0.0/0 0.0.0.0/0
14118 846K ยอมรับทั้งหมด -- นักเทียบท่า-45bb17c5 นักเทียบท่า-45bb17c5 0.0.0.0/0 0.0.0.0/0
5238 23M ยอมรับทั้งหมด -- * docker0 0.0.0.0/0 0.0.0.0/0 ctstate ที่เกี่ยวข้อง ก่อตั้ง
0 0 นักเทียบท่าทั้งหมด -- * นักเทียบท่า0 0.0.0.0/0 0.0.0.0/0
3332 216K ยอมรับทั้งหมด -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
0 0 ยอมรับทั้งหมด -- นักเทียบท่า0 นักเทียบท่า0 0.0.0.0/0 0.0.0.0/0
Chain DOCKER (อ้างอิง 5 รายการ)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
0 0 ยอมรับ tcp -- !docker-45bb17c5 docker-45bb17c5 0.0.0.0/0 192.168.254.254 tcp dpt:2375
0 0 ยอมรับ tcp -- !docker-f95cea99 docker-f95cea99 0.0.0.0/0 192.168.127.127 tcp dpt:8888
0 0 ยอมรับ tcp -- !docker-f95cea99 docker-f95cea99 0.0.0.0/0 192.168.127.168 tcp dpt:8080
0 0 ยอมรับ tcp -- !docker-f95cea99 docker-f95cea99 0.0.0.0/0 192.168.127.168 tcp dpt:443
0 0 ยอมรับ tcp -- !docker-f95cea99 docker-f95cea99 0.0.0.0/0 192.168.127.168 tcp dpt:80
0 0 ยอมรับ tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.2 tcp dpt:8182
Chain DOCKER-ISOLATION-STAGE-1 (อ้างอิง 1 รายการ)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
0 0 DOCKER-ISOLATION-STAGE-2 ทั้งหมด -- docker-8cfed06e !docker-8cfed06e 0.0.0.0/0 0.0.0.0/0
4614K 1362M DOCKER-ISOLATION-STAGE-2 ทั้งหมด -- นักเทียบท่า-f06ef418 !docker-f06ef418 0.0.0.0/0 0.0.0.0/0
1814K 1273M DOCKER-ISOLATION-STAGE-2 ทั้งหมด -- นักเทียบท่า-f95cea99 !docker-f95cea99 0.0.0.0/0 0.0.0.0/0
7237 714K DOCKER-ISOLATION-STAGE-2 ทั้งหมด -- docker-45bb17c5 !docker-45bb17c5 0.0.0.0/0 0.0.0.0/0
3332 216K DOCKER-ISOLATION-STAGE-2 ทั้งหมด -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
211M 239G คืนทั้งหมด -- * * 0.0.0.0/0 0.0.0.0/0
Chain DOCKER-ISOLATION-STAGE-2 (อ้างอิง 5 รายการ)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
0 0 DROP ทั้งหมด -- * นักเทียบท่า-8cfed06e 0.0.0.0/0 0.0.0.0/0
0 0 DROP ทั้งหมด -- * นักเทียบท่า-f06ef418 0.0.0.0/0 0.0.0.0/0
0 0 ลดทั้งหมด -- * นักเทียบท่า-f95cea99 0.0.0.0/0 0.0.0.0/0
0 0 ลดทั้งหมด -- * นักเทียบท่า-45bb17c5 0.0.0.0/0 0.0.0.0/0
98306 8258K DROP ทั้งหมด -- * docker0 0.0.0.0/0 0.0.0.0/0
38M 19G คืนทั้งหมด -- * * 0.0.0.0/0 0.0.0.0/0
Chain DOCKER-USER (อ้างอิง 1 รายการ)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
211M 239G คืนทั้งหมด -- * * 0.0.0.0/0 0.0.0.0/0
เชน DOS_PROTECT (อ้างอิง 1 รายการ)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
13 876 ส่งคืน icmp -- ovs_eth0 * 0.0.0.0/0 0.0.0.0/0 ขีดจำกัด icmptype 8: เฉลี่ย 1,000/วินาที ระเบิด 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:0x17/0x04 ขีดจำกัด: เฉลี่ย 1/วินาที ระเบิด 5
16881 675K DROP tcp -- ovs_eth0 * 0.0.0.0/0 0.0.0.0/0 tcp ธง:0x17/0x04
347K 20M RETURN tcp -- ovs_eth0 * 0.0.0.0/0 0.0.0.0/0 ค่าสถานะ tcp:0x17/0x02 ขีดจำกัด: เฉลี่ย 10,000/วินาที ระเบิด 100
0 0 DROP tcp -- ovs_eth0 * 0.0.0.0/0 0.0.0.0/0 ธง tcp:0x17/0x02