Score:2

จะบล็อกอุปกรณ์ที่เชื่อมต่อกับอินเทอร์เฟซไร้สายเฉพาะไม่ให้เข้าถึงอินเทอร์เน็ตได้อย่างไร

ธง eg

ฉันได้กำหนดค่าเราเตอร์ OpenWRT WiFi ของฉันด้วยอินเทอร์เฟซไร้สายสองอินเทอร์เฟซ: wlan0 และ wlan0-1. อินเทอร์เฟซอีเธอร์เน็ต WAN ของฉันคือ eth0.2.

ฉันจะป้องกันอุปกรณ์ที่เชื่อมต่อได้อย่างไร wlan0-1 จากการเข้าถึงอินเทอร์เน็ต เช่น โดยใช้ iptables?

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

br-lan ลิงก์ encap:Ethernet HWaddr 70:4F:57:00:51:AE
          inet addr:192.168.1.254 Bcast:192.168.1.255 มาสก์:255.255.255.0
          inet6 addr: fd76:9521:f357::1/60 ขอบเขต: Global
          inet6 addr: fe80::724f:57ff:fe00:51ae/64 ขอบเขต: ลิงก์
          การออกอากาศที่เรียกใช้มัลติคาสต์ MTU:1500 เมตริก:1
          แพ็กเก็ต RX:380362 ข้อผิดพลาด:0 หลุด:9 โอเวอร์รัน:0 เฟรม:0
          แพ็กเก็ต TX:1678139 ข้อผิดพลาด:0 หลุด:0 โอเวอร์รัน:0 ผู้ให้บริการ:0
          การชน:0 txqueuelen:1000
          ไบต์ RX:128540610 (122.5 MiB) ไบต์ TX:1235755098 (1.1 GiB)

br-wan ลิงค์ encap:Ethernet HWaddr 70:4F:57:00:51:AF
          inet addr:192.168.178.20 Bcast:192.168.178.255 มาสก์:255.255.255.0
          inet6 addr: fe80::724f:57ff:fe00:51af/64 ขอบเขต: ลิงค์
          การออกอากาศที่เรียกใช้มัลติคาสต์ MTU:1500 เมตริก:1
          แพ็กเก็ต RX:1684381 ข้อผิดพลาด:0 หลุด:10354 โอเวอร์รัน:0 เฟรม:0
          แพ็กเก็ต TX:369066 ข้อผิดพลาด:0 หลุด:0 โอเวอร์รัน:0 ผู้ให้บริการ:0
          การชน:0 txqueuelen:1000
          ไบต์ RX:1209960142 (1.1 GiB) ไบต์ TX:132041857 (125.9 MiB)

eth0 ลิงก์ encap:Ethernet HWaddr 70:4F:57:00:51:AE
          inet6 addr: fe80::724f:57ff:fe00:51ae/64 ขอบเขต: ลิงก์
          การออกอากาศที่เรียกใช้มัลติคาสต์ MTU:1500 เมตริก:1
          แพ็กเก็ต RX:1809158 ข้อผิดพลาด:0 หลุด:16 โอเวอร์รัน:0 เฟรม:0
          แพ็กเก็ต TX:1611603 ข้อผิดพลาด:1 หลุด:0 โอเวอร์รัน:0 ผู้ให้บริการ:0
          การชน:0 txqueuelen:1000
          ไบต์ RX:1276777715 (1.1 GiB) ไบต์ TX:1193854987 (1.1 GiB)
          ขัดจังหวะ:5

eth0.1 ลิงค์ encap:Ethernet HWaddr 70:4F:57:00:51:AE
          การออกอากาศที่เรียกใช้มัลติคาสต์ MTU:1500 เมตริก:1
          แพ็กเก็ต RX:106729 ข้อผิดพลาด:0 หลุด:0 โอเวอร์รัน:0 เฟรม:0
          แพ็กเก็ต TX:1218251 ข้อผิดพลาด:0 หลุด:0 โอเวอร์รัน:0 ผู้ให้บริการ:0
          การชน:0 txqueuelen:1000
          ไบต์ RX:33390921 (31.8 MiB) ไบต์ TX:1054045465 (1005.2 MiB)

eth0.2 ลิงค์ encap:Ethernet HWaddr 70:4F:57:00:51:AF
          การออกอากาศที่เรียกใช้มัลติคาสต์ MTU:1500 เมตริก:1
          แพ็กเก็ต RX:1689922 ข้อผิดพลาด:0 หลุด:349 โอเวอร์รัน:0 เฟรม:0
          แพ็กเก็ต TX:393339 ข้อผิดพลาด:0 ลดลง:0 โอเวอร์รัน:0 ผู้ให้บริการ:0
          การชน:0 txqueuelen:1000
          ไบต์ RX:1210230806 (1.1 GiB) ไบต์ TX:133360867 (127.1 MiB)

lo ลิงก์ encap:Local Loopback
          inet addr:127.0.0.1 มาสก์:255.0.0.0
          inet6 addr: ::1/128 ขอบเขต:โฮสต์
          การทำงานย้อนกลับขึ้น MTU:65536 เมตริก:1
          แพ็กเก็ต RX:642 ข้อผิดพลาด:0 หลุด:0 โอเวอร์รัน:0 เฟรม:0
          แพ็กเก็ต TX:642 ข้อผิดพลาด:0 ลดลง:0 โอเวอร์รัน:0 ผู้ให้บริการ:0
          การชน:0 txqueuelen:1000
          ไบต์ RX:56074 (54.7 KiB) ไบต์ TX:56074 (54.7 KiB)

