CentOS下安装PPTP VPN小记打赏

最近得一台256的vps,一个月,拿来做站什么的都不至于。首先是配置了lnmp环境放了个dz论坛做测试,最近又刚好用到cloudfoundry,vmc的下载貌似得翻那个什么。这时候就想起了我的小vps了。虽然内存不大,带宽貌似还是不错的,主机是百兆的,到每个小鸡上面不知道有多少,总知ssh下载还有10Ms的速度呢。因为昨天重装了n便系统,最终选择保留了64bit的centos,这样说,安装个pptp应该还不错,因为pptp的vpn只有独立服务器和XEN的VPS可以搭建(这点网上看到的,个人表示没有尝试过,还刚好小子的vps是xen的)。

二话不说直接动工。

pptpd VPN需要内核支持mppe,如果不支持,请联系你的服务商,或者宣告失败吧。

首先,在安装之前,需要检测服务器是否支持ppp,运行
#modprobe ppp-compress-18 && echo ok
显示ok则支持

还要检测服务器是否开启了tun/tap,运行
#cat /dev/net/tun
cat: /dev/net/tun: File descriptor in bad state 返回这样的信息说明服务器开启了tun/tap

下面开始配置。
先安装ppp和iptables。
yum install -y ppp iptables
如果出现以下情况
[root@poorren~]# yum install -y ppp iptables
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.kernel.org
* updates: mirrors.kernel.org
* addons: mirrors.kernel.org
* extras: mirrors.kernel.org
http://download.lxlabs.com/download/update/centos-5/i386/repodata/repomd.xml: [Errno 4] IOError: <urlopen error (-3, 'Temporary failure in name resolution')>
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: lxlabsupdate. Please verify its path and try again

请先执行 yum clean all,再执行 yum install -y ppp iptables

然后下载pptpd。

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

安装pptpd:
32位操作系统
rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm
64位操作系统
rpm -ivh pptpd-1.3.4-1.rhel5.1.x86_64.rpm

接下来编辑/etc/pptpd.conf文件,去掉下面两行的注释或者直接添加这两行
vi /etc/pptpd.conf
localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245
添加VPN用户和密码,按照下面格式.密码后的*号保留.
vi /etc/ppp/chap-secrets
username pptpd password *
设置DNS为Google的DNS.
vim /etc/ppp/options.pptpd
为了测试,请打开debug和dump
# Logging

# Enable connection debugging facilities.
# (see your syslog configuration for where pppd sends to)
debug

# Print out all the option values which have been set.
# (often requested by mailing list to verify options)
dump
默认的信息会写在/var/log/messages

找到ms-dns改成.
ms-dns 8.8.8.8
ms-dns 8.8.4.4

以下是配置说明:
#相当于身份验证时的域,一定要和/etc/ppp/chap-secrets中的内容对应,下面会讲到。
name pptpd
#传输加密。ppp-2.4.2以上的版本只支持MPPE加密,内核模块为 ppp_mppe.o
#拒绝pap身份验证
refuse-pap
#拒绝chap身份验证
refuse-chap
#拒绝mschap身份验证
refuse-mschap
#采用mschap-v2(Microsoft Challenge Handshake Authentication Protocol, Version 2)身份验证方式
require-mschap-v2
#注意在采用mschap-v2身份验证方式时要使用MPPE进行加密
require-mppe-128
#给客户端分配DNS地址和WINS服务器地址
ms-dns 202.99.96.68
#ms-wins 10.0.0.4
#启动ARP代理,如果分配给客户端的IP地址与内网网卡在一个子网就需要启用ARP代理。
Proxyarp
编辑/etc/sysctl.conf文件,找到”net.ipv4.ip_forward=1″这一行,去掉前面的注释。没有就添加上.
net.ipv4.ip_forward=1
运行下面的命令让配置生效。
sysctl -p
重启pptpd服务
/etc/init.d/pptpd restart
最后开启iptables转发
/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
保存iptables
/etc/init.d/iptables save
然后重启iptables
/etc/init.d/iptables restart
再重启pptp
/etc/init.d/pptpd restart

最后设置iptables和pptpd开机自动启动
chkconfig pptpd on
chkconfig iptables on

到这里大功告成了。在本地直接建立vpn连接,登陆即可。如果登陆后仍然打不开网页,先断开连接,将vpn连接的tcp/ip属性-高级中的在远程网络上使用默认网关取消。

顺手整理的有点乱,凑合看看好了。

CentOS下安装PPTP VPN小记
文章《CentOS下安装PPTP VPN小记》二维码
  • 微信打赏
  • 支付宝打赏

已有8条评论

  1. 苏苏博客

    linux其实很容易操作的

    2013-03-06 11:38 回复
  2. ixwebhosting

    用过一次VPS,可惜技术不行,感觉还是找个好点的虚拟机用着省心,所以后来就把VPS退了!也许以后还会再用吧,呵呵

    2012-05-23 11:55 回复
    • 穷小子

      嗯。vps其实还是强大点。就是对新手不太适合。不过不去学习就永远是新手了

      2012-05-23 21:48 回复
  3. 韩版女装

    挺详细的 学习了!

    2012-05-21 16:47 回复
  4. 个性拼图

    速度挺快,质量还行

    2012-05-21 14:11 回复

(必填)

(必填)

(可选)