当前位置: 首页 > 国外空间 > 正文

此教程支持openvz和XEN环境的debian和ubuntu系统

 

XEN      Debian 6.0 Squeeze (32bit)    实测通过

XEN      Ubuntu 12.04 LTS (32bit)       实测通过

OPENVZ Debian 6.0 实测通过

先检测VPS是否支持搭建VPN

执行以下两条命令

cat /dev/net/tun

返回结果:
cat: /dev/net/tun: File descriptor in bad state

cat /dev/ppp

返回以下结果:
cat: /dev/ppp: No such device or address

如果不是,那就先发ticket联系主机商说你要建pptpvpn,让他把建pptpvpn所有需要的服务都开启,xen默认都开启了,openvz的tun和ppp有的主机商不是默认开启的,如果vps是SolusVM面板,一般在面板里也是可以开启TUN和PPP的

 

 

 1.安装 pptpd

apt-get update
apt-get install pptpd

 安装nano(如果你能够熟练的使用vi,可以省略这一步)

 

2.配置 pptpd

2.1.修改 nano /etc/pptpd.conf         如果没有安装nano,下载安装apt-get install nano

#localip 192.168.0.1
#remoteip 192.168.0.234-238,192.168.0.245

去除前面的 #

CTRL+O修改 回车保存 CTRL+X 退出

这两句设置了当外部计算机通过pptp联接到vpn后所能拿到的ip地址范围和服务器的ip地址设置

2.2.添加PPTP VPN用户

修改 nano /etc/ppp/chap-secrets 增加

username pptpd password *

其中username为你要添加的VPN帐号的用户名,password为你VPN帐号的密码

最后那个星号是说允许从任何IP地址联接,如果你想单独设定IP地址也可以

2.3.修改DNS服务器

修改 nano /etc/ppp/options 加入

ms-dns 8.8.8.8
ms-dns 8.8.4.4

可以自定,这里使用的是Google DNS,推荐使用

2.4.开启ip转发

编辑nano /etc/sysctl.conf文件,去掉net.ipv4.ip_forward=1前的注释#

保存退出,并执行下面的命令来生效它:

sysctl -p

2.5.重启pptpd服务

/etc/init.d/pptpd restart

3.安装iptables(大多数都是已安装)

apt-get install iptables

如果已经安装可以跳过

3.1.开启iptables转发

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

//以上为XEN VPS命令,eth0是物理网卡,用命令 ifconfig 查看,如果显示的是

venet0,就用venet0替换掉上面的eth0

 

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o venet0 -j SNAT --to-source xxx.xxx.xxx.xxx

//以上为OpenVZ VPS命令, xxx.xxx.xxx.xxx 是你 vps 的 ip 地址。

 

设置MTU大小,解决部分网站无法访问的情况(MTU=MSS+20+20)

iptables -A FORWARD -p tcp –syn -s 192.168.0.0/24 -j TCPMSS –set-mss 1356

 

保存iptables设置

 iptables-save

测试无误后再写入规则

设置开机自动启用iptables规则,编辑/etc/rc.local文件,(要在exit 0的之上)

nano /etc/rc.local加入

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE(xen vps)

iptables -A FORWARD -p tcp –syn -s 192.168.0.0/24 -j TCPMSS –set-mss 1356

重启pptpd服务

service pptpd restart

就可以了这样设置以后VPS即使重启了pptpftp也会自动运行

 

 

 

连接错误解决方案

错误619 ,执行命令

mknod /dev/ppp c 108 0

然后重启VPS

错误800 ,则修改/etc/ppp/pptpd-options文件,在require-mppe-128字段前面加#即可,并将本地的windows系统的vpn属性改为可选加密

 

注意事项:

vps 搭建VPN教程,全程参考本教程执行,则百分百可行。如果出现本地可成功连接VPN,但无法访问网络。问题出现在iptables转发规则上面,
请核对iptables转发IP段地址与lpptpd.conf中localip IP段在同一个。这里是以192.168.0.1为例,你也可以更改为192.168.215.1,iptables
转发规则上面则为192.168.215.0
另外要核对物理网卡是否为venet0

2016/10/01更新619错误的解决办法:

看到网上好多攻略;
1.rm /dev/ppp
mknod /dev/ppp c 108 0

2.还不管用的(有时出现错误651),/var/log/messages 查看日志,最后发现:
Jan 2 07:26:11 fr pptpd[1604]: CTRL:Starting call (launching pppd, opening GRE) Jan 2 07:26:11 fr pppd[1605]:Plugin /usr/lib/pptpd/pptpd-logwtmp.so is for pppd version 2.4.3, this is 2.4.5 Jan2 07:26:11 fr pptpd[1604]: GRE: read(fd=6,buffer=804fa20,len=8196) from PTYfailed: status = -1 error = Input/output error, usually caused by unexpectedtermination of pppd, check option syntax and pppd logs Jan 2 07:26:11 fr pptpd[1604]:CTRL: PTY read or GRE write failed (pty,gre)=(6,7) Jan 2 07:26:11 frpptpd[1604]: CTRL: Client X.X.X.X control connection finished
logwtmp插件版本不兼容出错了!
vi /etc/pptpd.conf
找到logwtmp,在前面加#
service pptpd restart
仍然报错无法登陆;

3.tail -100f /var/log/messages
Aug 12 20:25:34 localhost pppd[9614]: The remote system is required to authenticate itself
Aug 12 20:25:34 localhost pppd[9614]: but I couldn’t find any suitable secret (password) for it to use to do so.
错误提示是认证错误,这里千万注意第二步设置用户时候的格式。

网上给解决方法:在配置文件/etc/ppp/options末尾添加上noauth即可。好像还是上不去继续报错……
网上也有怀疑路由设置问题,这次排除下来不是路由引起的;
最终是用户设置用户名加上引号就可以欢快上去了

vim /etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client server secret IP addresses
“username” pptpd “password” *
问题得到解决!
peer from calling number 10.10.10.91 authorized
Aug 12 20:32:21 localhost pppd[9913]: MPPE 128-bit stateless compression enabled
Aug 12 20:32:24 localhost pppd[9913]: Cannot determine ethernet address for proxy ARP
Aug 12 20:32:24 localhost pppd[9913]: local IP address 192.168.6.1
Aug 12 20:32:24 localhost pppd[9913]: remote IP address 192.168.6.2
有时候一个标点符号,一个字符都会导致莫名问题,出问题找日志总有办法解决的~

vps上安装vpn pptp 详细教程:等您坐沙发呢!

发表评论

gravatar

快捷键:Ctrl+Enter