Score:0

นักเทียบท่าและ Iptables

ธง cn

ฉันได้ติดตั้งคอนเทนเนอร์นักเทียบท่าหลายตัวบนเซิร์ฟเวอร์ของฉัน คอนเทนเนอร์ทั้งหมดอยู่ในเครือข่ายนักเทียบท่าเดียวกัน และโดยพื้นฐานแล้วโครงสร้างคือทุกคอนเทนเนอร์อยู่หลังคอนเทนเนอร์พร็อกซีย้อนกลับ nginxproxymanager

จนถึงตอนนี้ทุกอย่างทำงานได้ดีดังนั้นฉันจึงพยายามทำให้โครงสร้างแข็งขึ้นโดยเพิ่มfail2ban ซึ่งฉันไม่สามารถทำให้มันทำงานได้ ฉันมีปัญหาในการทำความเข้าใจ iptables ให้ดีขึ้น แต่ฉันไม่สามารถทำให้มันใช้งานได้ หลังจากรีสตาร์ทนักเทียบท่าและตรวจสอบไฟล์ iptables (/etc/iptables/iptables.rules) ฉันมีสิ่งนี้

# สร้างโดย iptables-save v1.8.7 เมื่อวันศุกร์ที่ 29 ตุลาคม 09:48:00 น. 2021
*แนท
: ยอมรับ [82:13454]
: ยอมรับอินพุต [71:12758]
: ยอมรับเอาต์พุต [72:4846]
:หลังยอมรับ [858:45979]
:นักเทียบท่า - [0:0]
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
-A เอาท์พุท ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
-A โพสต์ -s 172.17.0.0/16 ! -o docker0 -j สวมหน้ากาก
-A โพสต์ -s 172.19.0.0/16 ! -o br-0aee38841ef3 -j สวมหน้ากาก
-A POSTROUTING -s 172.19.0.2/32 -d 172.19.0.2/32 -p tcp -m tcp --dport 3000 -j MASQUERADE
-A นักเทียบท่า -i นักเทียบท่า 0 -j ผลตอบแทน
-นักเทียบท่า -i br-0aee38841ef3 -j ผลตอบแทน
- นักเทียบท่า ! -i br-0aee38841ef3 -p tcp -m tcp --dport 3000 -j DNAT --to-ปลายทาง 172.19.0.2:3000
ให้สัญญา
# เสร็จสิ้นเมื่อ ศ. 29 ต.ค. 09:48:00 น. 2564
# สร้างโดย iptables-save v1.8.7 เมื่อวันศุกร์ที่ 29 ตุลาคม 09:48:00 น. 2021
*กรอง
: ยอมรับอินพุต [98:7750]
:ส่งต่อ ยอมรับ [0:0]
: ยอมรับเอาต์พุต [77:11194]
:นักเทียบท่า - [0:0]
:DOCKER-ISOLATION-STAGE-1 - [0:0]
:DOCKER-ISOLATION-STAGE-2 - [0:0]
:นักเทียบท่า-ผู้ใช้ - [0:0]
-A อินพุต -s 37.XXX.XXX.XX/32 -j DROP
-A อินพุต -j นักเทียบท่า-ผู้ใช้
-A ไปข้างหน้า -j นักเทียบท่า-ผู้ใช้
-A ส่งต่อ -j DOCKER-ISOLATION-STAGE-1
-A FORWARD -o docker0 -m conntrack --ctstate ที่เกี่ยวข้อง ก่อตั้ง -j ยอมรับ
-A ไปข้างหน้า -o นักเทียบท่า 0 -j นักเทียบท่า
-A ไปข้างหน้า -i docker0 ! -o นักเทียบท่า 0 -j ยอมรับ
-A ไปข้างหน้า -i docker0 -o docker0 -j ยอมรับ
-A FORWARD -o br-0aee38841ef3 -m conntrack --ctstate ที่เกี่ยวข้อง ก่อตั้ง -j ยอมรับ
-A ส่งต่อ -o br-0aee38841ef3 -j นักเทียบท่า
-ไปข้างหน้า -i br-0aee38841ef3 ! -o br-0aee38841ef3 -j ยอมรับ
-A ไปข้างหน้า -i br-0aee38841ef3 -o br-0aee38841ef3 -j ยอมรับ
-นักเทียบท่า -d 172.19.0.2/32 ! -i br-0aee38841ef3 -o br-0aee38841ef3 -p tcp -m tcp --dport 3000 -j ยอมรับ    
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-ISOLATION-STAGE-1 -i br-0aee38841ef3 ! -o br-0aee38841ef3 -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-ISOLATION-STAGE-1 -j ผลตอบแทน
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
-A DOCKER-ISOLATION-STAGE-2 -o br-0aee38841ef3 -j DROP
-A DOCKER-ISOLATION-STAGE-2 -j ผลตอบแทน
-A DOCKER-USER -s 37.XXX.XXX.XX/32 -j DROP
ให้สัญญา
# เสร็จสิ้นเมื่อ ศ. 29 ต.ค. 09:48:00 น. 2564

ฉันเพิ่งลบกฎคอนเทนเนอร์อื่นๆ เนื่องจากเป็นแนวคิดเดียวกันกับกฎที่ฉันทิ้งไว้ (dport 3000)

br-0aee38841ef3

เป็นสะพานที่สร้างขึ้นเมื่อฉันสร้างเครือข่ายนักเทียบท่าที่คอนเทนเนอร์ของฉันอยู่

อย่างที่คุณเห็น ฉันพยายามเพิ่มกฎ DROP ในที่อยู่ IP สาธารณะของฉัน (37.XXX.XXX.XX) ทั้งใน INPUT และ DOCKER-USER chains แต่ฉันยังสามารถนำทางผ่านคอนเทนเนอร์ของฉันได้ (ฉันมีโดเมนที่กำหนดเองซึ่ง บันทึกชี้ไปที่ IP ของฉัน) ดังนั้นกฎจึงใช้ไม่ได้ แน่นอนว่า iptables เริ่มต้นและโหลดใหม่ด้วยกฎใหม่ แล้วฉันพลาดอะไรไปในการแบน IP?

Score:0
ธง hu

คุณอาจต้อง:

iptables -A DOCKER-USER -j ผลตอบแทน

ฉันคิดว่าการควบคุมกำลังหลุดออกจากปลายห่วงโซ่ของคุณโดยไม่มีการตัดสินใจ

A.B avatar
cl flag
A.B
ฉันคิดว่ามันตรงกันข้าม: กฎนี้ถูกเพิ่มโดย Docker แล้วและป้องกันไม่ให้กฎที่ต่อท้าย (แทนที่จะใส่ไว้ก่อน) ให้ทำงาน
คำถามนี้เป็นภาษาอื่นๆ:

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา