Mikrotik OpenVPN结合Windows RADIUS认证时强制使用安全协议的方法咨询
我来帮你梳理下这个问题的情况和可行的解决方案:
首先得明确一个关键事实:当前Mikrotik RouterOS的OpenVPN服务器组件,在对接RADIUS做客户端认证时,确实只能使用PAP协议,没法像L2TP那样切换到CHAP、MS-CHAPv2这类加密的认证协议。这是因为OpenVPN的认证流程设计和L2TP不同,Mikrotik的OpenVPN实现里,RADIUS认证请求的封装方式只支持PAP,没有提供修改这个协议的配置选项。
不过你不用只能靠额外搭VPN来加密Mikrotik和RADIUS的通信,还有更直接的安全方案:
方案1:启用RADIUS TLS加密(RADSEC)
Windows Server的NPS(网络策略服务器)支持RADSEC协议,它能把RADIUS的通信通过TLS加密传输,这样即使底层用的是PAP,整个通信链路也是加密的,不会泄露明文凭证。具体配置步骤大概是:
- 在Windows NPS服务器上安装一张由可信CA(可以是企业内部CA)颁发的服务器证书
- 启用NPS的RADSEC功能,配置监听端口(默认是2083)并关联刚才的证书
- 在Mikrotik上添加RADIUS客户端时,设置
protocol=radsec,端口指定2083,同时把CA证书导入Mikrotik的信任证书库,确保Mikrotik能验证NPS的证书有效性
方案2:用IPSec隧道加密RADIUS通信
如果不想配置RADSEC,也可以在Mikrotik和RADIUS服务器之间建立一条IPSec隧道,把RADIUS的默认UDP端口(1812、1813)的流量都通过这条隧道传输。这样PAP的明文内容会被IPSec加密,外部无法窥探。这个方案的好处是不需要修改RADIUS服务器的协议配置,只需要维护IPSec隧道即可,但相比RADSEC,需要额外管理隧道的生命周期和配置。
总结一下:目前没有办法让Mikrotik的OpenVPN服务器像L2TP那样直接使用加密的RADIUS认证协议,最靠谱的方式就是加密Mikrotik和RADIUS之间的通信链路,上面两个方案都能解决你的安全问题,你可以根据自己的环境选择合适的方式。
备注:内容来源于stack exchange,提问作者Smoke




