CentOS 6.4 安装 PPTPD VPN

2013-10-10 1365点热度 0条评论
  1. 先检查vps是否满足配置pptp vpn的环境。因为有的openvz的vps被母鸡给禁用了。其实,你在配置前最好向vps的客服发TK,可能客服会帮你开通vpn或者客服那里会给你他们自己定制的vpn一键安装包也有可能。
  2. 接着是安装配置pptp vpn的相关软件,安装ppp和iptables。
  3. 配置安装好后的pptp软件,这个不像windows那样,安装的过程就是配置的过程。linux的要安装完之后,修改配置文件,才算是完成配置。
  4. 启动pptp vpn 服务。此时,就是检验你能够vpn拨号成功,如果你拨号成功了,说明你的pptp vpn的安装配置就算真正的完成了。但是此时只能登录vpn,却不能用来上网。
  5. 开启内核和iptables的转发功能。这个步骤是为了让你连上vpn之后,能够上网,上那些yourporn,youtube之类的。这步是最关键的,很多人能成功拨号,登录vpn,但是却不能上网就是因为这个步骤没做好。这步骤完成了,你就可以尽情去国外的网站访问了。

#########################################

第一步:检测是否符合pptp的搭建环境的要求
服务器版本:

Linux version 2.6.32-358.14.1.el6.x86_64 (mockbuild@c6b10.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) ) #1 SMP Tue Jul 16 23:51:20 UTC 2013

如果检查结果没有这些支持的话,是不能安装pptp的。执行指令:

modprobe ppp-compress-18 && echo ok

这条执行执行后,显示“ok”则表明通过。不过接下来还需要做另一个检查,输入指令:

如果这条指令显示结果为下面的文本,则表明通过

cat /dev/net/tun
cat: /dev/net/tun: File descriptor in bad state

上述两条均通过,才能安装pptp。否则就只能考虑openvpn,或者请你的服务商来解决这个问题。
Cent os 6.4内核版本在2.6.15以上,都默认集成了MPPE和PPP,因此下面检查可以忽略:

检查PPP是否支持MPPE,用以下命令检查PPP是否支持MPPE:

rpm -q ppp
strings '/usr/sbin/pppd' |grep -i mppe | wc --lines

如果以上命令输出为“0”则表示不支持;输出为“30”或更大的数字就表示支持,MPPE(Microsoft Point to Point Encryption,微软点对点加密)。
第二步:安装ppp和iptables
1.安装ppp和iptables
PPTPD要求Linux内核支持mppe,一般来说CentOS安装时已经包含了

yum install -y perl ppp iptables

2.安装pptpd

// 32bit
wget http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpm
rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm
// 64bit
wget //jalena.bcsytv.com/uploads/software/pptpd-1.3.4-2.el6.x86_64.rpm
rpm -ivh pptpd-1.3.4-2.el6.x86_64.rpm

第三步:修改配置文件

cp /etc/ppp/options.pptpd /etc/ppp/options.pptpd.bak
cp /etc/ppp/chap-secrets /etc/ppp/chap-secrets.bak
cp /etc/pptpd.conf /etc/pptpd.conf.bak
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
# Secrets for authentication using PAP
# client	server	secret			IP addresses
user          pptpd     pass    *
option /etc/ppp/options.pptpd
logwtmp
localip 192.168.10.1
remoteip 192.168.10.10-20   //表示vpn客户端获得ip的范围

关键点:pptpd.conf这个配置文件必须保证最后是以空行结尾才行,否则会导致启动pptpd服务时,出现“Starting pptpd:”,一直卡着不动的问题,无法启动服务,切记呀!(相关文档可以查看:Starting pptpd: 运行不下去的原因)

//修改内核设置,使其支持转发
net.ipv4.ip_forward = 1
save /sbin/sysctl  // 保存
/sbin/sysctl -p  // 查看是否生效

第四步:启动pptp vpn服务和iptables

# Generated by iptables-save v1.4.7 on Thu Oct 10 19:09:07 2013
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1764:883161]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Thu Oct 10 19:09:07 2013
# Generated by iptables-save v1.4.7 on Thu Oct 10 19:09:07 2013
*nat
:PREROUTING ACCEPT [41:5333]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE
-A POSTROUTING -s 192.168.10.0/24 -o eth0 -j SNAT --to-source vpsIP
COMMIT
# Completed on Thu Oct 10 19:09:07 2013

最后一步:重启pptp vpn

service pptpd start // 开启pptpd
service iptables start // 开启iptables
chkconfig pptpd on // 设置开机启动pptpd
chkconfig iptables on // 设置开机启动iptables

Jalena

原创内容,转载请注明出处! 部分内容来自网络,请遵守法律适用!

文章评论