分类目录归档:Linux

配置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。

继续阅读

RouterOS自动隧道IPSec的对端配置——以StrongSwan为例

众所周知,RouterOS的IP隧道(GRE、IPIP、EoIP以及它们的IPv6版本)里面都有一个IPSec Secret选项,两台RouterOS设备之间只要填写了相同的密钥,IPSec就会自动建立起来。姑且不说RouterOS默认的IPSec配置有多么的不安全,对于某些场景(比如运营商拦截了GRE但是你恰好又想要一个GRE),这个配置还是简单方便的。那么,如果隧道的对端不是RouterOS设备,这个快速设置还能不能用呢?答案当然是可以的。下面我们以Linux上的StrongSwan为例,实现一个GRE/IPSec隧道的配置。

继续阅读

使用Linux作为MPLS路由器

2017年发生了两件大事:

Linux终于获得了能用的原生的MPLS(L3VPN)和VRF支持。不过三年以后,MPLS配置的完整文档尚付阙如。近日我经过研究和阅读各种零散的资料,成功在测试环境中配置了一个标准的MPLS核心网络架构,因此写一篇文章来分享配置过程以及路上遇到的各种坑。

继续阅读