用RouterOS作为远程DHCP服务器

Cisco的DHCP服务器太难用了,查询起来不直观,要设置个固定的release累死人。Linux上那一堆DHCP daemon也没好到哪里去。想了想作为DHCP服务器的话,最直观方便的也就RouterOS了。简要记述一下把RouterOS作为远程DHCP服务器(不接入客户端所在二层)的配置方法。

配置

三层交换机(Cisco IOS):首先我们关闭ip helper对除DHCP以外其它协议的转发;然后在接口上设置helper address为RouterOS的IP地址即可。

no ip forward-protocol udp
interface Vlan100
 ip address 192.168.1.1 255.255.255.0
 ip helper-address 192.168.0.2

RouterOS:对每个DHCP server配置,接口设置为转发包的来源接口,relay设置为三层交换机面向DHCP客户端的内网端口的IP。

/ip pool
add name=dhcp ranges=192.168.1.10-192.168.1.254
/ip dhcp-server
add address-pool=dhcp conflict-detection=no disabled=no interface=bridge name=user-vlan relay=192.168.1.1
/ip dhcp-server network
add address=192.168.1.0/24 gateway=192.168.1.1 netmask=24

调试

Cisco IOS上可以用debug ip dhcp server packetdebug ip dhcp server events看到每个请求的转发过程。

RouterOS DHCP lease里面出现大量busy是因为conflict detection没有关闭,这种配置下conflict detection时间很长,可能会导致部分客户端超时以后疯狂重试,进而吃光DHCP地址池。因此参考配置里面关掉了conflict detection。


参考:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据