wlan0 ลิงค์ encap:Ethernet HWaddr 70:4F:57:00:51:AC
          inet6 addr: fe80::724f:57ff:fe00:51ac/64 ขอบเขต: ลิงค์
          การออกอากาศที่เรียกใช้มัลติคาสต์ MTU:1500 เมตริก:1
          แพ็กเก็ต RX:293895 ข้อผิดพลาด:0 หลุด:0 โอเวอร์รัน:0 เฟรม:0
          แพ็กเก็ต TX:383702 ข้อผิดพลาด:0 ลดลง:0 โอเวอร์รัน:0 ผู้ให้บริการ:0
          การชน:0 txqueuelen:1000
          ไบต์ RX:99486914 (94.8 MiB) ไบต์ TX:194289752 (185.2 MiB)

wlan0-1 ลิงค์ encap:Ethernet HWaddr 72:4F:57:00:51:AC
          inet6 addr: fe80::704f:57ff:fe00:51ac/64 ขอบเขต: ลิงค์
          การออกอากาศที่เรียกใช้มัลติคาสต์ MTU:1500 เมตริก:1
          แพ็กเก็ต RX:15014 ข้อผิดพลาด:0 หลุด:0 โอเวอร์รัน:0 เฟรม:0
          แพ็กเก็ต TX:12335 ข้อผิดพลาด:0 ลดลง:0 โอเวอร์รัน:0 ผู้ให้บริการ:0
          การชน:0 txqueuelen:1000
          ไบต์ RX:1962975 (1.8 MiB) ไบต์ TX:2056310 (1.9 MiB)

จนถึงตอนนี้ฉันสามารถบล็อกทราฟฟิกจากที่อยู่ IP แต่ละรายการเท่านั้น แต่สิ่งนี้ค่อนข้างงุ่มง่าม:

$ iptables - A forwarding_rule --source 192.168.1.110 --jump ปฏิเสธ

การใช้อินเทอร์เฟซอินพุตและเอาต์พุต br-วัน หรือ eth0.2, ไม่ทำงาน:

$ iptables -A forwarding_rule -i wlan0-1 -o br-wan --jump ปฏิเสธ

แก้ไข: การเพิ่มผลลัพธ์ของ iptables-บันทึก

