分类目录归档:IOS

MOP:Cisco路由器不为人知的二层管理协议

前几年由于RouterOS的bug实在太多,我一怒之下把它们都换成了Cisco ISR1000和CSR1000v。换了以后我一直很怀念RouterOS的MAC Winbox、MAC Telnet的功能:无需console线,找个端口网线捅上去,打开Winbox就能自动发现,点击连接就能开始配置了。这个功能只需要二层通,所以甭管IP配没配,只要端口没关,路由器上没有奇怪的交换芯片ACL,这个功能总是可以用。虽然新路由器都逐渐配备了USB串口,并且我一直都随身带串口线,但是这个只需要网线就能配置的功能我还是很想要。

于是今天在互联网上闲逛的时候我发现,其实Cisco路由器(IOS和IOS XE)确实支持一个二层的远程终端功能。而且这个协议还不是什么新东西,它在八十年代就被设计出来了,IOS也是老早就有了支持,甚至很长一段时间以来它还是默认启用的。直至最新的IOS XE 17.2,这个协议仍然能用!

继续阅读

用RouterOS作为远程DHCP服务器

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

配置

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

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

调试

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

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


参考:

Cisco IOS配置DNS递归查询服务器