Bookmark

OpenWrt Firewall Zone: tạo mạng Guest chỉ được truy cập Internet

Tạo một SSID Guest chưa đủ để bảo vệ mạng nội bộ. Muốn client Guest không truy cập được NAS, camera hoặc giao diện quản trị, mình cần tách network và kiểm soát forwarding bằng firewall zone.1

Mô hình đề xuất

Mô hình đơn giản gồm:

  • lan: mạng gia đình, được phép truy cập router và các dịch vụ nội bộ.
  • guest: mạng khách, có DHCP riêng.
  • wan: đường ra Internet.

Mục tiêu của zone Guest:

  • Cho phép DHCP và DNS đến router.
  • Cho phép forwarding từ Guest ra WAN.
  • Từ chối forwarding Guest đến LAN.
  • Không cho client Guest truy cập dịch vụ quản trị nếu không cần.

Tạo network Guest

Trong LuCI:

  1. Mở Network → Interfaces.
  2. Chọn Add new interface.
  3. Đặt tên guest.
  4. Chọn bridge hoặc VLAN interface phù hợp.
  5. Đặt địa chỉ IPv4 riêng, ví dụ 192.168.50.1/24.
  6. Bật DHCP server cho network này.
  7. Gắn SSID Guest vào network guest.

Không dùng cùng subnet với lan. Hai network phải có dải địa chỉ khác nhau để router phân biệt được nguồn và đích.

Tạo firewall zone

Mở Network → Firewall → General Settings rồi tạo zone guest với các giá trị cơ bản:

  • Input: REJECT hoặc DROP tùy nhu cầu.
  • Output: ACCEPT.
  • Forward: REJECT.
  • Covered networks: guest.
  • Allow forward to destination zone: chỉ chọn wan.

Nếu Input đặt REJECT, cần cho phép DHCP và DNS để client vẫn nhận IP và phân giải tên miền. Một số bản OpenWrt có sẵn rule cần thiết khi tạo zone bằng LuCI.

Kiểm tra forwarding

Trong phần Inter-Zone Forwarding, chỉ cho phép:

1
guest → wan

Không tạo forwarding:

1
2
guest → lan
lan → guest

trừ khi mình có nhu cầu cụ thể và đã giới hạn bằng rule riêng.

Cấu hình tương đương bằng UCI

Ví dụ zone Guest:

1
2
3
4
5
6
7
8
9
uci add firewall zone
uci set firewall.@zone[-1].name='guest'
uci set firewall.@zone[-1].network='guest'
uci set firewall.@zone[-1].input='REJECT'
uci set firewall.@zone[-1].output='ACCEPT'
uci set firewall.@zone[-1].forward='REJECT'
uci add_list firewall.@zone[-1].forward='wan'
uci commit firewall
/etc/init.d/firewall restart

Tên index @zone[-1] có thể thay đổi theo cấu hình thực tế. Trước khi chạy lệnh, nên xem lại file /etc/config/firewall và backup cấu hình.

Kiểm tra từ client Guest

Từ một client Guest, kiểm tra:

  • Nhận được IP trong dải Guest.
  • Truy cập được Internet.
  • Không truy cập được IP LAN như router, NAS hoặc máy chủ nội bộ.
  • DNS hoạt động đúng.

Trên router, xem log firewall nếu cần:

1
logread -f

Không nên mở toàn bộ log firewall lâu dài trên router yếu vì có thể tạo nhiều I/O.

Kết luận

Tách Guest đúng cách cần cả network, DHCP, Wi-Fi và firewall zone. Chỉ đổi tên SSID hoặc đặt mật khẩu khác không tạo ra phân vùng bảo mật thực sự.

Nguồn chính thức


0 Bình luận

Góp Ý / Bình Luận / Đánh giá