# สร้างโดย iptables-save v1.8.3 ในวันพฤหัสบดีที่ 7 ต.ค. 21:18:59 น. 2564
*แนท
: ยอมรับ [29740:1906622]
: ยอมรับอินพุต [1917:191180]
: ยอมรับเอาต์พุต [9468:913173]
:หลังยอมรับ [0:0]
:postrouting_lan_rule - [0:0]
:postrouting_rule - [0:0]
:postrouting_wan_rule - [0:0]
:prerouting_lan_rule - [0:0]
:prerouting_rule - [0:0]
:prerouting_wan_rule - [0:0]
:zone_lan_postrouting - [0:0]
:zone_lan_prerouting - [0:0]
:zone_wan_postrouting - [0:0]
:zone_wan_prerouting - [0:0]
-A PREROUTING -m ความคิดเห็น --comment "!fw3: Custom prerouting rule chain" -j prerouting_rule
-A PREROUTING -i br-lan -m ความคิดเห็น --comment "!fw3" -j zone_lan_prerouting
-A PREROUTING -i br-wan -m ความคิดเห็น --comment "!fw3" -j zone_wan_prerouting
-A PREROUTING -i eth0.2 -m comment --comment "!fw3" -j zone_wan_prerouting
-A POSTROUTING -m comment --comment "!fw3: Custom postrouting rule chain" -j postrouting_rule
-A POSTROUTING -o br-lan -m ความคิดเห็น --comment "!fw3" -j zone_lan_postrouting
-A POSTROUTING -o br-wan -m ความคิดเห็น --comment "!fw3" -j zone_wan_postrouting
-A POSTROUTING -o eth0.2 -m comment --comment "!fw3" -j zone_wan_postrouting
-A zone_lan_postrouting -m ความคิดเห็น --comment "!fw3: Custom lan postrouting rule chain" -j postrouting_lan_rule
-A zone_lan_postrouting -m ความคิดเห็น --comment "!fw3" -j MASQUERADE
-A zone_lan_prerouting -m ความคิดเห็น --comment "!fw3: Custom lan prerouting rule chain" -j prerouting_lan_rule
-A zone_wan_postrouting -m ความคิดเห็น --comment "!fw3: Custom wan postrouting rule chain" -j postrouting_wan_rule
-A zone_wan_postrouting -m ความคิดเห็น --comment "!fw3" -j MASQUERADE
-A zone_wan_prerouting -m ความคิดเห็น --comment "!fw3: Custom wan prerouting rule chain" -j prerouting_wan_rule
ให้สัญญา
# เสร็จสิ้นเมื่อ พฤ. 7 ต.ค. 21:18:59 น. 2564
# สร้างโดย iptables-save v1.8.3 ในวันพฤหัสบดีที่ 7 ต.ค. 21:18:59 น. 2564
* แหลกเหลว
: ยอมรับ [408155:279582022]
: ยอมรับอินพุต [31411:6614761]
:ส่งต่อ ยอมรับ [376252:272911158]
: ยอมรับเอาต์พุต [51318:6113468]
: ยอมรับภายหลัง [402428:277911525]
-A FORWARD -o br-wan -p tcp -m tcp --tcp-flags SYN,RST SYN -m comment --comment "!fw3: Zone wan MTU fixing" -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -i br-wan -p tcp -m tcp --tcp-flags SYN,RST SYN -m comment --comment "!fw3: Zone wan MTU fixing" -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -o eth0.2 -p tcp -m tcp --tcp-flags SYN,RST SYN -m comment --comment "!fw3: Zone wan MTU fixing" -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -i eth0.2 -p tcp -m tcp --tcp-flags SYN,RST SYN -m comment --comment "!fw3: Zone wan MTU fixing" -j TCPMSS --clamp-mss-to-pmtu
ให้สัญญา
# เสร็จสิ้นเมื่อ พฤ. 7 ต.ค. 21:18:59 น. 2564
# สร้างโดย iptables-save v1.8.3 ในวันพฤหัสบดีที่ 7 ต.ค. 21:18:59 น. 2564
*กรอง
:อินพุต ยอมรับ [0:0]
:ทิ้งไปข้างหน้า [0:0]
:เอาต์พุตยอมรับ [0:0]
:forwarding_lan_rule - [0:0]
:forwarding_rule - [0:0]
:forwarding_wan_rule - [0:0]
:input_lan_rule - [0:0]
:input_rule - [0:0]
:input_wan_rule - [0:0]
:output_lan_rule - [0:0]
:output_rule - [0:0]
:output_wan_rule - [0:0]
:ปฏิเสธ - [0:0]
:syn_flood - [0:0]
:zone_lan_dest_ACCEPT - [0:0]
:zone_lan_forward - [0:0]
:zone_lan_input - [0:0]
:zone_lan_output - [0:0]
:zone_lan_src_ACCEPT - [0:0]
:zone_wan_dest_ACCEPT - [0:0]
:zone_wan_forward - [0:0]
:zone_wan_input - [0:0]
:zone_wan_output - [0:0]
:zone_wan_src_REJECT - [0:0]
-A INPUT -i lo -m ความคิดเห็น --comment "!fw3" -j ยอมรับ
-A INPUT -m ความคิดเห็น --comment "!fw3: Custom input rule chain" -j input_rule
-A INPUT -m conntrack --ctstate ที่เกี่ยวข้อง,ESTABLISHED -m ความคิดเห็น --comment "!fw3" -j ยอมรับ
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m ความคิดเห็น --comment "!fw3" -j syn_flood
-A INPUT -i br-lan -m ความคิดเห็น --comment "!fw3" -j zone_lan_input
-A INPUT -i br-wan -m ความคิดเห็น --comment "!fw3" -j zone_wan_input
-A INPUT -i eth0.2 -m comment --comment "!fw3" -j zone_wan_input
-A FORWARD -m ความคิดเห็น --comment "!fw3: ห่วงโซ่กฎการส่งต่อแบบกำหนดเอง" -j forwarding_rule
-A FORWARD -m conntrack --ctstate ที่เกี่ยวข้อง ก่อตั้ง -m ความคิดเห็น --comment "!fw3" -j ยอมรับ
-A FORWARD -i br-lan -m ความคิดเห็น --comment "!fw3" -j zone_lan_forward
-A FORWARD -i br-wan -m ความคิดเห็น --comment "!fw3" -j zone_wan_forward
-A FORWARD -i eth0.2 -m comment --comment "!fw3" -j zone_wan_forward
-A FORWARD -m ความคิดเห็น --comment "!fw3" -j ปฏิเสธ
-A OUTPUT -o lo -m ความคิดเห็น --comment "!fw3" -j ยอมรับ
-A OUTPUT -m ความคิดเห็น --comment "!fw3: Custom output rule chain" -j output_rule
-A OUTPUT -m conntrack --ctstate ที่เกี่ยวข้อง ก่อตั้ง -m ความคิดเห็น --comment "!fw3" -j ยอมรับ
-A OUTPUT -o br-lan -m ความคิดเห็น --comment "!fw3" -j zone_lan_output
-A OUTPUT -o br-wan -m ความคิดเห็น --comment "!fw3" -j zone_wan_output
-A OUTPUT -o eth0.2 -m ความคิดเห็น --comment "!fw3" -j zone_wan_output
-A forwarding_rule -s 192.168.1.110/32 -j ปฏิเสธ
-A forwarding_rule -s 192.168.1.111/32 -j ปฏิเสธ
-A ปฏิเสธ -p tcp -m ความคิดเห็น --comment "!fw3" -j REJECT --reject-with tcp-reset
-A ปฏิเสธ -m ความคิดเห็น --comment "!fw3" -j REJECT --reject-with icmp-port-unreachable
-A syn_flood -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 25/sec --limit-burst 50 -m comment --comment "!fw3" -j RETURN
-A syn_flood -m ความคิดเห็น --comment "!fw3" -j DROP
-A zone_lan_dest_ACCEPT -o br-lan -m conntrack --ctstate INVALID -m ความคิดเห็น --comment "!fw3: ป้องกันการรั่วไหลของ NAT" -j DROP
-A zone_lan_dest_ACCEPT -o br-lan -m ความคิดเห็น --comment "!fw3" -j ยอมรับ
-A zone_lan_forward -m ความคิดเห็น --comment "!fw3: Custom lan forwarding rule chain" -j forwarding_lan_rule
-A zone_lan_forward -m ความคิดเห็น --comment "!fw3: นโยบายการส่งต่อโซน lan ไปยัง wan" -j zone_wan_dest_ACCEPT
-A zone_lan_forward -m conntrack --ctstate DNAT -m ความคิดเห็น --comment "!fw3: ยอมรับการส่งต่อพอร์ต" -j ACCEPT
-A zone_lan_forward -m ความคิดเห็น --ความคิดเห็น "!fw3" -j zone_lan_dest_ACCEPT
-A zone_lan_input -m ความคิดเห็น --comment "!fw3: Custom lan input rule chain" -j input_lan_rule
-A zone_lan_input -m conntrack --ctstate DNAT -m ความคิดเห็น --comment "!fw3: ยอมรับการเปลี่ยนเส้นทางพอร์ต" -j ACCEPT
-A zone_lan_input -m ความคิดเห็น --comment "!fw3" -j zone_lan_src_ACCEPT
-A zone_lan_output -m ความคิดเห็น --comment "!fw3: Custom lan output rule chain" -j output_lan_rule
-A zone_lan_output -m ความคิดเห็น --comment "!fw3" -j zone_lan_dest_ACCEPT
-A zone_lan_src_ACCEPT -i br-lan -m conntrack --ctstate NEW,UNTRACKED -m ความคิดเห็น --comment "!fw3" -j ยอมรับ
-A zone_wan_dest_ACCEPT -o br-wan -m conntrack --ctstate INVALID -m ความคิดเห็น --comment "!fw3: ป้องกันการรั่วไหลของ NAT" -j DROP
-A zone_wan_dest_ACCEPT -o br-wan -m ความคิดเห็น --comment "!fw3" -j ยอมรับ
-A zone_wan_dest_ACCEPT -o eth0.2 -m conntrack --ctstate INVALID -m comment --comment "!fw3: ป้องกันการรั่วไหลของ NAT" -j DROP
-A zone_wan_dest_ACCEPT -o eth0.2 -m ความคิดเห็น --comment "!fw3" -j ยอมรับ
-A zone_wan_forward -m ความคิดเห็น --comment "!fw3: Custom wan forwarding rule chain" -j forwarding_wan_rule
-A zone_wan_forward -p esp -m ความคิดเห็น --comment "!fw3: Allow-IPSec-ESP" -j zone_lan_dest_ACCEPT
-A zone_wan_forward -p udp -m udp --dport 500 -m ความคิดเห็น --comment "!fw3: Allow-ISAKMP" -j zone_lan_dest_ACCEPT
-A zone_wan_forward -m ความคิดเห็น --comment "!fw3: นโยบายการส่งต่อโซน wan ไปยัง lan" -j zone_lan_dest_ACCEPT
-A zone_wan_forward -m conntrack --ctstate DNAT -m ความคิดเห็น --comment "!fw3: ยอมรับการส่งต่อพอร์ต" -j ACCEPT
-a zone_wan_forward -m ความคิดเห็น --ความคิดเห็น "!fw3" -j zone_wan_dest_ACCEPT
-A zone_wan_input -m ความคิดเห็น --comment "!fw3: Custom wan input rule chain" -j input_wan_rule
-A zone_wan_input -p udp -m udp --dport 68 -m ความคิดเห็น --comment "!fw3: Allow-DHCP-Renew" -j ACCEPT
-A zone_wan_input -p icmp -m icmp --icmp-type 8 -m ความคิดเห็น --comment "!fw3: Allow-Ping" -j ยอมรับ
-A zone_wan_input -p igmp -m ความคิดเห็น --comment "!fw3: Allow-IGMP" -j ACCEPT
-A zone_wan_input -m conntrack --ctstate DNAT -m ความคิดเห็น --comment "!fw3: ยอมรับการเปลี่ยนเส้นทางพอร์ต" -j ACCEPT
-A zone_wan_input -m ความคิดเห็น --ความคิดเห็น "!fw3" -j zone_wan_src_REJECT
-A zone_wan_output -m ความคิดเห็น --comment "!fw3: Custom wan output rule chain" -j output_wan_rule
-A zone_wan_output -m ความคิดเห็น --comment "!fw3" -j zone_wan_dest_ACCEPT
-A zone_wan_src_REJECT -i br-wan -m ความคิดเห็น --comment "!fw3" -j ปฏิเสธ
-A zone_wan_src_REJECT -i eth0.2 -m ความคิดเห็น --comment "!fw3" -j ปฏิเสธ
ให้สัญญา
# เสร็จสิ้นเมื่อ พฤ. 7 ต.ค. 21:18:59 น. 2564

