Điểm:2

Làm cách nào để chặn các thiết bị kết nối với một giao diện không dây cụ thể truy cập internet?

lá cờ eg

Tôi đã định cấu hình bộ định tuyến WiFi OpenWRT của mình với hai giao diện không dây: wlan0wlan0-1. Giao diện ethernet WAN của tôi là eth0.2.

Làm cách nào để ngăn các thiết bị kết nối với wlan0-1 từ truy cập internet, e.g. sử dụng iptables?

Bối cảnh của tôi là tôi có một số thiết bị (bộ lọc không khí) có quyền truy cập WiFi để hỗ trợ giám sát và kiểm soát, tuy nhiên, chúng cũng tải dữ liệu lên máy chủ đám mây mà tôi muốn ngăn chặn.

br-lan Link encap:Ethernet HWaddr 70:4F:57:00:51:AE
          inet addr:192.168.1.254 Bcast:192.168.1.255 Mặt nạ:255.255.255.0
          inet6 addr: fd76:9521:f357::1/60 Phạm vi: Toàn cầu
          inet6 addr: fe80::724f:57ff:fe00:51ae/64 Phạm vi:Liên kết
          CHẠY PHÁT SÓNG TRÊN ĐA NĂNG MTU:1500 Số liệu:1
          Các gói RX: 380362 lỗi: 0 bị rớt: 9 lần tràn: 0 khung hình: 0
          Gói TX: 1678139 lỗi: 0 bị rớt: 0 tràn: 0 nhà cung cấp dịch vụ: 0
          va chạm: 0 txqueuelen: 1000
          Byte RX:128540610 (122,5 MiB) Byte TX:1235755098 (1,1 GiB)

br-wan Link encap:Ethernet HWaddr 70:4F:57:00:51:AF
          inet addr:192.168.178.20 Bcast:192.168.178.255 Mặt nạ:255.255.255.0
          inet6 addr: fe80::724f:57ff:fe00:51af/64 Phạm vi:Liên kết
          CHẠY PHÁT SÓNG TRÊN ĐA NĂNG MTU:1500 Số liệu:1
          Các gói RX: 1684381 lỗi: 0 bị rớt: 10354 tràn: 0 khung hình: 0
          Gói TX: 369066 lỗi: 0 bị rớt: 0 tràn: 0 nhà cung cấp dịch vụ: 0
          va chạm: 0 txqueuelen: 1000
          Byte RX:1209960142 (1,1 GiB) Byte TX:132041857 (125,9 MiB)

eth0 Link encap:Ethernet HWaddr 70:4F:57:00:51:AE
          inet6 addr: fe80::724f:57ff:fe00:51ae/64 Phạm vi:Liên kết
          CHẠY PHÁT SÓNG TRÊN ĐA NĂNG MTU:1500 Số liệu:1
          Các gói RX: 1809158 lỗi: 0 bị rớt: 16 lần vượt: 0 khung hình: 0
          Gói TX: 1611603 lỗi: 1 bị rớt: 0 tràn: 0 nhà cung cấp dịch vụ: 0
          va chạm: 0 txqueuelen: 1000
          Byte RX:1276777715 (1,1 GiB) Byte TX:1193854987 (1,1 GiB)
          Ngắt:5

eth0.1 Link encap:Ethernet HWaddr 70:4F:57:00:51:AE
          CHẠY PHÁT SÓNG TRÊN ĐA NĂNG MTU:1500 Số liệu:1
          Các gói RX: 106729 lỗi: 0 bị rớt: 0 tràn: 0 khung hình: 0
          Gói TX: 1218251 lỗi: 0 bị rớt: 0 tràn: 0 nhà cung cấp dịch vụ: 0
          va chạm: 0 txqueuelen: 1000
          Byte RX:33390921 (31,8 MiB) Byte TX:1054045465 (1005,2 MiB)

eth0.2 Mã hóa liên kết: Ethernet HWaddr 70:4F:57:00:51:AF
          CHẠY PHÁT SÓNG TRÊN ĐA NĂNG MTU:1500 Số liệu:1
          Các gói RX: 1689922 lỗi: 0 bị rớt: 349 lần vượt: 0 khung hình: 0
          Gói TX: 393339 lỗi: 0 bị rớt: 0 tràn: 0 nhà cung cấp dịch vụ: 0
          va chạm: 0 txqueuelen: 1000
          Byte RX:1210230806 (1,1 GiB) Byte TX:133360867 (127,1 MiB)

