DHCP分配不同的网关地址给客户端

基础网络环境是这样:
1.一台ROS负责ADSL拨号上网,IP地址是:192.168.1.1
2.一台LEDE负责爱国上网,IP地址是:192.168.1.2,实际上LEDE还是通过ROS上网的,只是增加了爱国上网的功能(因为ROS功能比较单一,没有这个功能)

需求是:
1.局域网中的默认机器都能通过DHCP自动获取到IP地址,并访问我大中华局域网,网关是ROS;
2.少数几台机器可以自动获取到网关为LEDE,访问一些不存在的网站,比如油管。

为什么不把所有的机器网关都设置成LEDE?
1.因为LEDE转发效率没有ROS高,迅雷下载的时候CPU占用率飙升;
2.既然所有的流量实际上最后都要从ROS出去,对那些不需要爱国上网的客户端来说,直接把ROS作为网关肯定效率最高。

以上

最开始是想在ROS上实现需求,后来发现ROS的DHCP服务器实现不了(或者是我没找到办法)
经过对LEDE自带的dnsmasq研究了一番,实现了需求。

实现过程:
1.在ROS上关闭DHCP服务器,LEDE上开启DHCP,给局域网内的机器分配IP地址;
2.编辑LEDE上/etc/dnsmasq.conf的内容,增加以下这段:

log-dhcp
dhcp-option=option:dns-server,192.168.1.2 #设置默认的DNS服务器为192.168.1.2
dhcp-option=option:router,192.168.1.1 #设置默认的网关为192.168.1.1
dhcp-option=tag:xLEDE,option:router,192.168.1.2 #标记tag为xLEDE的网关为192.168.1.2

dhcp-host=a8:a6:13:5c:af:29,192.168.1.53,TV #假设电视的MAC地址是:a8:a6:13:5c:af:29,它自动获取到的IP地址是192.168.1.53,网关是默认的192.168.1.1
dhcp-host=ac:c3:ee:f7:17:35,set:xLEDE,192.168.1.54,Xiaomi #小米手机MAC地址ac:c3:ee:f7:17:35,获取到的IP地址是192.168.1.54,设置标记为xLEDE,网关是192.168.1.2

完。