在openwrt dnsmasq DHCP中为客户端分配不同的网关和DNS | 旁路由 禁止上网

环境:openwrt + dnsmasq + PS4/Switch
问题:为路由器下的设备分配不同的网关和DNS,禁止局域网设备上网
解决办法:修改dnsmasq配置文件

背景:Openwrt 的DHCP服务是使用dnsmasq实现的,他可以给内网的客户端设备发放IP,现在有一个需求,个别客户端需要发放不同的网关和DNS,以实现DNS劫持,旁路由,甚至是禁止上网的需求

解决过程:修改dnsmasq的配置文件


1.修改openwrt dhcp配置文件:

直接修改dnsmasq的配置文件

 vi /etc/config/dhcp

讲解:
1.config host 是指对特定主机的DHCP客户端配置
2. option tag ‘no_wan’ 是指额外发放标签名称为no_wan特殊的dhcp_option
3. dhcp option3 是指网关,6是指DNS
4. 先配置tag的内容,在将标记设置到host中,重启即可

config tag 'no_wan'
    option dhcp_option '3,192.168.31.2 6,192.168.31.2'
    option force '1'

config host
        option name 'ps4'
        option mac 'e8:9e:b4:73:f7:69'
        option ip '192.168.31.248'
        option tag 'no_wan'
#重启DHCP服务
/etc/init.d/dnsmasq restart

2.客户端测试

在客户端冲重新取得IP地址测试一下,发现网关和DNS不再是.1了
在这里插入图片描述

3.进阶应用:

我们可以使用这个方法,将网关和DNS指派为一个不存在的IP 或者直接为0.0.0.0
这样客户端就无法上网了,比配置防火墙策略要简单

猜你喜欢

转载自blog.csdn.net/wangrui1573/article/details/133270271