一、VPN服务器环境说明
操作系统:CentOS release 6.4 (Final)
本地网卡:
- # ifconfig
- em1 Link encap:Ethernet HWaddr 78:2B:CB:42:C3:68
- inet addr:192.168.123.201 Bcast:192.168.123.255 Mask:255.255.255.0
- em2 Link encap:Ethernet HWaddr 78:2B:CB:42:C3:6A
- inet addr:10.100.100.201 Bcast:10.100.100.255 Mask:255.255.255.0
说明:本地网卡em1负责连接vpn客户端,em2负责与10.100.100.0网段服务器的连接。
本实验目的:
(1)vpn客户端能够成功的连接到vpn服务器上;
(2)vpn服务器可以转发来自vpn客户端对10.100.100.0网段的请求。
二、安装VPN服务器包
使用yum安装ppp和pptp包
- yum -y install ppp*
- yum -y install pptp*
如果yum不具备pptp,可到 http://pptpclient.sourceforge.net 下载安装,这里建议选用rpm包。
三、 配置VPN服务器
1. 编辑/etc/pptpd.conf文件,找到“locapip”和“remoteip”这两个配置项,将前面#去掉。将后面的IP地址更改为自己需要IP
locapip表示VPN服务器自己的本地IP地址;
remoteip表示VPN客户端连到服务器上将会被分配的IP地址范围。
- # vi /etc/pptpd.conf
- ppp /usr/sbin/pppd
- option /etc/ppp/options.pptpd
- #logwtmp
- localip 192.168.123.201
- remoteip 192.168.0.234-238,192.168.0.245
2. 再编辑文件/etc/ppp/options.pptpd,在末尾添加DNS地址
- # vi /etc/ppp/options.pptpd
- ms-dns 202.106.196.115
- ms-dns 192.168.123.5
保存退出文件。
3. 添加VPN客户端帐号和口令
- # vi /etc/ppp/chap-secrets
- # Secrets for authentication using CHAP
- # client server secret IP addresses
- shen pptpd 123456 *
这里,我们创建了一个vpn用户:shen,口令:123456。一个帐号一行,可以添加多个帐号。
4. 启动VPN服务器
- # /etc/init.d/pptpd restart
至此VPN服务器搭建完成了,但实际环境中还需要给VNP服务器增加路由功能
四、配置VPN服务器的路由转发功能
1. 修改内核文件,使系统支持转发
- #vi /etc/sysctl.conf
将net.ipv4.ip_forward = 0中的0改为1就OK了。
然后执行下列命令,使其生效:
- #sysctl –p
2. 配置防火墙增加转发规则
#iptables -t nat -A POSTROUTING -s 192.168.123.0/24 -o eth0 -j MASQUERADE
说明:来自192.168.123.0网段的访问流经eth0网卡做转发
五、FAQ
1. /var/log/messages日志中出现下面的错误,如何解决?
错误日志内容:from PTY failed: status = -1 error = Input/output error, usually caused by unexpected termination of pppd, check option syntax and pppd logs
解决办法:
修改 /etc/pptpd.conf 文件,注释掉logwtmp 这行,重启pptpd服务。
- #logwtmp
- # /etc/init.d/pptpd restart
再次尝试连接vpn客户端,可以成功验证用户和口令了。