เรากำลังพยายามป้องกันไม่ให้ VM บน GCE ตอบกลับคำขอบนพอร์ต 8080 ตั้งค่าไฟร์วอลล์ต่อไปนี้ -

ไฟร์วอลล์เพื่อป้องกันไม่ให้เครื่องตอบกลับคำขอบนพอร์ต 8080

อย่างไรก็ตาม ฉันยังคงสามารถเข้าถึงพอร์ตและแอปพลิเคชันบนพอร์ต 8080 ได้ ฉันพยายามเปลี่ยนลำดับความสำคัญของกฎนี้เป็น 1 แต่ก็ไม่มีประโยชน์

ตัวชี้ใด ๆ ในสิ่งที่ฉันหายไป?

ขอบคุณ

answer

ตามที่กล่าวไว้ในการสนทนาของ Google Groups นี้ ไฟร์วอลล์จะบล็อกการรับส่งข้อมูลขาออกจากอินสแตนซ์ หากมีการเริ่มต้นที่นั่น ตามบทความของ Google Cloud นี้ "กฎการปฏิเสธขาออกจะป้องกันไม่ให้อินสแตนซ์เริ่มต้นการเชื่อมต่อที่ตรงกับพอร์ต โปรโตคอล และช่วง IP ที่ไม่ได้รับอนุญาต"

เพื่อป้องกันไม่ให้ VM ตอบกลับคำขอ สมมติว่าอนุญาตการรับส่งข้อมูลขาเข้า คุณต้องแก้ไขไฟร์วอลล์ของ VM เอง หากคุณกำลังใช้ระบบปฏิบัติการ Linux คุณสามารถตรวจสอบบทความนี้เกี่ยวกับการปรับเปลี่ยน iptables นี่อาจเป็นวิธีแก้ปัญหา แต่ไม่แนะนำ

วิธีที่ดีที่สุด เพื่อให้ VM ทำงานได้อย่างถูกต้อง คือการปฏิเสธการรับส่งข้อมูล Ingress บนพอร์ตนั้นโดยใช้ไฟร์วอลล์ GCP ดังนั้น การบล็อกคำขอเหล่านี้ไม่ให้เข้าถึงระบบปฏิบัติการของ VM “ในขณะที่กฎของไฟร์วอลล์จะนำไปใช้เครือข่ายเป็นทั้งการเชื่อมต่อจะได้รับอนุญาตหรือปฏิเสธในระดับอินสแตนซ์” [1] โปรดทราบว่าเมื่อสร้างกฎไฟร์วอลล์ใน GCP การอ้างถึง Ingress หรือ Egress นั้นมาจากมุมมองของ VM เอง ไม่ใช่ไฟร์วอลล์ GCP