OpenWRT使用iptables设置只允许MAC地址对应设备访问局域网

本文介绍如何通过配置iptables规则来限制OpenWRT系统中的特定设备只能访问局域网,避免这些设备连接到互联网。通过精确设置MAC地址匹配及目标IP范围,确保了网络安全。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OpenWRT只允许设备访问局域网


原理分析

要想设备只能访问局域网,有两个方案
1.使用iptables匹配设备MAC地址为XXXXXXXXXXX且目的地址为公网地址的设备若匹配则拒绝
2.使用iptables匹配设备MAC地址为XXXXXXXXXXX且目的地址为局域网地址的设备若匹配接受,在此规则下面添加该MAC地址所有包都丢弃
由于公网IP段不明确,因此我们这里采取第二种方案

局域网IP段
10.0.0.1/16 10.0.0.1-10.0.255.255
172.16.0.0/12 172.16.0.0-172.31.255.255
192.168.0.0/16 192.168.0.0-192.168.255.255
详细命令
1:iptables -I FORWARD  -m mac --mac-source 00:0C:29:93:6C:DD -j DROP
2:iptables -I FORWARD  -d 192.168.0.0/16 -m mac --mac-source 00:0C:29:93:6C:DD -j ACCEPT
3:iptables -I FORWARD  -d 172.16.0.0/12  -m mac --mac-source 00:0C:29:93:6C:DD -j ACCEPT
4:iptables -I FORWARD  -d 10.0.0.0/8 -m mac --mac-source 00:0C:29:93:6C:DD -j ACCEPT
命令详解

以上命令1、2、3、4的顺序为输入命令的顺序,因为iptables最后插入的命令为最顶端,而过滤的顺序为从iptables的第一条往下匹配,如果有一条匹配成功则不再继续匹配,因此iptables -I FORWARD -m mac –mac-source 00:0C:29:93:6C:DD -j DROP这条命令一定要最先插入,因为要保证该条规则为最后匹配,如果该规则先匹配的话那么该MAC地址所有的包都将被丢弃,所有网络均不可访问

OpenWRT路由器上设置允许访问特定网站的防火墙规则,通常是在`UFW (Uncomplicated Firewall)`工具中操作。以下是一个基本步骤: 1. 登录到OpenWRT管理界面:通过Web浏览器访问路由器的IP地址,默认可能是`http://192.168.1.1`或`http://router_ip`,然后输入用户名和密码。 2. 安装并启用UFW:在终端中运行`su -l root`切换到root权限,然后输入`opkg update && opkg install ufw`安装UFW,之后输入`uci enable firewall`启用它。 3. 设置端口转发:如果你想限制的是HTTP(S)流量,你需要将80(HTTP)或443(HTTPS)端口映射到内网的一个服务器。例如,如果服务器在内网IP `192.168.1.100`,你可以用`ufw allow from any to any port 80:80 proto tcp`。 4. 添加URL过滤规则:UFW本身并不直接支持针对特定网站的规则,但是你可以配合`iptables` 或其他应用如`pi-hole`来阻止除指定网站外的所有请求。例如,可以使用`dnsmasq`配合`blocklist.txt`文件来阻止黑名单中的域名。 5. 配置DNS过滤:在OpenWRT上安装`dnsmasq`,并在`/etc/dnsmasq.conf`中加入`domain-needed`和`bogus-priv`选项,然后创建一个阻断列表文件`/etc/dnsmasq/blocklist.txt`,添加需要阻止的域名,然后重启`dnsmasq`服务。 ```bash sudo nano /etc/dnsmasq.conf ``` 添加以下内容: ``` domain-needed bogus-priv no-resolv dhcp-option=option:blocklists,"/etc/dnsmasq/blocklist.txt" ``` 6. 保存并重启服务:对`dnsmasq.conf`进行保存并重启服务,如`sudo service dnsmasq restart`。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值