แก้ไข: การเพิ่มผลลัพธ์ของ ไฟร์วอลล์ส่งออก uci

ไฟร์วอลล์แพ็คเกจ

กำหนดค่าเริ่มต้น
        ตัวเลือก syn_flood '1'
        ป้อนตัวเลือก 'ยอมรับ'
        เอาต์พุตตัวเลือก 'ยอมรับ'
        ตัวเลือกไปข้างหน้า 'ปฏิเสธ'

โซนการกำหนดค่า
        ชื่อตัวเลือก 'lan'
        ป้อนตัวเลือก 'ยอมรับ'
        เอาต์พุตตัวเลือก 'ยอมรับ'
        ตัวเลือกไปข้างหน้า 'ยอมรับ'
        ตัวเลือกมาสก์ '1'
        เครือข่ายตัวเลือก 'lan'

โซนการกำหนดค่า
        ชื่อตัวเลือก 'wan'
        ป้อนตัวเลือก 'ปฏิเสธ'
        เอาต์พุตตัวเลือก 'ยอมรับ'
        ตัวเลือกมาสก์ '1'
        ตัวเลือก mtu_fix '1'
        ตัวเลือกไปข้างหน้า 'ยอมรับ'
        เครือข่ายตัวเลือก 'wan wan6 wwan1 wwan'

การส่งต่อการกำหนดค่า
        ตัวเลือก src 'lan'
        ตัวเลือก dest 'wan'

กฎการกำหนดค่า
        ชื่อตัวเลือก 'อนุญาต-DHCP-ต่ออายุ'
        ตัวเลือก src 'วาน'
        ตัวเลือกโปรโต 'udp'
        ตัวเลือก dest_port '68'
        เป้าหมายตัวเลือก 'ยอมรับ'
        ตระกูลตัวเลือก 'ipv4'

