|
|
这几天折腾LINUX下的VPN,终于配好了,现在享受着VPN的方便,感觉比较爽。把自己摸索的过程总结一下,写的不够详细的地方,请大家 来信询问。
实现要求:
由于网络环境比较复杂,要求实现如下功能:windows客户机能登录远程的LINUX vpn server,linux能登录远程 win2003 vpn server,两台的linux gateway 互相认证,构建 lan - lan vpn.
先说说 LINUX VPN server 。需要大体三个步骤:1、为内核打上MPPE补丁。因为windows平台的加密方式,默认内核不支持,所以必须加上这个补丁。
2、为PPPD打补丁,也是MPPE方面的补丁
3、安装 PPTPD 软件(vpn service)。
以上的这些东西,大家用关键字在google搜一下可以下载到,当时我没记下地址来,sorry了。
对于 redhat 、debain一类的系统,打补丁非常方便,那个推出 MPPE的站点有现成的安装包可用。我用的是 slackware 10,打了几次没成功,最后退到上一层目录,让patch自动去搜索加上的。
PPPD补丁包比较好打,PPTPD比较好安,都是那种 configure&&make && make install的步骤,在这儿就不多写了。
win2003 客户端建立 VPN dial,和一般的建立方式一样,就不多说了。
关于是 pppd的 options文件比较关键,要加上 refuse-eap,还有 require-mppe,不然的话就比较麻烦,建立会话后马上就会中断。因为PPPD不特别声明的话,还是不会以 ms-chap方式去与 VPN server 协商会话,所以很难成功。出现问题的时候,打开debug选项,查看出现的信息找找线索,一般都说的很明白,可以顺利解决。
哪位哥们儿在配置过程中出现疑问,在这儿贴一贴好了,大家一起研究一下。
补充一下,在配置过程中,iptables也比较关键,不能忘了这个地方,贴一下我的 rules:
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
/sbin/iptables -F FORWARD
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -t nat -A POSTROUTING -j MASQUERADE
/sbin/iptables -F FORWARD
/sbin/iptables -A FORWARD -p tcp -s 192.168.1.0/24 --dport 1723 -j ACCEPT
/sbin/iptables -A FORWARD -p gre -s 192.168.1.0/24 -j ACCEPT
/sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
我这儿还有个网段是使用 FreeBSD 5.2.1作代理服务器的(当然也是我建立的,呵呵,速度基本达到线速的代理速度,每天迎接了大量攻击),使用 内网的VPN server时,注意在 IPNAT中,要加入GRE转发,还有tcp 1723转发就可以了
到现在其实还有个问题没有解决。 我在家里也用同样的配置连接PPTP,不成功,似乎家里的宽带网代理上没有做好上面的配置。但远程网络中,有一台amarenten防火墙,提供的windows 拨号程序可以成功建立VPN,我到这家防火墙厂商的网站查了查,没有提供 linux下的VPN客户端。现在只有自己想办法做一个,看样子,windows下的这个应该是用 ssh做的,应该有算途径实现我的想法吧?
哪位高人给指点一下? |
|