Score:0

การใช้ ipset เพื่อบล็อก IP

ธง gi

อะไรคือ iptables คำสั่งบล็อก IP ทั้งหมดในไฟล์ ipset? ฉันพยายามแล้ว ป้อนข้อมูล และ เอาต์พุต และ src และ วันที่แต่ไม่มีอะไรที่ฉันได้ลองทำงาน

เครื่องนี้เป็นเราเตอร์ที่บ้านของฉันกำลังสวมหน้ากาก มีอินเทอร์เฟซขาออกสองอินเทอร์เฟซที่ล้มเหลว

นี่คือของฉัน iptables สคริปต์:

# ถังขยะแมว/iptables.sh
#!/bin/sh

iptables -t แนท -F
iptables -t mangle -F
iptables -F
iptables -X

#บล็อคเกอร์
ipset -L ถูกบล็อก >/dev/null 2>&1
ถ้า [ $? -เน่ 0 ]
แล้ว
        echo "กำลังสร้าง ipset: ถูกบล็อก"
        ipset สร้างแฮชที่ถูกบล็อก: ip
ไฟ

ถ้า [ -f /root/blocked_domains.txt ]
แล้ว
        ipset flush ถูกบล็อก
        สำหรับโดเมนใน $(cat /root/blocked_domains.txt); ทำ
                สำหรับที่อยู่ใน $( ขุด $domain +short | grep -P -e '^(\d{1,3}\.){3}\d{1,3}$' ); ทำ
                        echo $domain " -> " ที่อยู่ $
                        ipset เพิ่มที่อยู่ $ ที่ถูกบล็อก
                เสร็จแล้ว
        เสร็จแล้ว

        ipset -L ถูกบล็อก >/dev/null 2>&1
        ถ้า [ $? -eq 0 ]
        แล้ว
                ก้อง "กำลังปิดกั้น"
                # # # อะไรไปที่นี่? # # #
                iptables -A INPUT -m set --match-set ถูกบล็อก src -j DROP         
        ไฟ
ไฟ

# อนุญาตเฉพาะสิ่งต่าง ๆ ในกล่องนี้เพื่อใช้การเชื่อมต่อเฟลโอเวอร์ (ข้อมูลจำกัด)
iptables -A FORWARD -s localhost -j ยอมรับ
iptables -A ไปข้างหน้า -s 192.168.1.0/24 -o enp0s6f1u2 -j DROP

#มาสเคอเรด
iptables -A FORWARD -m conntrack --ctstate ก่อตั้งขึ้นที่เกี่ยวข้อง -j ยอมรับ
iptables -t nat -F การโพสต์
iptables -t nat -A โพสต์ -o wlan0 -j MASQUERADE
iptables -t nat -A โพสต์ -o enp0s6f1u2 -j MASQUERADE

อัปเดต

# iptables -vnL อินพุต
Chain INPUT (นโยบายยอมรับแพ็กเก็ต 15M, 16G ไบต์)
 pkts bytes target prot เลือกใช้ปลายทางต้นทาง
    0 0 DROP ทั้งหมด -- * * 0.0.0.0/0 0.0.0.0/0 src ชุดจับคู่ถูกบล็อก

(ตัดทอน แต่ชัดเจนว่านี่คือบรรทัดที่เกี่ยวข้อง)

การปรับปรุงอื่น

ฉันยังรู้สึกสับสนเพราะหนึ่งในโดเมนที่ฉันพยายามบล็อกดูเหมือนจะเปลี่ยน IP (การตอบกลับที่แตกต่างจากเนมเซิร์ฟเวอร์เดียวกัน ซึ่งเป็น WiFi hotspot บนโทรศัพท์ Android ของฉัน)

# วันที่; ขุด b.scorecardresearch.com
ศ. 2 ก.ค. 09:34:36 BST 2021

; <<>> DiG 9.11.5-P4-5.1+deb10u5-Debian <<>> b.scorecardresearch.com
;; ตัวเลือกส่วนกลาง: +cmd
;; ได้รับคำตอบ:
;; ->>HEADER<<- opcode: QUERY, สถานะ: NOERROR, id: 3185
;; ธง: qr rd ra; คำถาม: 1, คำตอบ: 4, ผู้มีอำนาจ: 0, เพิ่มเติม: 1

;; เลือก PSEUDOSECTION:
; EDNS: เวอร์ชัน: 0, แฟล็ก:; UDP: 1280
;; ส่วนคำถาม:
;b.scorecardresearch.com. ใน

;; ส่วนคำตอบ:
b.scorecardresearch.com. 1 ใน A 143.204.198.94
b.scorecardresearch.com. 1 ใน A 143.204.198.59
b.scorecardresearch.com. 1 ใน 143.204.198.111
b.scorecardresearch.com. 1 ใน 143.204.198.90

;; เวลาสืบค้น: 35 มิลลิวินาที
;; เซิร์ฟเวอร์: 192.168.43.214#53(192.168.43.214)
;; เมื่อ: วันศุกร์ที่ 02 กรกฎาคม 09:34:36 BST 2021
;; ขนาดผงชูรส rcvd: 116