กฎการกำหนดค่า
        ชื่อตัวเลือก 'อนุญาต-Ping'
        ตัวเลือก src 'วาน'
        ตัวเลือกโปรโต 'icmp'
        ตัวเลือก icmp_type 'echo-request'
        ตระกูลตัวเลือก 'ipv4'
        เป้าหมายตัวเลือก 'ยอมรับ'

กฎการกำหนดค่า
        ชื่อตัวเลือก 'Allow-IGMP'
        ตัวเลือก src 'วาน'
        ตัวเลือกโปรโต 'igmp'
        ตระกูลตัวเลือก 'ipv4'
        เป้าหมายตัวเลือก 'ยอมรับ'

กฎการกำหนดค่า
        ชื่อตัวเลือก 'อนุญาต-DHCPv6'
        ตัวเลือก src 'วาน'
        ตัวเลือกโปรโต 'udp'
        ตัวเลือก src_ip 'fc00::/6'
        ตัวเลือก dest_ip 'fc00::/6'
        ตัวเลือก dest_port '546'
        ตระกูลตัวเลือก 'ipv6'
        เป้าหมายตัวเลือก 'ยอมรับ'

กฎการกำหนดค่า
        ชื่อตัวเลือก 'Allow-MLD'
        ตัวเลือก src 'วาน'
        ตัวเลือกโปรโต 'icmp'
        ตัวเลือก src_ip 'fe80::/10'
        รายการ icmp_type '130/0'
        รายการ icmp_type '131/0'
        รายการ icmp_type '132/0'
        รายการ icmp_type '143/0'
        ตระกูลตัวเลือก 'ipv6'
        เป้าหมายตัวเลือก 'ยอมรับ'

กฎการกำหนดค่า
        ชื่อตัวเลือก 'อนุญาต-ICMPv6-อินพุต'
        ตัวเลือก src 'วาน'
        ตัวเลือกโปรโต 'icmp'
        รายการ icmp_type 'echo-request'
        รายการ icmp_type 'echo-reply'
        รายการ icmp_type 'ปลายทางไม่สามารถเข้าถึงได้'
        รายการ icmp_type 'แพ็คเก็ตใหญ่เกินไป'
        รายการ icmp_type 'เกินเวลา'
        รายการ icmp_type 'ส่วนหัวไม่ถูกต้อง'
        รายการ icmp_type 'unknown-header-type'
        รายการ icmp_type 'การชักชวนเราเตอร์'
        รายการ icmp_type 'การชักชวนเพื่อนบ้าน'
        รายการ icmp_type 'โฆษณาเราเตอร์'
        รายการ icmp_type 'โฆษณาเพื่อนบ้าน'
        ขีดจำกัดตัวเลือก '1,000/วินาที'
        ตระกูลตัวเลือก 'ipv6'
        เป้าหมายตัวเลือก 'ยอมรับ'

กฎการกำหนดค่า
        ชื่อตัวเลือก 'Allow-ICMPv6-Forward'
        ตัวเลือก src 'วาน'
        ปลายทางตัวเลือก '*'
        ตัวเลือกโปรโต 'icmp'
        รายการ icmp_type 'echo-request'
        รายการ icmp_type 'echo-reply'
        รายการ icmp_type 'ปลายทางไม่สามารถเข้าถึงได้'
        รายการ icmp_type 'แพ็คเก็ตใหญ่เกินไป'
        รายการ icmp_type 'เกินเวลา'
        รายการ icmp_type 'ส่วนหัวไม่ถูกต้อง'
        รายการ icmp_type 'unknown-header-type'
        ขีดจำกัดตัวเลือก '1,000/วินาที'
        ตระกูลตัวเลือก 'ipv6'
        เป้าหมายตัวเลือก 'ยอมรับ'

กฎการกำหนดค่า
        ชื่อตัวเลือก 'Allow-IPSec-ESP'
        ตัวเลือก src 'วาน'
        ตัวเลือกที่ยกเลิก 'lan'
        ตัวเลือกโปรโต 'esp'
        เป้าหมายตัวเลือก 'ยอมรับ'

กฎการกำหนดค่า
        ชื่อตัวเลือก 'Allow-ISAKMP'
        ตัวเลือก src 'วาน'
        ตัวเลือกที่ยกเลิก 'lan'
        ตัวเลือก dest_port '500'
        ตัวเลือกโปรโต 'udp'
        เป้าหมายตัวเลือก 'ยอมรับ'

รวมการกำหนดค่า
        เส้นทางตัวเลือก '/etc/firewall.user'

การส่งต่อการกำหนดค่า
        ตัวเลือกที่ยกเลิก 'lan'
        ตัวเลือก src 'วาน'

แก้ไข: การเพิ่มผลลัพธ์ของ ลิงค์ไอพี:

1: จริง: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
    ลิงค์ / ย้อนกลับ 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel สถานะ UNKNOWN qlen 1000
    ลิงค์/อีเธอร์ 70:4f:57:00:51:ae brd ff:ff:ff:ff:ff:ff
5: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    ลิงค์/อีเธอร์ 70:4f:57:00:51:ae brd ff:ff:ff:ff:ff:ff
6: eth0.1@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    ลิงค์/อีเธอร์ 70:4f:57:00:51:ae brd ff:ff:ff:ff:ff:ff
7: br-wan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    ลิงค์/อีเธอร์ 70:4f:57:00:51:af brd ff:ff:ff:ff:ff:ff
8: eth0.2@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-wan สถานะ UP qlen 1000
    ลิงค์/อีเธอร์ 70:4f:57:00:51:af brd ff:ff:ff:ff:ff:ff
9: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    ลิงค์/อีเธอร์ 70:4f:57:00:51:ac brd ff:ff:ff:ff:ff:ff
10: wlan0-1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    ลิงค์/อีเธอร์ 72:4f:57:00:51:ac brd ff:ff:ff:ff:ff:ff

