Score:2

ไม่สามารถเข้าถึงบริการนักเทียบท่าบนโฮสต์ IP แต่ทำงานบน localhost

ธง cn

ฉันมีปัญหาที่คล้ายกันกับโพสต์นี้ แต่ฉันไม่คิดว่าช่วง 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
jp flag
แสดง `iptables -L -v -n`
cn flag
ฉันอัปเดตด้วย `iptables -L -v -n`
vn flag
คุณอยู่ในเครือข่าย "บ้าน" หรือไม่? หากเราเตอร์ที่บ้านจำนวนมากไม่อนุญาตให้เข้าถึง IP ภายนอกของคุณเอง ดู https://superuser.com/q/1047745/2013 ลองใช้เว็บพรอกซี เช่น https://hidester.com/proxy/
cn flag
IP ที่ฉันพยายามเข้าถึงคือ IP ภายใน ไม่ใช่ IP ภายนอก - นั่นคือเป็นเพียง IP ที่เราเตอร์กำหนดโฮสต์นักเทียบท่าของฉัน (ในกรณีนี้จะเป็นแบบคงที่) เมื่อใช้ WAN IP ภายนอก ทุกอย่างทำงานได้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา