konakona
Centos6.5 pptpd vpn record
Centos6.5 pptpd vpn record

 

整个了Linode来玩玩,首选了日本节点,不过感觉还没我的香港虚拟主机快啊(题外话,呵呵),不过vps是方便很多。帮客户配了不知道多少vps,自己却还用虚拟主机,懒!

由于在安装过程中遇到了很多问题,匪夷所思,所以record下来,方便日后check。

一键安装

2016年5月17日更新:

由于之前发布的一键安装已经失效了,捉摸着弄了个新的!这个方法在网上也很流行。在我的CentOS7 64x上测试通过。

执行命令查看是否可以启用PPTP

cat /dev/net/tun

#必须返回如下内容
cat: /dev/net/tun: File descriptor in bad state



cat /dev/ppp

#必须返回如下内容
cat: /dev/ppp: No such device or address

如果上面返回的不是这两个结果的话,请与VPS客服联系开通ppp和tun权限!

一键安装命令

cd /root
wget –no-check-certificate https://raw.githubusercontent.com/teddysun/across/master/pptp.sh
chmod +x pptp.sh
./pptp.sh

稍等片刻,执行完毕后会返回以下信息:

VPN service installed successfully, your VPN username is vpn, VPN password is XXXXXX 。

已经成功了,账号和密码在里面。用户和密码在这里修改:

/etc/ppp/chap-secrets

当然,你得确保防火墙没有封掉以下端口:
47(GRE)、53(DNS)、68(DHCP)、1723(PPTP)

如果VPN上去之后上不了外网,指执行下:

iptables -t nat -A POSTROUTING -j MASQUERADE

对于有学术性研究和受虐倾向的朋友,可以往下看,反正我是被虐得体无完肤,也总算是写完了。

自虐式完整安装

资源列表

在下文中将会使用到一些文件,集中在这里发布。

ppp和pptpd全版本下载Link(无需翻墙),如果在这里面没有你需要的,同样可以在这里(需要翻墙)找,有这2个就够了。

yum install perl ppp iptables

这是彼此依赖的关系,都装。

 

32位下载:

wget http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpm

64位下载:

wget http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.x86_64.rpm

进行安装:

rpm -ivh pptpd-1.3.4-2.rhel5.x86_64.rpm

如果出现类似错误:

warning: pptpd-1.3.4-2.rhel5.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 862acc42: NOKEY
error: Failed dependencies:
ppp = 2.4.4 is needed by pptpd-1.3.4-2.rhel5.x86_64

原因是pptpd与PPP不兼容,下载pptpd-1.3.4-2.el6.x86_64.rpm安装即可,可以在上方的“资源列表”中找到。

http://blog.crazyphper.com/wp-content/uploads/2014/07/包问题解决.jpg

我遇到的这个问题,如实解决

 

修改配置:

编辑PPTP配置文件 /etc/ppp/options.pptpd 如内容下(你可以先备份下源文件,但是这份配置没有问题的)。

name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
lock
nobsdcomp
novj
novjccomp
nologfd
idle 2592000
ms-dns 8.8.8.8
ms-dns 8.8.4.4

编辑配置文件 /etc/pptpd.conf ,内容如下。

option /etc/ppp/options.pptpd
logwtmp
localip 192.168.254.1
remoteip 192.168.254.100-254

其中localip与remoteip定义了客户端连接VPN服务器后被分配到的内网IP地址,可根据需要自己修改。

现在对用户认证文件 /etc/ppp/chap-secrets 进行配置,内容如下:

konakona_vpn pptpd mypwd *

konakona_vpn和mypwd就是登录的vpn帐号和vpn密码。

将 /etc/sysctl.conf 文件中net.ipv4.ip_forward设置为 1 (如果没有,则按照格式新建一行):

net.ipv4.ip_forward = 1

保存,退出,执行一下代码使其生效。

/sbin/sysctl -p

 设置IPTABLES进行转发。

/etc/init.d/iptables start
/sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.254.0/24 -j MASQUERADE
/etc/init.d/iptables save
/etc/init.d/iptables restart

 注意,上面的192.168.254.0应该与之前设置的网段对应。

特别说明一下:

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 12.34.56.78

适合于OpenVZ架构的VPS,12.34.56.78为您VPS的公网IP地址。

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

适合于XEN架构的VPS,因此Linode适用。

然后设置为开机启动。

chkconfig pptpd on
chkconfig iptables on

重启后即可使用VPN。如果重启服务器后,无法连接VPN,首先检查服务器的PPTP服务1723端口是否已打开(注意设置防火墙允许此端口);如果可以连接VPN,但是无法正常上网,则检查iptables是否正常转发。

service iptables status

 

 

看似复杂,其实照着流程走,不会有太大问题,除非ppp和pptpd的版本对不上,以及防火墙问题。

附赠另一个精简版教程:戳这里

赞赏
https://secure.gravatar.com/avatar/3b712b34a0e1b689cfb524c9c6bcdc47?s=256&r=g

团哥

文章作者

继续玩我的CODE,让别人说去。 低调,就是这么自信。

发表评论

textsms
account_circle
email

konakona

Centos6.5 pptpd vpn record
  整个了Linode来玩玩,首选了日本节点,不过感觉还没我的香港虚拟主机快啊(题外话,呵呵),不过vps是方便很多。帮客户配了不知道多少vps,自己却还用虚拟主机,懒! 由于在…
扫描二维码继续阅读
2014-07-20