Mikrotik PPTP VPN自动添加路由配置及安全替代方案咨询
看到你的情况——5台Mikrotik设备用PPTP组网(1台服务器+4台客户端),现在大多升级到了v6.49.12版本,每次PPTP断开重连后都要手动更新路由网关,确实挺折腾的。下面针对你的两个问题逐一给出实用解决方案:
问题1:如何实现VPN重连时自动配置路由?
这里有几个可落地的方案,你可以根据场景选择:
直接绑定路由网关到PPTP接口(最简便)
你之前手动把网关从unknown改成pptp-vpn,其实可以一开始就把路由的网关设置为PPTP接口的名称(比如你的客户端PPTP接口叫pptp-client-1这类),而非具体IP地址。这样当PPTP接口重连获取新IP后,路由会自动关联到该接口,不会再出现unknown的情况。
操作步骤:进入IP>Routes,编辑对应路由,把Gateway字段直接选择你的PPTP客户端接口名称,保存即可。用RouterOS脚本监控接口状态自动维护路由
如果上面的方法不生效,可以写一个简单脚本,在PPTP接口up时自动添加/更新路由,down时移除路由。
示例脚本(假设PPTP接口名为pptp-client,目标网段为192.168.100.0/24)::local interfaceName "pptp-client" :local targetNetwork "192.168.100.0/24" :if ([/interface get $interfaceName running] = true) do={ :if ([:len [/ip route find dst-address=$targetNetwork gateway=$interfaceName]] = 0) do={ /ip route add dst-address=$targetNetwork gateway=$interfaceName comment="Auto PPTP Route" } } else={ /ip route remove [/ip route find dst-address=$targetNetwork comment="Auto PPTP Route"] }可以把这个脚本绑定到PPTP接口的
on-up和on-down事件,或者设置定时任务每分钟执行一次。启用动态路由协议
如果服务器和客户端都支持,可以在PPTP接口上启用OSPF或RIP这类动态路由协议,路由会自动同步,完全不用手动维护。不过这个配置稍复杂,适合网段较多的场景。
问题2:PPTP的安全替代方案有哪些?
确实,PPTP的安全性已经完全跟不上现在的需求——它的加密算法早已被破解,很容易被中间人攻击,建议尽快替换。针对你的v6.49.12版本,推荐这几个方案:
WireGuard(首选)
WireGuard是当前最流行的轻量级VPN协议,速度快、配置简单、安全性拉满。RouterOS从v6.48开始正式支持WireGuard,你的版本完全兼容。它的性能开销极小,配置比IPsec简单很多,非常适合中小规模组网。IPsec IKEv2
IKEv2是IPsec的新版本,稳定性和安全性都很强,还支持移动场景下的无缝切换(比如设备切换网络时VPN不会断开)。Mikrotik对IKEv2支持完善,配置虽比WireGuard复杂一点,但兼容性极强,Windows、手机等设备都原生支持。OpenVPN
OpenVPN是老牌安全VPN协议,基于SSL/TLS加密,几乎所有平台都能兼容。RouterOS可以作为OpenVPN的服务器或客户端,不过配置相对繁琐,性能比WireGuard稍差,适合需要跨平台兼容的场景。
另外,关于你提到的有一台设备更新时DNS出问题,建议手动下载对应版本的RouterOS安装包,通过Winbox上传到设备后手动安装,避开在线更新的DNS问题,尽量让所有设备版本统一,这样VPN配置的兼容性会更好。
备注:内容来源于stack exchange,提问作者athskar

