以阿里云为例介绍LINUX系统centos配置VPN(PPTPD服务)

环境:阿里云 centos 6.5(实践也支持6.4和6.3)
条件:服务器支持ppp【这里必须】和tun/tap【非必须】(如需配openvpn必须)
有人不懂怎么编辑centos的系统文件,是通过vi这个命令编辑的,vi之后再点击i后移动光标编辑,按ctrl+c保存后,按大写锁定键caps lock后,按两次Z键即可完成编辑并保存,调回SSH主窗口。如果不懂SSH登录可以看这里的基础教程:
以阿里云VPS服务器为例介绍LINUX系统centos配置OPENVPN(TCP和UDP两种模式):
点击这里

具体安装如下:
1. 需要验证是否开启了ppp,一般只有VPS才需要验证,自己的服务器肯定是开启的。
# cat /dev/ppp
cat: /dev/ppp: No such device or address
如果出现以上提示则说明ppp是开启的,可以正常架设pptp服务,若出现Permission denied等其他提示,你需要先去VPS面板里看看有没有enable ppp的功能开关,如果没有则需要发个ticket给你的提供商,让他们帮你开通,否则就不必要看下去了,100%无法成功配置PPTP。

2. 修改内核,使其支持包转发
# vi /etc/sysctl.conf
将net.ipv4.ip_forward的值从0改为1,否则服务器将不会进行包转发操作
# sysctl -p
使内核配置生效

3. 安装PPP和iptables
# yum -y install ppp iptables
如果你需要用户连接到你的服务器后可以访问外网,则iptables是必要的,它主要用来做地址转换,将内网IP转换成公网IP(NAT),从而实现上网。否则用户只能访问你服务器上的内网。

4. 安装pptp
# rpm -ivh ftp://rpmfind.net/linux/epel/6/i386/pptpd-1.4.0-3.el6.i686.rpm
64位系统用以下命令安装,上面针对32位用户
# rpm -ivh ftp://rpmfind.net/linux/epel/6/x86_64/pptpd-1.4.0-3.el6.x86_64.rpm
由于yum源中没有pptpd这个包,所以这种安装方式是必要的,你也可以自己去寻找软件包,注意32位系统和64位系统需要选择各自的软件包.
我这里用的是64位的。

5. 配置pptp
# vi /etc/pptpd.conf
打开配置文件后,在最下面找到
#localip 192.168.0.1
#remoteip 192.168.0.234-238,192.168.0.245
将注释去掉,并改成你自己想要设置的IP段
localip就是指定你服务器的内网IP地址,其实即便网卡没有配置成这个地址也无所谓
remoteip就是用户连接到你的服务器后,服务器为用户分配的ip地址范围,注意格式。
我这里用的是(菜鸟就按我这个设置行了):
localip 192.168.0.1
remoteip 192.168.1.100-200

6. 配置options.pptpd文件
# vi /etc/ppp/options.pptpd
打开后,找到下面字段,去掉注释,并修改成你想要为用户分配的dns服务器,一般指定google的即可
ms-dns 8.8.8.8
ms-dns 8.8.4.4
经过实践这个DNS可以设置也可以不设置。

7. 配置iptables转发规则
#iptables -A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 101.200.214.174
以上这一行代码用下者替代也是可以的。
#iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE
以上命令的作用就是让192.168.1.0这个段的ip地址,可以通过101.200.214.174这个公网地址上网。
你需要将192.168.1.0/24/24替换成你在pptp.conf中设置的ip段和子网掩码,将101.200.214.174替换成你服务器自己的公网ip地址,否则拨上来的用户是没有办法上网的。
# service iptables save
将新增的转发规则写入文件保存,不执行此命令,服务器重启后上面的转发规则就没了。不放心的话可以用vi /etc/sysconfig/iptables命令看看是否添加成功。

补充(根据需要操作,首次配置可以不用管它): 清空iptables转发规则
# iptables -F -t nat
# iptables -X -t nat
# iptables -Z -t nat
如果不小心配置了错误的转发规则可以使用以上三条命令清空
# service iptables save
清空后别忘了再次使用保存命令将清空后的配置写入文件,否则重启后上次配置的转发规则又回恢复。
开启iptables规则: service iptables start

8. 添加VPN账号密码
以上配置完成后,我们就可以添加VPN账号密码进行测试了
# vi /etc/ppp/chap-secrets
需要添加的4个字段分别为用户名,服务,密码,ip地址(如果为*,则表示随机分配,范围即为你在pptp.conf
比如 vpnuser pptpd meili * 主要就是用户名和密码要改一下。

9. 启动相关服务
# service pptpd start
# service iptables start
此时就可以在另一台机器上建立VPN来测试了

10 .将服务配置为开机自动启动
# chkconfig pptpd on
# chkconfig iptables on

11.vi /etc/ppp/ip-up
在/etc/ppp/ip-up中exit 0上添加
/sbin/ifconfig $1 mtu 1500
049
重启pptpd服务:
# service pptpd restart
客户端断开你的PPTP连接,在测试一下!
051

上面这步对阿里云是非常必要的,如果不设置,实践表明会出现部分网址不能访问的情况,比如百度。其他非阿里云的可先不要这步。

12.测试成功后,再输入重启命令:
reboot
重启机器后,看看VPN是否依然成功!
052

————————————————–
本文参考资料:

http://rtmsoft.me/?p=82

http://blog.sina.com.cn/s/blog_3eba8f1c0102uxyc.html

发表评论