一、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,可到 <a href="http://pptpclient.sourceforge.net">http://pptpclient.sourceforge.net</a> 下载安装,这里建议选用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客户端,可以成功验证用户和口令了。