lo Link encap:Local Loopback
          inet addr:127.0.0.1 Mặt nạ:255.0.0.0
          inet6 addr: ::1/128 Phạm vi:Máy chủ
          UP LOOPBACK CHẠY MTU:65536 Số liệu:1
          Gói RX: 642 lỗi: 0 bị rớt: 0 tràn: 0 khung hình: 0
          Gói TX: 642 lỗi: 0 bị rớt: 0 tràn: 0 nhà cung cấp dịch vụ: 0
          va chạm: 0 txqueuelen: 1000
          Byte RX:56074 (54,7 KiB) Byte TX:56074 (54,7 KiB)

wlan0 Link encap:Ethernet HWaddr 70:4F:57:00:51:AC
          inet6 addr: fe80::724f:57ff:fe00:51ac/64 Phạm vi:Liên kết
          CHẠY PHÁT SÓNG TRÊN ĐA NĂNG MTU:1500 Số liệu:1
          Các gói RX: 293895 lỗi: 0 bị rớt: 0 tràn: 0 khung hình: 0
          Gói TX: 383702 lỗi: 0 bị rớt: 0 tràn: 0 nhà cung cấp dịch vụ: 0
          va chạm: 0 txqueuelen: 1000
          Byte RX:99486914 (94,8 MiB) Byte TX:194289752 (185,2 MiB)

wlan0-1 Link encap:Ethernet HWaddr 72:4F:57:00:51:AC
          inet6 addr: fe80::704f:57ff:fe00:51ac/64 Phạm vi:Liên kết
          CHẠY PHÁT SÓNG TRÊN ĐA NĂNG MTU:1500 Số liệu:1
          Các gói RX: 15014 lỗi: 0 bị rớt: 0 tràn: 0 khung hình: 0
          Gói TX: 12335 lỗi: 0 bị rớt: 0 tràn: 0 nhà cung cấp dịch vụ: 0
          va chạm: 0 txqueuelen: 1000
          Byte RX:1962975 (1,8 MiB) Byte TX:2056310 (1,9 MiB)

Cho đến nay tôi chỉ có thể chặn lưu lượng truy cập từ các địa chỉ IP riêng lẻ, nhưng điều này thật vụng về:

$ iptables -A forwarding_rule --source 192.168.1.110 --jump reject

Sử dụng các giao diện đầu vào và đầu ra, hoặc br-wan hoặc eth0.2, đã không làm việc:

$ iptables -A forwarding_rule -i wlan0-1 -o br-wan --jump reject

CHỈNH SỬA: Thêm đầu ra của iptables-save