# วันที่; ขุด b.scorecardresearch.com
ศ. 2 ก.ค. 09:34:51 BST 2021

; <<>> DiG 9.11.5-P4-5.1+deb10u5-Debian <<>> b.scorecardresearch.com
;; ตัวเลือกส่วนกลาง: +cmd
;; ได้รับคำตอบ:
;; ->>HEADER<<- opcode: QUERY, สถานะ: NOERROR, id: 52849
;; ธง: qr rd ra; คำถาม: 1, คำตอบ: 4, ผู้มีอำนาจ: 0, เพิ่มเติม: 1

;; เลือก PSEUDOSECTION:
; EDNS: เวอร์ชัน: 0, แฟล็ก:; UDP: 1280
;; ส่วนคำถาม:
;b.scorecardresearch.com. ใน

;; ส่วนคำตอบ:
b.scorecardresearch.com. 24 ใน 99.84.15.95
b.scorecardresearch.com. 24 ใน 99.84.15.83
b.scorecardresearch.com. 24 ใน 99.84.15.117
b.scorecardresearch.com. 24 ใน 99.84.15.65

;; เวลาสืบค้น: 63 มิลลิวินาที
;; เซิร์ฟเวอร์: 192.168.43.214#53(192.168.43.214)
;; เมื่อ: วันศุกร์ที่ 02 กรกฎาคม 09:34:51 BST 2021
;; ขนาดผงชูรส rcvd: 116


it flag
คุณต้องสร้างกฎ iptables ที่อ้างอิงถึง ipset https://serverfault.com/questions/837705/configure-iptables-with-ipset
gi flag
นั่นคือคำถามของฉัน: คำสั่งนั้นคืออะไร คำสั่งนี้ใช้งานไม่ได้: `iptables -A INPUT -m set --match-set block src -j DROP`
it flag
ขออภัย ฉันพลาดข้อมูลอ้างอิงที่คุณมีในตัวอย่างข้อมูล ฉันสามารถดูได้แล้ว ผลลัพธ์ของ `iptables -vnL INPUT` แสดงอะไร มันแสดงการเข้าชมใด ๆ ที่ขัดต่อกฎนั้นหรือไม่?
it flag
อาจเป็นกรณีที่คุณใช้สิ่งนี้กับห่วงโซ่ที่ไม่ถูกต้อง `INPUT` ใช้สำหรับสิ่งที่กำหนดให้กับโฮสต์จริง คุณต้องการบล็อกเส้นทางหรือการรับส่งข้อมูล NAT ผ่านโฮสต์แทนหรือไม่ หากเป็นเช่นนั้น คุณจะไม่ได้รับผลกระทบใด ๆ ในเชน `INPUT ' และคุณจะต้องแก้ไขกฎการจับคู่ให้อยู่ในเชน 'FORWARD' หรือกฎ NAT ที่เหมาะสมในเชน 'POSTROUTING'
Score:1
ธง cw

นี่คือตัวอย่าง

ipset สร้างbaned_hosts hash:net family inet hashsize 1048576 maxelem 1500000 ตัวนับความคิดเห็น

นี่คือกฎ iptables

iptables -t nat -A PREROUTING -i eth0 -m set --match-setban_hosts src -j DROP
gi flag
ฉันต้องใช้ `FORWARD` ไม่ใช่ `PREROUTING` เพราะ `iptables v1.8.2 (nf_tables): ไม่มีเชน 'PREROUTING' อยู่ ` นอกจากนี้ฉันเชื่อว่าใน `iptables` (ไม่เหมือน `ipchains`) โซ่ `INPUT` จะจับคู่แพ็กเก็ตที่กำหนดไว้สำหรับ localhost เท่านั้น ฉันยังรู้สึกสับสนเพราะหนึ่งในโดเมนที่ฉันพยายามบล็อก (เซิร์ฟเวอร์โฆษณา) ดูเหมือนจะเปลี่ยน IP ทุกสองสามนาที
it flag
@RichardBarraclough ตรวจสอบให้แน่ใจว่าคุณใช้อาร์กิวเมนต์ `-t nat` ในคำสั่ง iptables ของคุณ ฉันใช้กฎ ipset ของ iptables ที่ทำงานบนเชน `PREROUTING`
it flag
ฉันคิดว่าเป้าหมาย `-j DROP` ต้องปรับเป็น `-j RETURN` บนโซ่ `-t nat` ด้วย หากมีใครสามารถยืนยันได้ โปรดแก้ไขคำตอบข้างต้นตามนั้น
cw flag
OP ต้องการบล็อกที่อยู่ IP บล็อก -J RETURN ไม่ทำเช่นนี้ คุณต้องการ -J DROP คุณสามารถใช้ -J REJECT ได้ แต่นั่นจะส่งแพ็กเก็ตกลับไปยังต้นทางที่ระบุถึงการปฏิเสธ นี่ไม่ใช่สิ่งที่คุณต้องการใช้แบนด์วิดท์โดยเปล่าประโยชน์เพราะคุณเพิ่งส่งไปยังบอทสแกนพอร์ต

โพสต์คำตอบ

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