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兼容的OpenVPN服务端

RouterOS上就没有什么非常安全的配置,所以本文主要的目标是可用,增强安全性相关的操作都会被标为可选。

RouterOS 6.x的OpenVPN有很多限制:

  • 支持的传输层:TCP
  • 支持的Cipher: none BF-CBC AES-128-CBC AES-192-CBC AES-256-CBC
  • 支持的Digest算法: none MD5 SHA1
  • 支持的验证模式:必选用户名密码认证,可选客户端证书认证
  • 即使在TAP模式下也不支持MPLS

继续阅读

在Linux上实现对GRE keepalive包的回复

最近我把一些跑在公有云上的RouterOS替换成了正常的Linux发行版。大多数RouterOS原有的路由功能都可以通过Linux标准的工具加以实现(虽然Linux当路由器总有一个令人诟病的问题就是不支持配置自动保存和开机自动恢复,需要自己写一大堆脚本和配置),但是有一件事情让我头疼了一会儿:Linux的GRE隧道原生不支持keepalive。

继续阅读