ฉันมีคอนเทนเนอร์นักเทียบท่าที่มีเซิร์ฟเวอร์ SSH, เซิร์ฟเวอร์ HTTP และไคลเอนต์ SMTP (ที่ต้องแก้ไขชื่อโดเมน)
นอกจากนั้นฉันต้องการป้องกันไม่ให้คอนเทนเนอร์เข้าถึงอินเทอร์เน็ต
ฉันใช้กฎจาก https://github.com/chaifeng/ufw-docker เพื่อหลีกเลี่ยงการเปิดเผยพอร์ตคอนเทนเนอร์ไปยังอินเทอร์เน็ต แต่นั่นอาจเป็นอีกเรื่องหนึ่ง
การเพิ่ม
เส้นทาง ufw ปฏิเสธจาก 172.25.0.4 ไปใด ๆ
ป้องกันคอนเทนเนอร์แน่นอน (IP ภายใน 172.25.0.4 ตามที่ได้รับด้วย นักเทียบท่าตรวจสอบ
) จากการเข้าถึงอินเทอร์เน็ต และเซิร์ฟเวอร์ HTTP ยังสามารถเข้าถึงได้
สำหรับ DNS และ SMTP ดูเหมือนว่าจะทำเคล็ดลับเพิ่ม ก่อน กฎก่อนหน้านี้:
เส้นทาง ufw อนุญาตให้ proto udp จาก 172.25.0.4 ไปยังพอร์ตใดก็ได้ 53
เส้นทาง ufw อนุญาตจาก 172.25.0.4 ไปยังพอร์ตใดก็ได้ 587
อย่างไรก็ตาม ฉันไม่สามารถทำให้ SSH (Internet -> container) ทำงานได้ มันเชื่อมต่อได้ดีโดยไม่ต้อง ปฏิเสธ
กฎ แต่ทันทีที่เพิ่ม การเชื่อมต่อจะล้มเหลวด้วยการบล็อกการรายงาน UFW ของพอร์ตที่ดูเหมือนไม่เกี่ยวข้องกับพอร์ต 22 (เช่น SPT=49733 DPT=28316
).
ฉันขาดอะไรไป และฉันจะอนุญาตการรับส่งข้อมูล SSH ไปยังคอนเทนเนอร์ได้อย่างไร