แก้ไข: การเพิ่มผลลัพธ์ของ brctl แสดง:

ชื่อบริดจ์ รหัสบริดจ์ อินเทอร์เฟซที่เปิดใช้งาน STP
br-lan 7fff.704f570051ae ไม่มี eth0.1
                                                        wlan0
                                                        wlan0-1
br-wan 7fff.704f570051af ไม่มี eth0.2
us flag
โปรดเพิ่มผลลัพธ์ของ `iptables-save` ในคำถามของคุณ
cn flag
คุณสามารถใช้ cli หรือ web luci frontend เพื่อกำหนดค่าไฟร์วอลล์ใน OpenWRT: https://openwrt.org/docs/guide-user/firewall/firewall_configuration โปรดเพิ่มผลลัพธ์ของ `uci export firewall'
eg flag
@MirceaVutcovici ฉันได้ดูส่วนหน้าของ luci เพื่อแก้ไขไฟร์วอลล์ แต่ฉันไม่เห็นวิธีลดการรับส่งข้อมูลจากอินเทอร์เฟซ WiFi ที่มีไว้สำหรับอินเทอร์เฟซ WAN
eg flag
@AB ฉันไม่ได้ติดตั้ง 'สะพาน' และคำสั่ง 'ip link show' ไม่ยอมรับพารามิเตอร์ 'type' `ip` ให้บริการโดย BusyBox v1.30.1
eg flag
@A.B สิ่งที่ใกล้เคียงที่สุดที่ฉันได้รับคือ `ip neigh show` ช่วยได้ไหม
Score:3
ธง cl
A.B

OpenWRT กำลังเรียกใช้เคอร์เนล Linux แต่ในฐานะระบบฝังตัว ฟีเจอร์บางอย่างอาจไม่พร้อมใช้งาน ดังนั้นฉันจึงไม่ทราบว่าคำตอบนี้ซึ่งตั้งใจให้ทำงานบนระบบ Linux ที่มีการกำหนดค่าคล้ายกับ OP จะใช้งานได้หรือไม่ สิ่งนี้ต้องการ:

และขึ้นอยู่กับโซลูชันที่เลือก ซึ่งอาจต้องใช้บางอย่างต่อไปนี้ด้วย:

ในที่สุดระบบก็กำหนดเส้นทาง แพ็คเก็ต จาก br-lan ส่วนต่อประสานกับ br-วัน อินเตอร์เฟซ. ในขั้นตอนนี้ ความจริงที่ว่าก กรอบ เข้าสู่ br-lan อินเทอร์เฟซโดยใช้ wlan0-1 อินเตอร์เฟซ ท่าเรือสะพาน หายไปเมื่อเฟรมออกจากบริดจ์เริ่มต้นเพื่อให้เพย์โหลด: IPv4, กำหนดเส้นทาง ดังนั้นการดำเนินการเริ่มต้นจะต้องเกิดขึ้นก่อนที่ข้อมูลนี้จะสูญหายไป: ในเส้นทางสะพานเมื่อเฟรมยังคงอยู่ใน br-lan สะพาน.

เอกสาร อาจบอกใบ้ (มีการกล่าวถึงบริดจ์) เป็นไปได้ที่จะจัดการบริดจ์ไฟร์วอลล์ด้วยแอปพลิเคชันไฟร์วอลล์ของ OpenWRT แต่ฉันไม่มีความรู้เกี่ยวกับส่วนนี้ ดังนั้นฉันจะใช้โดยตรง ebtables.

หากใครสามารถพึ่งพาการรู้โทโพโลยี IP LAN br-lan (192.168.1.0/24) ครบจบในตัวเดียว ebtables กฎ:

ebtables -A INPUT -p IPv4 -i wlan0-1 --ip-dst ! 192.168.1.0/24 -j ลดลง

ซึ่งลดเฟรม IPv4 ใดๆ ที่ได้รับจาก wlan0-1 บริดจ์พอร์ตและบริดจ์ไปยังโฮสต์ (อาจเป็นสำหรับพอร์ตนี้หรือสำหรับการกำหนดเส้นทางเพิ่มเติม) ที่ไม่มีที่อยู่ IP ปลายทางภายใน 192.168.1.0/24

คุณสามารถเลือกแทรกก่อนข้อยกเว้นสำหรับที่อยู่ IP สาธารณะของ OpenWRT หากเป็นแบบคงที่และทราบล่วงหน้า (เช่น: 192.0.2.2):

ebtables -I INPUT -p IPv4 -i wlan0-1 --ip-dst 192.0.2.2 -j ยอมรับ

หากไม่เป็นไร ไม่จำเป็นต้องใช้วิธีอื่นต่อไปนี้


มิฉะนั้น หากกฎต้องเป็นแบบทั่วไปโดยไม่เกี่ยวข้องกับที่อยู่ IP ของ LAN แต่เฉพาะอินเทอร์เฟซ (หรือจำเป็นต้องยอมรับที่อยู่ IP ของ WAN เป็นปลายทางโดยไม่ทราบค่าของมัน) การกำหนดเส้นทางจะต้องเกี่ยวข้อง และฉันแนะนำให้ทำเครื่องหมายเฟรมโดยใช้ ebtables ในเส้นทางบริดจ์ที่มีข้อมูลอยู่ ก่อนที่เพย์โหลดของเฟรม (IPv4) จะถูกกำหนดเส้นทาง จากนั้นปล่อยแพ็กเก็ต/เฟรมที่ทำเครื่องหมายไว้ในภายหลังเมื่อแน่ใจว่าได้กำหนดเส้นทางไปยังอินเทอร์เน็ตแล้ว เครื่องหมายจะถูกรักษาไว้เมื่อถอดรหัสเฟรมหรือห่อหุ้มแพ็กเก็ต ปัจจุบันของ OP iptables กฎไม่ใช้เครื่องหมายใด ๆ ดังนั้นโอกาสที่จะไม่มีการโต้ตอบที่โชคร้าย

