Linux下的VPN搭建
最近折腾了一下VPN,基于PPTP/L2TP/OPENVPN的都搭建了一遍,这些VPN的搭建网上都有很丰富的资料。
最开始是PPTP的,这个比较简单,但是受限制的情况比较多,比如一些GRE协议,这个现在都没有搞清楚。一些大牛说拨号不成功和GRE没关系,自己就蛋疼了,只有绕道~
第二个是L2TP,全称应该是IPSEC/L2TP吧,这个也比较简单,安装一些IPSEC的包,在加上上一步过程中的PPTP包就OK了,设置一个PSK,在windows下拨号就没有问题了,只是我在debian下要拨L2TP又开始蛋疼了,没有找到办法,可能这个问题都不算个问题,因为在windows下设置PSK灰常简单。后来绕道的一个原因是iptables的配置问题,自己以为是L2TP的问题,表现为拨号成功但是很多地址和端口不可达。
最后一个OPENVPN,也是打算使用的一个,这个配置稍微复杂,因为会有一些证书key什么的掺杂其中,配置可以拨号后,就是iptables的问题,因为linux服务器一般都是做了安全限制,比如只允许特定的端口通道,当时我是加了端口也没有作用,一些地址可以ping通,但是telnet到指定端口就是no route to host。冥想了很久,觉得还是iptables的问题,所以去看了下,最后发现了防火墙的拒绝规则在自己加的路由规则之前,所以我加了规则都未生效,这个问题解决之后,VPN也就顺利了起来:)