ฉันมีเครื่องเสมือนที่มีบริการที่รับฟังพอร์ต 15672 เซิร์ฟเวอร์ที่ VM เปิดอยู่ได้รับการตั้งค่าให้ใช้ iptables เพื่อส่งต่อคำขอไปยังเครื่องเสมือน นี่คือบรรทัดที่เกี่ยวข้องที่ส่งต่อคำขอไปยัง VM:
-A PREROUTING -d <เซิร์ฟเวอร์-ip> -i ens3 -p tcp -m tcp --dport 443 -j DNAT --to-destination <local-vm-ip>
-A PREROUTING -d <เซิร์ฟเวอร์-ip> -i ens3 -p tcp -m tcp --dport 80 -j DNAT --to-destination <local-vm-ip>
-A PREROUTING -d <เซิร์ฟเวอร์-ip> -i ens3 -p tcp -m tcp --dport 15672 -j DNAT --to-destination <local-vm-ip>
-A PREROUTING -d <เซิร์ฟเวอร์-ip> -i ens3 -p tcp -m tcp --dport 22 -j DNAT --to-destination <local-vm-ip>
-A POSTROUTING -s <local-vm-ip> -o ens3 -j SNAT --to-source <เซิร์ฟเวอร์-ip>
คำขอเว็บกำลังทำงานกับพอร์ต 443 และ 80 แต่ฉันมีปัญหากับ 15672 เมื่อฉันเรียกใช้ netstat -tlnp | เกรป 15672
บน VM ฉันได้รับ:
tcp 0 0 0.0.0.0:15672 0.0.0.0:* ฟัง 276/beam.smp
อย่างไรก็ตาม เมื่อใดก็ตามที่ฉันพยายามเข้าถึง http://<เซิร์ฟเวอร์-ip>:15672
ฉันเพิ่งจะหมดเวลาหลังจากนั้นไม่นาน
ฉันไม่ใช่คนเขียนกฎ iptables เหล่านี้ แต่ฉันพยายามแยกวิเคราะห์และค้นหาว่ากฎเหล่านี้ทำอะไร มีอะไรที่ฉันขาดหายไปเพื่อให้ 15672 ตอบกลับหรือไม่