เช่นเดียวกับในกรณีของ OP อินเตอร์เฟสขาออกที่ใช้สำหรับการกำหนดเส้นทางก็เป็นบริดจ์ (br-วัน) เพื่อจำกัดการโต้ตอบกับเครื่องมือระดับสูง (ไฟร์วอลล์3) จัดการไฟร์วอลล์ด้วย iptablesเราสามารถวางเฟรมที่ทำเครื่องหมายไว้บนเส้นทางสะพานแทนที่จะทิ้งแพ็กเก็ตที่ทำเครื่องหมายไว้ในเส้นทางการกำหนดเส้นทาง: ไม่มีการโต้ตอบกับ iptables กฎ.

การไหลจาก LAN ไปยังอินเทอร์เน็ตมีดังนี้:

                                            âââââ eth0.1 âââââââ ดี
แย่ ââââââ wlan0-1 ââââââ br-lan สะพาน ââ ââââ wlan0 âââââââ ดี
                                 â
                                 â
                      อินพุตเฟรมอีเทอร์เน็ต (ไฟร์วอลล์ ebtables ที่นี่)
กรอบเครื่องหมายเมื่อจากwlan0-1ม
                                 â 
                                 
                               เฟรม br-lan ถูกแยกออกเป็น
                           อินเตอร์เฟสตัวเอง IPv4 มาร์กถูกรักษาไว้
                                 â
                                 â
                         การกำหนดเส้นทางแพ็กเก็ต IPv4 (ไฟร์วอลล์ iptables ที่นี่)
                                 â
                                 â
                                  
                               แพ็กเก็ต br-wan ถูกห่อหุ้มไว้ใน
                           อินเตอร์เฟสอีเทอร์เน็ตด้วยตนเอง มาร์กถูกรักษาไว้
                                 â
                                 â
                      Ethernet frame OUTPUT (ไฟร์วอลล์ ebtables ที่นี่)
      เฟรมหลุดหากทำเครื่องหมาย X
                                 â
                                 
                           สะพาน br-wan ââââââ eth0.2 ââââââ อินเทอร์เน็ต

สิ่งนี้จะทำเครื่องหมายเฟรมที่ได้รับจาก wlan0-1 พอร์ตสะพาน:

ebtables -A INPUT -i wlan0-1 -j เครื่องหมาย --mark-set 0xbad

จากนั้นสิ่งนี้จะจับคู่และลดลงเมื่อปล่อยจากโฮสต์ผ่าน br-วัน เชื่อมโยงเฟรม / แพ็คเก็ตที่ทำเครื่องหมายไว้ก่อนหน้านี้:

ebtables -A OUTPUT --logical-out br-wan --mark 0xbad -j DROP

ถ้า --ตรรกะ-ออก ไม่สามารถใช้งานได้ด้วยเหตุผลบางอย่าง ด้วยโทโพโลยีปัจจุบันสามารถเปลี่ยนแปลงได้ br-วันพอร์ตบริดจ์เอาต์พุตเดี่ยวของ:

ebtables -A OUTPUT -o eth0.2 --mark 0xbad -j DROP

ในกรณีนี้ เมื่อแพ็กเก็ตถูกมองว่าเข้าและออกจาก routing stack คอนแทรค จะสร้างรายการสำหรับมันแม้ว่ามันจะถูกทิ้งหลังจากนั้นก็ตาม รายการดังกล่าวจะไม่ไปถึงสถานะ ESTABLISHED เนื่องจากจะไม่มีอะไรได้รับแพ็กเก็ตนี้และตอบกลับ (ดูหมายเหตุด้วย)


