ฉันแค่ปั่นอินสแตนซ์เพื่อทดสอบ แต่ฉันสงสัยว่าเป็นเพราะคุณไม่อนุญาตให้ใช้กฎขาออกที่เกี่ยวข้อง/สร้างขึ้น ดังนั้นเคอร์เนลจึงหยุดการเชื่อมต่อที่มีอยู่ของคุณ
อัปเดต: ฉันแน่ใจว่านี่เป็นปัญหา ฉันเพิ่งทดสอบด้วยการบูต Centos 7 บนอินสแตนซ์ EC2 ติดตั้ง FirewallD แล้ววางในกฎข้อแรกของคุณโดยไม่มี ถาวร
ธง. ทั้งหมดทำงานได้ดี
ทันทีที่ฉันวางใน หยด
กฎฉันถูกตัดการเชื่อมต่อ
ในลิงก์ที่คุณระบุ กฎข้อแรกที่พวกเขาเพิ่มคือ ก่อตั้งที่เกี่ยวข้อง
กฎ. ซึ่งหมายความว่าการเชื่อมต่อที่ได้รับอนุญาตจะถูกอนุญาต (ดังนั้นไฟร์วอลล์จึงมีสถานะ) หากไม่มีกฎนั้น คุณจะไม่มีกฎที่มีสถานะและการเชื่อมต่อ SSH ของคุณก็ไม่สามารถสร้างได้
ดังนั้น รายการกฎที่แท้จริงของคุณจะต้องเป็น:
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -m state --state ESTABLISHED,RELATED -j ยอมรับ
# firewall-cmd --permanent --direct --add-rule ตัวกรอง ipv4 OUTPUT 1 -p tcp -m tcp --dport 80 -j ACCEPT
# firewall-cmd --permanent --direct --add-rule ตัวกรอง ipv4 OUTPUT 1 -p tcp -m tcp --dport 443 -j ACCEPT
# firewall-cmd --permanent --direct --add-rule ตัวกรอง ipv4 OUTPUT 1 -p tcp -m tcp --dport 53 -j ACCEPT
# firewall-cmd --permanent --direct --add-rule ตัวกรอง ipv4 OUTPUT 1 -p udp --dport 53 -j ACCEPT
# firewall-cmd --permanent --direct --add-rule ตัวกรอง ipv4 OUTPUT 2 -j DROP
โปรดทราบว่าฉันได้รวม HTTP, HTTPS และ DNS ไว้ด้วย - มิฉะนั้นการเชื่อมต่อจะไม่สร้างชื่อ DNS เนื่องจากเซิร์ฟเวอร์จะไม่สามารถแก้ไขได้...