openwrt-配置防火墙,关联 IP, MAC-ADDRESS

概述

openwrt 的防火墙管理软件 fw3,UI配置入口为:

网络 》 防火墙

其中,3个配置项目(基本设置、端口转发、通信规则)对应配置文件 /etc/config/firewall

最后1个配置项目(自定义规则)对应配置文件 /etc/firewall.user

技巧

禁止设备访问internet,只能访问内网

【推荐】方法一,针对 IP 在网页上配置防火墙规则,禁止访问外网

  1. 绑定设备MAC 和 IP
    设置位置: 网络 》 DHCP/DNS
  2. 针对 IP 在网页上配置防火墙规则,禁止访问外网
  3. 网络 》 防火墙 》通信规则
    1. 新建转发规则:
      1. 名称: ban-ip-xx-to-internet
      2. 源区域: lan
      3. 目标区域: wan
      4. 点击“添加并编辑…”进入详细设置
    2. 限制地址: IPv4
    3. 协议: TCP+UDP
    4. 源区域: lan
    5. 源MAC地址: 所有
    6. 源地址: 要禁止外网的IP
    7. 源端口: 所有
    8. 目标区域: wan
    9. 目标地址: 所有
    10. 目标端口: 所有
    11. 动作: 拒绝
    12. 点击“保存&应用”

以上,也可以直接到openwrt修改配置文件来达成:

  1. /etc/config/firewall 文件末尾添加新规则
    1
    2
    3
    4
    5
    6
    7
     config rule
     	option proto 'tcp udp'
     	option src 'lan'
     	option dest 'wan'
     	option target 'REJECT'
     	option name 'no_internet_for_ip'
     	option src_ip '192.169.1.191'
    
  2. /etc/init.d/firewall reload

方法二,针对 MAC 在网页上配置防火墙规则,禁止访问外网

网页设置方法,同方法一,除了源MAC地址填下,源IP就不用填。

但是 这个方法不保险,发现例外情况:

Virtualbox 的虚拟机,使用 bridged adapter 虚拟网卡,即使在防火墙上,禁止了这个虚拟网卡的MAC,虚拟机一样可以快乐的访问外网。

/etc/config/firewall 文件 配置 针对 MAC 禁止访问外网

  1. /etc/config/firewall 文件末尾添加新规则
    1
    2
    3
    4
    5
    6
    7
    8
     config rule
     	option src 'lan'
     	option dest 'wan'
     	option name 'no-internet-for-mac'
     	option proto 'tcp udp'
     	option target 'REJECT'
     	option src_mac '4C:EB:42:32:0C:9E'
     	option enabled '1'
    
  2. /etc/init.d/firewall reload