หมายเหตุ:

  • หาก OpenWRT ได้รับการกำหนดค่าให้มี LAN สองอันที่แตกต่างกัน (ไม่ใช่บริดจ์หรือบนบริดจ์แยกกันซึ่งแต่ละอันมีส่วนร่วมในการกำหนดเส้นทาง) หนึ่งอันสำหรับ wlan0 และ eth0.1 และอีกอันหนึ่งสำหรับ wlan0-1 ด้วยที่อยู่ IP ที่แตกต่างกัน ดังนั้นการกำหนดเส้นทางมาตรฐานจึงนำไปใช้ได้ทุกที่ และปัญหานี้สามารถแก้ไขได้อย่างง่ายดายทั้งหมด iptables อาจมีการกำหนดค่าใน ไฟร์วอลล์3 และด้วย ebtables ไม่ต้องการ.

  • ปัจจุบัน iptables กฎแนะนำ eth0.2 สามารถใช้ (หรือเคยใช้) เป็นอินเตอร์เฟสมาตรฐาน (ไม่ใช่บริดจ์พอร์ต) หากเป็นกรณีนี้ โซลูชันที่สองจะต้องเปลี่ยนและเกี่ยวข้องกับกฎที่เทียบเท่าใน iptables ที่ควรรวมไว้ใน ไฟร์วอลล์3 ถ้าเป็นไปได้. นอกจากนี้ยังสามารถใช้สำหรับ br-วัน (แต่อีกครั้งจะคุ้มค่าก็ต่อเมื่อรวมเข้ากับ ไฟร์วอลล์3 เป็นไปได้):

    ขณะนี้กฎนี้สามารถทำงานได้แทนการ ebtables กฎ OUTPUT ด้านบน:

    iptables -I FORWARD -o br-wan -m เครื่องหมาย --mark 0xbad -j DROP
    

    และด้วย eth0.2 อินเทอร์เฟซการกำหนดเส้นทางโดยตรงแทนพอร์ตบริดจ์:

    iptables -I FORWARD -o eth0.2 -m เครื่องหมาย --mark 0xbad -j DROP
    

    สามารถใส่ทั้งสองอย่างพร้อมกันได้ เพราะตอนนี้กำลังทำอย่างอื่นอยู่ iptables กฎด้วย br-วัน และ eth0.2.

    ที่นี่เนื่องจากแพ็กเก็ตถูกทิ้งในเส้นทางการกำหนดเส้นทางด้วย iptables, คอนแทรค รายการจะไม่ถูกผูกมัดและจะไม่ปรากฏ (เช่น: แมว /proc/net/nf_conntrack จะไม่แสดงความพยายาม)

  • โดยใช้ iptables ในเส้นทางสะพานโดยอาศัย br_netfilter คุณสมบัติมักจะเป็นความคิดที่ไม่ดีเมื่อไม่มีการควบคุมการกำหนดค่าทั้งหมด และก็คือ ปิดใช้งานโดยค่าเริ่มต้น ใน OpenWRT ดังนั้น iptables' ฟิสิกส์ ไม่ควรใช้การจับคู่ที่ขึ้นอยู่กับคุณสมบัตินี้ (และอาจไม่พร้อมใช้งาน) เพื่อแก้ปัญหานี้

  • เนื่องจากสิ่งนี้ไม่ระบุสถานะ ทราฟฟิกขาเข้าจากอินเทอร์เน็ตไปยังระบบที่ใช้ wlan0-1 จะยังได้รับอนุญาต แต่จะไม่มีการตอบกลับอย่างไรก็ตาม เนื่องจาก LAN เป็นแบบส่วนตัว จึงต้องใช้กฎ DNAT บนไฟร์วอลล์เพื่อให้มีความเป็นไปได้นี้ (หรือสำหรับโซลูชันที่ 2 โดยที่ คอนแทรค รายการยังคงสร้างอยู่ บุคคลที่สามระยะไกลจะซิงโครไนซ์กับความพยายามที่ลดลงแบบสุ่มสี่สุ่มห้า) เป็นไปได้ที่จะทิ้งทิศทางตรงกันข้าม: การรับส่งข้อมูลทางอินเทอร์เน็ตไปยัง wlan0-1 ใช้วิธีเดียวกับที่นำเสนอ ถ้าจำเป็นจริงๆ

A.B avatar
cl flag
A.B
ตอนนี้คิดเกี่ยวกับมัน: วิธีการใช้การทำเครื่องหมายทั้งหมดด้วย ebtables ยังใช้งานได้นอกกรอบสำหรับ IPv6
eg flag
ฉันจะดูเกี่ยวกับการติดตั้ง `ebtables` และลองใช้ดู!
eg flag
เนื่องจากฉันเป็นผู้ควบคุมการกำหนดที่อยู่ IP ฉันจึงสามารถใช้กฎง่ายๆ `ebtables -A INPUT -p IPv4 -i wlan0-1 --ip-dst ! 192.168.1.0/24 -j DROP` และใช้งานได้ตามต้องการ ขอบคุณสำหรับคำอธิบายโดยละเอียด ฉันแน่ใจว่ามันจะเป็นประโยชน์ต่อฉันในอนาคต (และคนอื่นๆ อยู่แล้ว)
eg flag
ฉันต้องลองใช้คำแนะนำอื่นๆ ของคุณ เมื่อใช้กฎง่ายๆ อุปกรณ์ของฉันไม่สามารถตอบกลับคำขอ DHCP ซึ่งเป็นเรื่องที่แปลก เนื่องจากเซิร์ฟเวอร์ DHCP อยู่ในซับเน็ตเดียวกัน (192.168.1.254) อาจเป็นเพราะคำขอ DHCP ถูกถ่ายทอด...
A.B avatar
cl flag
A.B
ไคลเอนต์ DHCP ที่ทำการค้นหา DHCP ส่งไปยัง 255.255.255.255: ต้องใส่ที่อยู่นี้เป็นข้อยกเว้น (เช่นตัวอย่างที่มี 192.0.2.2)
A.B avatar
cl flag
A.B
อย่างไรก็ตาม เมื่อคิดดูแล้ว ที่อยู่อื่นๆ จะมีปัญหาขึ้นอยู่กับอุปกรณ์: IPv4LL และมัลติคาสต์ ดังนั้นคุณอาจต้องการดูตัวเลือกอื่นซึ่งมีผลทั่วไปมากกว่า (และจะบล็อก IPv6 ในราคาเดียวกัน)
eg flag
ไม่ว่าจะด้วยเหตุผลใดก็ตาม ฉันต้องใช้ `ebtables -A OUTPUT -o eth0.2 --mark 0xbad -j DROP` การใช้ `ebtables -A OUTPUT --logical-out br-wan --mark 0xbad -j DROP` ไม่ทำงาน - ฉันไม่สามารถเข้าถึงอุปกรณ์อื่นบนเครือข่ายภายในได้
eg flag
ฉันพูดเร็วเกินไป เพื่อให้ได้ฟังก์ชันการทำงานเต็มรูปแบบ รวมถึง MQTT และ SMB สำหรับอุปกรณ์ที่เชื่อมต่อกับ wlan0-1 ฉันต้องใช้ `ebtables -A INPUT -i wlan0-1 -j mark --mark-set 0xbad` รวมกับกฎ `iptables`: `iptables -I FORWARD -o br-wan -m mark --mark 0xbad -j DROP` และ `iptables -I FORWARD -o eth0.2 -m mark --mark 0xbad -j DROP`

โพสต์คำตอบ

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