# Được tạo bởi iptables-save v1.8.3 vào Thứ Năm ngày 7 tháng 10 21:18:59 năm 2021
* tự nhiên
: CHẤP NHẬN TRƯỚC [29740:1906622]
:CHẤP NHẬN ĐẦU VÀO [1917:191180]
:CHẤP NHẬN ĐẦU RA [9468:913173]
:POSTROUTING CHẤP NHẬN [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 --comment "!fw3: Custom prerouting rule chain" -j prerouting_rule
-A PREROUTING -i br-lan -m comment --comment "!fw3" -j zone_lan_prerouting
-A PREROUTING -i br-wan -m comment --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 --comment "!fw3" -j zone_lan_postrouting
-A POSTROUTING -o br-wan -m comment --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 --comment "!fw3: Chuỗi quy tắc postrouting lan tùy chỉnh" -j postrouting_lan_rule
-A zone_lan_postrouting -m comment --comment "!fw3" -j MASQUERADE
-A zone_lan_prerouting -m comment --comment "!fw3: Chuỗi quy tắc định tuyến trước lan tùy chỉnh" -j prerouting_lan_rule
-A zone_wan_postrouting -m comment --comment "!fw3: Chuỗi quy tắc postrouting wan tùy chỉnh" -j postrouting_wan_rule
-A zone_wan_postrouting -m comment --comment "!fw3" -j MASQUERADE
-A zone_wan_prerouting -m comment --comment "!fw3: Chuỗi quy tắc định tuyến trước wan tùy chỉnh" -j prerouting_wan_rule
LÀM
# Hoàn thành vào Thứ 7 ngày 7 tháng 10 21:18:59 2021
# Được tạo bởi iptables-save v1.8.3 vào Thứ Năm ngày 7 tháng 10 21:18:59 năm 2021
* mangle
: CHẤP NHẬN TRƯỚC [408155:279582022]
:CHẤP NHẬN ĐẦU VÀO [31411:6614761]
:CHẤP NHẬN VỀ PHÍA TRƯỚC [376252:272911158]
:CHẤP NHẬN ĐẦU RA [51318:6113468]
:CHẤP NHẬN SAU ĐÓ [402428:277911525]
-A FORWARD -o br-wan -p tcp -m tcp --tcp-flags SYN,RST SYN -m comment --comment "!fw3: Zone wan MTUfixing" -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 MTUfixing" -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 MTUfixing" -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 MTUfixing" -j TCPMSS --clamp-mss-to-pmtu
LÀM
# Hoàn thành vào Thứ 7 ngày 7 tháng 10 21:18:59 2021
# Được tạo bởi iptables-save v1.8.3 vào Thứ Năm ngày 7 tháng 10 21:18:59 năm 2021
*lọc
:INPUT CHẤP NHẬN [0:0]
:GIẢM VỀ PHÍA TRƯỚC [0:0]
:CHẤP NHẬN ĐẦU RA [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]
:từ chối - [0:0]
:syn_flood - [0:0]
:zone_lan_dest_ACCCEPT - [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_ACCCEPT - [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 --comment "!fw3" -j CHẤP NHẬN
-A INPUT -m comment --comment "!fw3: Custom input rule chain" -j input_rule
-A INPUT -m conntrack --ctstate LIÊN QUAN, ĐÃ THÀNH LẬP -m comment --comment "!fw3" -j CHẤP NHẬN
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m comment --comment "!fw3" -j syn_flood
-A INPUT -i br-lan -m comment --comment "!fw3" -j zone_lan_input
-A INPUT -i br-wan -m comment --comment "!fw3" -j zone_wan_input
-A INPUT -i eth0.2 -m comment --comment "!fw3" -j zone_wan_input
-A FORWARD -m comment --comment "!fw3: Chuỗi quy tắc chuyển tiếp tùy chỉnh" -j forwarding_rule
-A FORWARD -m conntrack --ctstate LIÊN QUAN, THÀNH LẬP -m comment --comment "!fw3" -j CHẤP NHẬN
-A FORWARD -i br-lan -m comment --comment "!fw3" -j zone_lan_forward
-A FORWARD -i br-wan -m comment --comment "!fw3" -j zone_wan_forward
-A FORWARD -i eth0.2 -m comment --comment "!fw3" -j zone_wan_forward
-A FORWARD -m comment --comment "!fw3" -j reject
-A OUTPUT -o lo -m comment --comment "!fw3" -j CHẤP NHẬN
-A OUTPUT -m comment --comment "!fw3: Chuỗi quy tắc đầu ra tùy chỉnh" -j output_rule
-A OUTPUT -m conntrack --ctstate LIÊN QUAN, ĐÃ THÀNH LẬP -m comment --comment "!fw3" -j CHẤP NHẬN
-A OUTPUT -o br-lan -m comment --comment "!fw3" -j zone_lan_output
-A OUTPUT -o br-wan -m comment --comment "!fw3" -j zone_wan_output
-A OUTPUT -o eth0.2 -m comment --comment "!fw3" -j zone_wan_output
-A forwarding_rule -s 192.168.1.110/32 -j từ chối
-A forwarding_rule -s 192.168.1.111/32 -j từ chối
-A reject -p tcp -m comment --comment "!fw3" -j REJECT --reject-with tcp-reset
-A reject -m comment --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 --comment "!fw3" -j DROP
-A zone_lan_dest_ACCEPT -o br-lan -m conntrack --ctstate INVALID -m comment --comment "!fw3: Ngăn rò rỉ NAT" -j DROP
-A zone_lan_dest_ACCEPT -o br-lan -m comment --comment "!fw3" -j CHẤP NHẬN
-A zone_lan_forward -m comment --comment "!fw3: Chuỗi quy tắc chuyển tiếp lan tùy chỉnh" -j forwarding_lan_rule
-A zone_lan_forward -m comment --comment "!fw3: Chính sách chuyển tiếp vùng lan sang wan" -j zone_wan_dest_ACCEPT
-A zone_lan_forward -m conntrack --ctstate DNAT -m comment --comment "!fw3: Chấp nhận chuyển tiếp cổng" -j CHẤP NHẬN
-A zone_lan_forward -m comment --comment "!fw3" -j zone_lan_dest_ACCEPT
-A zone_lan_input -m comment --comment "!fw3: Chuỗi quy tắc đầu vào lan tùy chỉnh" -j input_lan_rule
-A zone_lan_input -m conntrack --ctstate DNAT -m comment --comment "!fw3: Chấp nhận chuyển hướng cổng" -j CHẤP NHẬN
-A zone_lan_input -m comment --comment "!fw3" -j zone_lan_src_ACCEPT
-A zone_lan_output -m comment --comment "!fw3: Chuỗi quy tắc đầu ra lan tùy chỉnh" -j output_lan_rule
-A zone_lan_output -m comment --comment "!fw3" -j zone_lan_dest_ACCEPT
-A zone_lan_src_ACCEPT -i br-lan -m conntrack --ctstate NEW,UNTRACKED -m comment --comment "!fw3" -j CHẤP NHẬN
-A zone_wan_dest_ACCEPT -o br-wan -m conntrack --ctstate INVALID -m comment --comment "!fw3: Ngăn rò rỉ NAT" -j DROP
-A zone_wan_dest_ACCEPT -o br-wan -m comment --comment "!fw3" -j CHẤP NHẬN
-A zone_wan_dest_ACCEPT -o eth0.2 -m conntrack --ctstate INVALID -m comment --comment "!fw3: Ngăn rò rỉ NAT" -j DROP
-A zone_wan_dest_ACCEPT -o eth0.2 -m comment --comment "!fw3" -j ACCEPT
-A zone_wan_forward -m comment --comment "!fw3: Chuỗi quy tắc chuyển tiếp wan tùy chỉnh" -j forwarding_wan_rule
-A zone_wan_forward -p esp -m comment --comment "!fw3: Allow-IPSec-ESP" -j zone_lan_dest_ACCEPT
-A zone_wan_forward -p udp -m udp --dport 500 -m comment --comment "!fw3: Allow-ISAKMP" -j zone_lan_dest_ACCEPT
-A zone_wan_forward -m comment --comment "!fw3: Chính sách chuyển tiếp từ Zone wan sang lan" -j zone_lan_dest_ACCEPT
-A zone_wan_forward -m conntrack --ctstate DNAT -m comment --comment "!fw3: Chấp nhận chuyển tiếp cổng" -j CHẤP NHẬN
-A zone_wan_forward -m comment --comment "!fw3" -j zone_wan_dest_ACCEPT
-A zone_wan_input -m comment --comment "!fw3: Chuỗi quy tắc đầu vào wan tùy chỉnh" -j input_wan_rule
-A zone_wan_input -p udp -m udp --dport 68 -m comment --comment "!fw3: Allow-DHCP-Renew" -j CHẤP NHẬN
-A zone_wan_input -p icmp -m icmp --icmp-type 8 -m comment --comment "!fw3: Allow-Ping" -j CHẤP NHẬN
-A zone_wan_input -p igmp -m comment --comment "!fw3: Allow-IGMP" -j CHẤP NHẬN
-A zone_wan_input -m conntrack --ctstate DNAT -m comment --comment "!fw3: Chấp nhận chuyển hướng cổng" -j CHẤP NHẬN
-A zone_wan_input -m comment --comment "!fw3" -j zone_wan_src_REJECT
-A zone_wan_output -m comment --comment "!fw3: Chuỗi quy tắc đầu ra wan tùy chỉnh" -j output_wan_rule
-A zone_wan_output -m comment --comment "!fw3" -j zone_wan_dest_ACCEPT
-A zone_wan_src_REJECT -i br-wan -m comment --comment "!fw3" -j reject
-A zone_wan_src_REJECT -i eth0.2 -m comment --comment "!fw3" -j reject
LÀM
# Hoàn thành vào Thứ 7 ngày 7 tháng 10 21:18:59 2021

CHỈNH SỬA: Thêm đầu ra của tường lửa xuất uci

gói tường lửa

cấu hình mặc định
        tùy chọn syn_flood '1'
        tùy chọn đầu vào 'CHẤP NHẬN'
        đầu ra tùy chọn 'CHẤP NHẬN'
        tùy chọn chuyển tiếp 'REJECT'

vùng cấu hình
        tên tùy chọn 'lan'
        tùy chọn đầu vào 'CHẤP NHẬN'
        đầu ra tùy chọn 'CHẤP NHẬN'
        tùy chọn chuyển tiếp 'CHẤP NHẬN'
        tùy chọn mặt nạ '1'
        mạng tùy chọn 'lan'

vùng cấu hình
        tên tùy chọn 'wan'
        tùy chọn đầu vào 'REJECT'
        đầu ra tùy chọn 'CHẤP NHẬN'
        tùy chọn mặt nạ '1'
        tùy chọn mtu_fix '1'
        tùy chọn chuyển tiếp 'CHẤP NHẬN'
        mạng tùy chọn 'wan wan6 wwan1 wwan'

chuyển tiếp cấu hình
        tùy chọn src 'lan'
        tùy chọn đích 'wan'

quy tắc cấu hình
        tên tùy chọn 'Cho phép-DHCP-Gia hạn'
        tùy chọn src 'wan'
        tùy chọn proto 'udp'
        tùy chọn dest_port '68'
        mục tiêu tùy chọn 'CHẤP NHẬN'
        họ tùy chọn 'ipv4'

quy tắc cấu hình
        tên tùy chọn 'Cho phép-Ping'
        tùy chọn src 'wan'
        tùy chọn proto 'icmp'
        tùy chọn icmp_type 'echo-request'
        họ tùy chọn 'ipv4'
        mục tiêu tùy chọn 'CHẤP NHẬN'

quy tắc cấu hình
        tên tùy chọn 'Cho phép-IGMP'
        tùy chọn src 'wan'
        tùy chọn proto 'igmp'
        họ tùy chọn 'ipv4'
        mục tiêu tùy chọn 'CHẤP NHẬN'

quy tắc cấu hình
        tên tùy chọn 'Cho phép-DHCPv6'
        tùy chọn src 'wan'
        tùy chọn proto 'udp'
        tùy chọn src_ip 'fc00::/6'
        tùy chọn dest_ip 'fc00::/6'
        tùy chọn dest_port '546'
        họ tùy chọn 'ipv6'
        mục tiêu tùy chọn 'CHẤP NHẬN'

quy tắc cấu hình
        tên tùy chọn 'Cho phép-MLD'
        tùy chọn src 'wan'
        tùy chọn proto 'icmp'
        tùy chọn src_ip 'fe80::/10'
        liệt kê icmp_type '130/0'
        liệt kê icmp_type '131/0'
        danh sách icmp_type '132/0'
        liệt kê icmp_type '143/0'
        họ tùy chọn 'ipv6'
        mục tiêu tùy chọn 'CHẤP NHẬN'

quy tắc cấu hình
        tên tùy chọn 'Cho phép-ICMPv6-Đầu vào'
        tùy chọn src 'wan'
        tùy chọn proto 'icmp'
        liệt kê icmp_type 'echo-request'
        danh sách icmp_type 'echo-reply'
        danh sách icmp_type 'không thể truy cập đích'
        liệt kê icmp_type 'gói quá lớn'
        danh sách icmp_type 'vượt quá thời gian'
        danh sách icmp_type 'tiêu đề xấu'
        liệt kê icmp_type 'loại tiêu đề không xác định'
        liệt kê icmp_type 'gạ gẫm bộ định tuyến'
        liệt kê icmp_type 'gạ gẫm hàng xóm'
        liệt kê icmp_type 'quảng cáo bộ định tuyến'
        liệt kê icmp_type 'quảng cáo hàng xóm'
        giới hạn tùy chọn '1000/giây'
        họ tùy chọn 'ipv6'
        mục tiêu tùy chọn 'CHẤP NHẬN'

quy tắc cấu hình
        tên tùy chọn 'Cho phép-ICMPv6-Chuyển tiếp'
        tùy chọn src 'wan'
        tùy chọn đích '*'
        tùy chọn proto 'icmp'
        liệt kê icmp_type 'echo-request'
        danh sách icmp_type 'echo-reply'
        danh sách icmp_type 'không thể truy cập đích'
        liệt kê icmp_type 'gói quá lớn'
        danh sách icmp_type 'vượt quá thời gian'
        danh sách icmp_type 'tiêu đề xấu'
        liệt kê icmp_type 'loại tiêu đề không xác định'
        giới hạn tùy chọn '1000/giây'
        họ tùy chọn 'ipv6'
        mục tiêu tùy chọn 'CHẤP NHẬN'

quy tắc cấu hình
        tên tùy chọn 'Cho phép-IPSec-ESP'
        tùy chọn src 'wan'
        tùy chọn đích 'lan'
        tùy chọn nguyên mẫu 'đặc biệt'
        mục tiêu tùy chọn 'CHẤP NHẬN'

quy tắc cấu hình
        tên tùy chọn 'Cho phép-ISAKMP'
        tùy chọn src 'wan'
        tùy chọn đích 'lan'
        tùy chọn dest_port '500'
        tùy chọn proto 'udp'
        mục tiêu tùy chọn 'CHẤP NHẬN'

cấu hình bao gồm
        đường dẫn tùy chọn '/etc/firewall.user'

chuyển tiếp cấu hình
        tùy chọn đích 'lan'
        tùy chọn src 'wan'

CHỈNH SỬA: Thêm đầu ra của liên kết ip:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
    liên kết/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc trạng thái fq_codel UNKNOWN qlen 1000
    liên kết/ether 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 LÊN qlen 1000
    liên kết/ether 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 trạng thái br-lan UP qlen 1000
    liên kết/ether 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
    liên kết/ether 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 state UP qlen 1000
    liên kết/ether 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 trạng thái br-lan UP qlen 1000
    liên kết/ether 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 trạng thái br-lan UP qlen 1000
    liên kết/ether 72:4f:57:00:51:ac brd ff:ff:ff:ff:ff:ff

CHỈNH SỬA: Thêm đầu ra của chương trình brctl:

tên cầu id cầu giao diện hỗ trợ STP
br-lan 7fff.704f570051ae không có eth0.1
                                                        wlan0
                                                        wlan0-1
br-wan 7fff.704f570051af không có eth0.2
lá cờ us
Vui lòng thêm đầu ra của `iptables-save` vào câu hỏi của bạn.
lá cờ cn
Bạn có thể sử dụng giao diện cli hoặc web luci để định cấu hình tường lửa trong OpenWRT: https://openwrt.org/docs/guide-user/firewall/firewall_configuration Vui lòng thêm đầu ra của `uci export firewall`
lá cờ eg
@MirceaVutcovici Tôi đã xem giao diện luci để chỉnh sửa tường lửa, nhưng tôi không thấy cách giảm lưu lượng truy cập từ giao diện WiFi dành cho giao diện WAN.
lá cờ eg
@A.B Tôi chưa cài đặt `bridge` và lệnh `ip link show` không chấp nhận tham số `type`. `ip` được cung cấp bởi BusyBox v1.30.1.
lá cờ eg
@ A.B Cái gần nhất mà tôi có là `ip neigh show` Điều đó có ích gì không?
Điểm:3
lá cờ cl
A.B

OpenWRT đang chạy nhân Linux, nhưng là một hệ thống nhúng, một số tính năng có thể không khả dụng, vì vậy tôi không thể biết liệu câu trả lời này, dự định hoạt động trên hệ thống Linux có cấu hình tương tự như OP, có hoạt động trên đó hay không. Điều này đòi hỏi:

và tùy thuộc vào giải pháp đã chọn, điều này cũng có thể yêu cầu một số:

Cuối cùng, hệ thống đang định tuyến gói tin từ anh lan giao diện với br-wan giao diện. Ở bước này, thực tế là một khung đã vào anh lan giao diện sử dụng wlan0-1 giao diện cảng cầu đã bị mất sau khi khung rời khỏi cầu ban đầu để tải trọng của nó: IPv4, được định tuyến. Vì vậy, hành động ban đầu phải xảy ra trước khi thông tin này bị mất: trong đường cầu nối khi khung vẫn còn trong anh lan cầu.

Tài liệu có thể gợi ý (cầu được đề cập) có thể xử lý tường lửa cầu bằng ứng dụng tường lửa của OpenWRT, nhưng tôi không có bất kỳ kiến ​​thức nào về phần này. Vì vậy, tôi sẽ sử dụng trực tiếp bảng ebtables.

Nếu một người có thể dựa vào việc biết cấu trúc liên kết IP LAN trên anh lan (192.168.1.0/24) thì tất cả điều này có thể được thực hiện đơn giản trong một bảng ebtables quy tắc:

ebtables -A INPUT -p IPv4 -i wlan0-1 --ip-dst ! 192.168.1.0/24 -j THẢ

loại bỏ bất kỳ khung IPv4 nào nhận được từ wlan0-1 cổng cầu nối và được bắc cầu tới máy chủ (có thể cho nó hoặc để định tuyến thêm) không có địa chỉ IP đích trong phạm vi 192.168.1.0/24.

Người ta có thể tùy ý chèn trước một ngoại lệ cho địa chỉ IP công cộng của OpenWRT nếu địa chỉ đó là tĩnh và đã biết trước (ví dụ: 192.0.2.2):

ebtables -I INPUT -p IPv4 -i wlan0-1 --ip-dst 192.0.2.2 -j CHẤP NHẬN

Nếu điều này là tốt, không cần sử dụng phương án sau.


Mặt khác, nếu quy tắc phải giữ nguyên chung mà không liên quan đến địa chỉ IP LAN mà chỉ liên quan đến giao diện (hoặc cần chấp nhận địa chỉ IP WAN đích mà không biết giá trị của nó), thì phải tham gia định tuyến và tôi khuyên bạn nên đánh dấu khung bằng cách sử dụng bảng ebtables trong đường dẫn cầu nơi có thông tin, ngay trước khi tải trọng của khung (IPv4) sắp được định tuyến, sau đó thả gói/khung được đánh dấu sau khi chắc chắn rằng nó đã được định tuyến tới Internet. Dấu được giữ nguyên khi giải mã các khung hoặc đóng gói các gói tin. hiện tại của OP iptables các quy tắc không sử dụng bất kỳ dấu nào nên rất có thể sẽ không có những tương tác đáng tiếc.

Như trong trường hợp của OP, giao diện đầu ra được sử dụng để định tuyến cũng là cầu nối (br-wan), để hạn chế tương tác với công cụ cấp cao hơn (tường lửa3) quản lý tường lửa với iptables, người ta có thể bỏ khung được đánh dấu vào đường dẫn cầu nối thay vì bỏ gói được đánh dấu vào đường dẫn định tuyến: không tương tác với iptables quy tắc.

Luồng từ mạng LAN đến Internet như sau:

                                            âââââ eth0.1 âââââââ tốt
xấu ââââââ wlan0-1 ââââââ cầu br-lan ââ ââââ wlan0 âââââââ tốt
                                 â
                                 â
                      INPUT khung Ethernet (tường lửa ebtables tại đây)
khung được đánh dấu khi từ wlan0-1 M
                                 â 
                                 
                               khung br-lan được giải mã thành
                           tự giao diện IPv4. Dấu ấn được giữ nguyên
                                 â
                                 â
                         Định tuyến gói IPv4 (tường lửa iptables tại đây)
                                 â
                                 â
                                  
                               gói br-wan được gói gọn trong
                           tự giao diện Ethernet. Dấu ấn được giữ nguyên
                                 â
                                 â
                      ĐẦU RA khung Ethernet (tường lửa ebtables tại đây)
      khung bị rớt nếu đánh dấu X
                                 â
                                 
                           cầu br-wan ââââââ eth0.2 ââââââ Internet

Điều này sẽ đánh dấu các khung nhận được từ wlan0-1 cảng cầu:

ebtables -A INPUT -i wlan0-1 -j mark --mark-set 0xbad

Sau đó, điều này sẽ khớp và giảm khi phát ra từ máy chủ thông qua br-wan cầu nối một khung/gói được đánh dấu trước đó:

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

Nếu --logic-ra không có sẵn vì một số lý do, với cấu trúc liên kết hiện tại, nó có thể được thay đổi thành br-wancổng cầu đầu ra đơn của:

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

Trong trường hợp này khi gói được nhìn thấy đi vào và rời khỏi ngăn xếp định tuyến, theo dõi sẽ tạo một mục nhập cho nó ngay cả khi nó sẽ bị loại bỏ ngay sau đó. Mục nhập như vậy sẽ không bao giờ đạt đến trạng thái THIẾT LẬP vì sẽ không có gì nhận được gói này và trả lời (xem thêm ghi chú).


Ghi chú:

  • nếu OpenWRT được cấu hình để có hai mạng LAN riêng biệt (không bắc cầu hoặc trên các cầu riêng biệt, mỗi cầu tham gia định tuyến), một cho wlan0eth0.1 và một số khác cho wlan0-1 với các địa chỉ IP riêng biệt trên chúng, thì định tuyến tiêu chuẩn sẽ được áp dụng ở mọi nơi và vấn đề này có thể được giải quyết dễ dàng tất cả trong iptables có lẽ với cấu hình trong tường lửa3 và với bảng ebtables không cần thiết.

  • hiện hành iptables quy tắc gợi ý eth0.2 có thể được sử dụng (hoặc từng được sử dụng) như một giao diện tiêu chuẩn (không phải cổng cầu nối). Nếu đúng như vậy, giải pháp thứ hai sẽ phải được thay đổi và liên quan đến một quy tắc tương đương trong iptables mà nên được tích hợp trong tường lửa3 nếu có thể. Cũng có thể sử dụng nó cho br-wan (nhưng một lần nữa chỉ có giá trị nếu tích hợp với tường lửa3 có khả năng):

    Quy tắc này hiện có thể hoạt động thay vì bảng ebtables Quy tắc OUTPUT ở trên:

    iptables -I FORWARD -o br-wan -m mark --mark 0xbad -j DROP
    

    và với eth0.2 trực tiếp giao diện định tuyến thay vì cổng cầu nối:

    iptables -I FORWARD -o eth0.2 -m mark --mark 0xbad -j DROP
    

    Cả hai có thể được đặt cùng một lúc, vì có vẻ như nó hiện đang được thực hiện ở nơi khác iptables quy tắc với br-waneth0.2.

    Ở đây vì gói bị bỏ trong đường dẫn định tuyến với iptables, các theo dõi mục nhập sẽ không được cam kết và sẽ không xuất hiện (ví dụ: mèo /proc/net/nf_conntrack sẽ không hiển thị nỗ lực).

  • sử dụng iptables trong con đường cầu bằng cách dựa vào br_netfilter các tính năng thường là một ý tưởng tồi khi không có toàn quyền kiểm soát cấu hình và bị tắt theo mặc định trong OpenWRT. Cho nên iptables' vật lý match phụ thuộc vào tính năng này không nên được sử dụng (và có thể không có sẵn) để giải quyết vấn đề này.

  • Vì đây không phải là trạng thái, lưu lượng truy cập đến từ Internet đến hệ thống bằng cách sử dụng wlan0-1 sẽ vẫn được cho phép, nhưng sẽ không thể trả lời.Dù sao thì mạng LAN là riêng tư, điều này sẽ yêu cầu các quy tắc DNAT trên tường lửa để có khả năng này (hoặc cho giải pháp thứ 2 trong đó theo dõi các mục vẫn được tạo, một bên thứ 3 từ xa được đồng bộ hóa một cách mù quáng với các lần thử bị hủy). Cũng có thể giảm theo hướng ngược lại: Lưu lượng truy cập Internet đến wlan0-1 sử dụng các phương pháp tương tự như đã trình bày, nếu thực sự cần thiết.

A.B avatar
lá cờ cl
A.B
Bây giờ hãy nghĩ về nó: phương pháp sử dụng đánh dấu tất cả bằng ebtables cũng hoạt động vượt trội đối với IPv6.
lá cờ eg
Tôi sẽ xem cách cài đặt `ebtables` và dùng thử!
lá cờ eg
Vì tôi kiểm soát việc gán địa chỉ IP nên tôi có thể sử dụng quy tắc đơn giản `ebtables -A INPUT -p IPv4 -i wlan0-1 --ip-dst ! 192.168.1.0/24 -j DROP` và nó hoạt động như mong muốn. Cảm ơn bạn đã giải thích chi tiết. Tôi chắc chắn rằng nó sẽ có lợi cho tôi trong tương lai (và những người khác nữa).
lá cờ eg
Tôi phải thử các đề xuất khác của bạn, khi sử dụng quy tắc đơn giản, thiết bị của tôi không thể nhận được phản hồi cho các yêu cầu DHCP, điều này thật kỳ lạ vì máy chủ DHCP nằm trên cùng một mạng con (192.168.1.254). Có lẽ đó là do các yêu cầu DHCP được phát ...
A.B avatar
lá cờ cl
A.B
máy khách DHCP thực hiện khám phá DHCP sẽ gửi nó tới 255.255.255.255: địa chỉ này phải được chèn vào dưới dạng ngoại lệ (như ví dụ với 192.0.2.2).
A.B avatar
lá cờ cl
A.B
Dù sao đi nữa, nghĩ về nó, các địa chỉ khác sẽ gặp sự cố tùy thuộc vào thiết bị: IPv4LL và phát đa hướng. Vì vậy, bạn có thể muốn xem xét tùy chọn khác chung chung hơn trong kết quả của nó (và sẽ chặn IPv6 với cùng mức giá).
lá cờ eg
Vì bất kỳ lý do gì, tôi đã phải sử dụng `ebtables -A OUTPUT -o eth0.2 --mark 0xbad -j DROP`. Sử dụng `ebtables -A OUTPUT --logical-out br-wan --mark 0xbad -j DROP` không hoạt động - Tôi không thể truy cập các thiết bị khác trên mạng nội bộ.
lá cờ eg
Tôi đã nói quá sớm. Để có đầy đủ chức năng, bao gồm MQTT và SMB, đối với các thiết bị kết nối với wlan0-1, tôi phải sử dụng `ebtables -A INPUT -i wlan0-1 -j mark --mark-set 0xbad` kết hợp với các quy tắc `iptables`: `iptables -I FORWARD -o br-wan -m mark --mark 0xbad -j DROP` và `iptables -I FORWARD -o eth0.2 -m mark --mark 0xbad -j DROP`.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.