其它VPN还有IPSEC VPN,L2TP VPN几种,PPTP最简便,IPSEC VPN最通用,各个平台都支持,L2TP VPN最安全
一.下载与安装PPTP
1.pptpd
由于Linux本身并没有集成PPTP功能,所以需要安装相关组件以让我们的RedHat支持PPP,根据内核的版本,下载相应的安装包
我这里是centos5.8 64位
wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.rhel5.x86_64.rpm
32位用这个
wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.rhel5.i386.rpm
安装pptpd
rpm -ivh pptpd-1.3.4-2.rhel5.x86_64.rpm
2.ppp支持
PPTP需要PPP支持,虽然系统本身有PPP功能,但它并不支持MPPE,所以需要更新系统的PPP组件,
yum -y install ppp
3.MPPE支持
用以下命令检查PPP是否支持MPPE(Microsoft Point to Point Encryption,微软点对点加密):
#strings ‘/usr/sbin/pppd’|grep -i mppe|wc –lines
42 如果以上命令输出为“0”则表示不支持;输出为“30”或更大的数字就表示支持,我这里为42。
如果不支持需安装相应的包
#wget http://poptop.sourceforge.net/yum/stable/packages/dkms-2.0.17.5-1.noarch.rpm
#rpm –ivh dkms-2.0.17.5-1.noarch.rpm
#rpm –ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
用以下命令检查内核MPPE补丁是否安装成功,MPPE module可否载如:
#modprobe ppp-compress-18 && echo success
二.修改配置文件
1.添加dns及客户端IP地址
echo “ms-dns 8.8.8.8” >> /etc/ppp/options.pptpd
echo “ms-dns 8.8.4.4” >> /etc/ppp/options.pptpd
echo “localip 192.168.10.1” >> /etc/pptpd.conf
echo “remoteip 192.168.10.2-100” >> /etc/pptpd.conf
2.添加VPN用户
/etc/ppp/chap-secrets
echo “pptpuser pptpd pptppass *” >> /etc/ppp/chap-secrets
3.创建设备文件
mknod /dev/ppp c 108 0
4.打开ip转发
echo 1 > /proc/sys/net/ipv4/ip_forward
sed -i ‘/net.ipv4.ip_forward / {s/0/1/g} ‘ /etc/sysctl.conf
5.打开iptables端口
/sbin/iptables -A INPUT -p gre -j ACCEPT
/sbin/iptables -A INPUT -p tcp -m state –state NEW -m tcp –dport 47 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -m tcp –dport 1723 -j ACCEPT
#OpenVZ venet0:0
#/sbin/iptables -t nat -A POSTROUTING -s ${PPTPIPAREA} -j SNAT –to-source `ifconfig | grep ‘inet addr:’| grep -v ‘127\.0\.0\.’ | grep -v ’10\.’ | grep -v ‘172\.’ | grep -v ‘192\.’ | cut -d: -f2 | awk ‘NR==1 { print $1}’`
# For Xen and KVM
/sbin/iptables -t nat -A POSTROUTING -s 192.168.10/24 -o eth0 -j MASQUERADE
/sbin/iptables -A FORWARD -p tcp -–syn -s 192.168.10/24 -j TCPMSS –-set-mss 1356
保存
/etc/init.d/iptables save
6.开启pptpd
chkconfig pptpd on
/etc/init.d/pptpd stop
/etc/init.d/pptpd start
7.查看日志
tail -f /var/log/messags
三.客户端连接vpn
1. 打开 Windows控制面板 –> 网络和Internet连接,点击下图所示的“创建一个到您的工作位置的网络连接”
2. 选择“虚拟专用网络连接”,点击下一步
3. 填入一个连接名称,可以随意填写,当然最好是一个容易区分的名称,比如“vpn”
4. 填入VPN服务器的域名或者IP地址,请向你的VPN服务商索取(包括用户名和密码)
5. 创建VPN连接最后一步,可以选择“在我的桌面上添加一个到此连接的快捷方式”,点击“完成”
6. 在桌面上可以看到一个VPN连接的快捷方式,双击打开登录界面。
7. 填入VPN服务的用户名和密码,在vpn 连接窗口,单击“属性”;
8、 选择“安全”属性页,选择“高级(自定义设置)”,单击“设置”;
9. 在“数据加密”中选择“可选加密(没有加密也可以连接)”,在“允许这些协议”选中”Microsoft CHAP (MS-CHAP)(M) ”、 ”Microsoft CHAP版本2(MS-CHAP V2)(I) ”;
10. 选择“网络”属性页面,在“VPN 类型”选择“PPTP VPN”确认Inernet 协议(TCP/IP)、、“微软网络文件和打印共享”、“微软网络客户”被选中。 确认“NWLink IPX/SPX/NetBIOS Compatible Transport Prococol”协议没有被选中;
11. 连接成功后,在任务栏上会看到一个VPN连接的图标,现在可以到http://www.ip138.com,看一下你的ip地址是否发生了变化
数据加密和协议未正确选择可能出现下面错误
Jun 6 14:21:29 c1gstduio pppd[18302]: No CHAP secret found for authenticating pptpd
Jun 6 14:21:29 c1gstduio pppd[18302]: Peer pptpd failed CHAP authentication
Jun 6 14:22:06 c1gstduio pppd[18319]: Unsupported protocol ‘Novell IPX Control Protocol’ (0x802b) received
Jun 6 14:22:06 c1gstduio pppd[18319]: MPPE 128-bit stateless compression enabled
Jun 6 14:22:08 c1gstduio pppd[18319]: Cannot determine ethernet address for proxy ARP
One Response
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.
Continuing the Discussion