อย่างที่ฉันสงสัยว่า iptables -L
ซ่อนการจับคู่เพิ่มเติม แต่ iptables-บันทึก
ทรงแสดงความจริงที่เปลือยเปล่า กฎ #3 ของคุณตรงกับเฉพาะสำหรับ แท้จริง
â อินเทอร์เฟซย้อนกลับ ไฟร์วอลล์นี้ยอมรับการเชื่อมต่อกับ tcp/22 (SSH) จากภายนอกเท่านั้น
วิธีแก้ปัญหาที่ง่ายที่สุดคือ:
iptables -I อินพุต 4 -p tcp --dport 80 -j ยอมรับ
iptables -I อินพุต 5 -p tcp --dport 443 -j ยอมรับ
คุณสามารถกรองเพิ่มเติมด้วย conntrack และรวมกฎทั้งสองเป็นกฎเดียวด้วยหลายพอร์ต:
iptables -I INPUT 4 -m conntrack --ctstate NEW -p tcp -m multiport --dports 80,443 -j ACCEPT -m comment --comment "บริการ HTTP/HTTPS"
สังเกตความคิดเห็นที่ฉันเพิ่มด้วย ใช้ความคิดเห็นสำหรับ แต่ละ กฎ และวันต่อมา คุณจะขอบคุณฉันสำหรับคำแนะนำนี้ ถ้าไฟร์วอลล์ของคุณโตขึ้นจนมีกฎมากกว่า 50 ข้อ
อย่าใช้ -m สถานะ
. สิ่งนี้ล้าสมัย มันใช้จริงๆ -m คอนโทรล
ภายใต้ประทุนและมันโปร่งใสกว่าที่จะสะกดแบบนี้อย่างชัดเจน
อย่าใช้ iptables -L
. อย่างที่คุณได้เห็น เอาต์พุตมันดู "สวยกว่า" และข้อดีก็จบลงที่นี่ แต่ยังไม่สามารถแสดงรายละเอียดที่จำเป็นทั้งหมดได้ ผลลัพธ์ของ iptables-บันทึก
ดูสวยน้อยกว่า แต่แสดงรายละเอียดที่ดีที่สุดทั้งหมด ดังนั้นควรใช้อย่างหลังเสมอ