OpenWRT默认的DHCP Server服务器是Dnsmasq,借助Dnsmasq可以实现根据网址段分配不同网关(旁路由),也可以实现根据MAC地址/IP地址分配不同网关。
Dnsmasq为小型网络提供网络基础设施:DNS、DHCP、Router Advertisement 和 Network boot。它设计轻巧,资源占用少,适用于资源有限的路由器和防火墙。它还被广泛用于在智能手机和便携式热点上,并支持虚拟化框架中的虚拟网络。支持的平台包括Linux(带有glibc和uclibc)、Android、*BSD和Mac OS X。Dnsmasq包含在大多数Linux发行版以及FreeBSD、OpenBSD和NetBSD的端口系统中。Dnsmasq提供全面的IPv6支持。
应用场景
OpenWRT作为主路由,其它OpenWRT/路由器系统作为旁路由,可以实现一个主路由多个旁路由,用于新OpenWRT系统测试调试或者均衡负载。只要是同一个网段的IP都可以设置为旁路由,包括但不仅限于ESXi中的多个OpenWRT系统。
OpenWRT作为主路由,只让部分指定设备(网址段、MAC地址、IP地址)上网时候走旁路由,其余设备不走旁路由。类似于爱快在DHCP绑定MAC和IP静态地址后可以指定网关。
基础要求
既然是配置旁路由为网关,因此必然是要求旁路由和主路由处于同一个网段(例如处于192.168.1.0/24中的两个地址,可以互相访问)。
主路由必须作为DHCP Server。
设置方法
由于目前OpenWRT的GUI(页面)中没有可视化配置的方法,设置需要通过修改配置文件进行。
先在可视化管理后台,进入网络
-接口
-LAN
,移动到最下方,查看当前DHCP服务器分配相关设置信息。
修改vim /etc/dnsmasq.conf
文件。
dhcp-range=set:OTHER,192.168.1.100,192.168.1.250 dhcp-option=tag:OTHER,3,192.168.1.254 dhcp-option=tag:OTHER,6,192.168.1.254
第一行代表设置组OTHER
的网址段范围是192.168.1.100-192.168.1.250
。需要特别注意,不要在该行最末尾添加有效期(例如12h
),否则将变为修改DHCP服务器相关配置。
第二行则确定改组的网关地址是192.168.1.254
。
第三行确定改组的DNS服务器为网关地址。
重启dnsmasq
生效:
/etc/init.d/dnsmasq restart
同理,也可以针对不同网口设置同一网段不同IP地址段(这种情况下则需要加上不同地址段的有效期,同时可视化针对LAN接口的配置不再可用)。
如果需要针对MAC地址进行设置,第一行替换为:
dhcp-host=A1:B2:C3:D4:E5:F6,set:OTHER
如果需要针对某一个IP地址,则绑定MAC和IP后设置MAC地址即可。
本文原作者轶哥,原文链接:https://www.wyr.me/post/705 ,此文已获取原作者的转载授权,请勿二次转载。