> CentOS > CentOS教程 >

Centos 连接VPN服务器

环境:centos6.4 
1.安装ppp pptp pptp-setup

yum install ppp pptp pptp-setup

2.创建VPN连接

pptpsetup --create tunnelname --server ip地址 --username 用户名 --password 密码

文件会出现在/etc/ppp/peers/下面, 文件名就是tunnelname, 也就是–create后面的参数.

3.然后

cp /usr/share/doc/ppp-2.4.5/scripts/pon /usr/sbin/
cp /usr/share/doc/ppp-2.4.5/scripts/poff /usr/sbin/
chmod +x /usr/sbin/pon
chmod +x /usr/sbin/poff

4.配置pptp

4.1 编辑/etc/pptpd.conf,命令如下

vim /etc/pptpd.conf

将  #localip 192.168.0.1  #remoteip 192.168.0.234-238,192.168.0.245  修改成  localip 192.168.0.1  remoteip 192.168.0.234-238,192.168.0.245  即将这两行第一个字符“#”去掉,保存退出

4.2 编辑/etc/ppp/options.pptpd,命令如下

cp /etc/ppp/options.pptpd /etc/ppp/options.pptpd.bak
vim /etc/ppp/options.pptpd

添加  ms-dns 8.8.8.8  ms-dns 8.8.4.4

4.3设置使用pptp的用户名和密码

cp /etc/ppp/chap-secrets   /etc/ppp/chap-secrets.bak
vim /etc/ppp/chap-secrets

根据您的需要添加账号,每行一个。按照:  “用户名 pptpd 密码 ip地址”的格式输入,每一项之间用空格分开,例如:kuro pptpd 123456 * (*表示所有IP)

5.修改内核设置,使其支持转发

vim /etc/sysctl.conf

将net.ipv4.ip_forward=0  改成net.ipv4.ip_forward=1

执行以下命令使修改后的内核生效

sysctl -p

这里有时会遇到一些问题,如图:

解决方法如下:  修复modprobe的:

rm -f /sbin/modprobe 
ln -s /bin/true /sbin/modprobe

修复sysctl的:

rm -f /sbin/sysctl 
ln -s /bin/true /sbin/sysctl

然后运行

/sbin/sysctl -p

由于没有启用防火墙,所以此处省略防火墙转发等过程,文章末尾链接会有相关介绍。

6.拨vpn  pon vpn连接名称(自定义)

7.查看是否连接  ifconfig  如图所示有ppp0即成功

查看/var/log/message,是否启动成功了, 如果未成功, 看是什么错误  可能出现的问题:

1.如果是这个错误: MPPE required but peer negotiation failed,  说明服务端不支持MPPE加密,pptpsetup时不需要使用–encrypt选项。可以手工修改/etc/ppp/peers/tunnelname 文件, 去掉require-mppe-128

2.如果是这个错误: LCP terminated by peer (MPPE required but peer refused),  说明服务端要求MPPE加密,但是客户端不支持。解决方法正好相反,往/etc/ppp/peers/tunnelname 文件添加一行require-mppe-128

8.如果你能ping通ppp0IP,但ping同网段其他IP,请添加路由  route add -net 172.16.1.0 netmask 255.255.255.0 dev ppp0

9.断开连接  poff vpn连接名称(自定义)

(责任编辑:IT)