环境:openwrt + dnsmasq + PS4/Switch
问题:为路由器下的设备分配不同的网关和DNS,禁止局域网设备上网
解决办法:修改dnsmasq配置文件
背景:Openwrt 的DHCP服务是使用dnsmasq实现的,他可以给内网的客户端设备发放IP,现在有一个需求,个别客户端需要发放不同的网关和DNS,以实现DNS劫持,旁路由,甚至是禁止上网的需求
解决过程:修改dnsmasq的配置文件
文章目录
- 1.修改openwrt dhcp配置文件:
- 2.客户端测试
- 3.进阶应用:
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
这样客户端就无法上网了,比配置防火墙策略要简单