CentOS搭建PPTP VPN
1、检查vps是否满足配置pptp vpn的环境。
cat /dev/ppp
cat: /dev/ppp: No such device or address #返回这个说明PPP已经开启。
cat /dev/net/tun
cat: /dev/net/tun: File descriptor in bad state #返回这个说明Tun/Tap已经开启。
2、安装pptp以及依赖软件
CensOS 5
rpm -ivh http://t2.re/usr/uploads/file/20150314/pptp-release-4-7.rhel5.noarch.rpm
CentOS 6
rpm -ivh http://t2.re/usr/uploads/file/20150314/pptp-release-4-7.rhel6.noarch.rpm
然后安装ppp iptables pptpd
yum install -y ppp iptables pptpd
3、配置pptp客户端ip段和登录账号
编辑/etc/pptpd.conf,在文件最后添加:
localip 10.0.0.1
remoteip 10.0.0.2-10
localip为pptp vpn网关
remoteip是为客户端分配的内网ip段
pptp配置:编辑/etc/ppp/options.pptpd,把原来的内容删除,加入下面的内容。
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
ms-dns 8.8.8.8
ms-dns 8.8.4.4
proxyarp
debug
dump
lock
nobsdcomp
novj
novjccomp
添加账号
编辑 /etc/ppp/chap-secrets 这个文件:
添加格式
username pptpd password
依次是:用户名 pptpd 密码 分配的IP地址 *表示随机
启动pptp并设置开机启动:
service pptpd restart
chkconfig pptpd on
4、配置内核以及iptables
做完上面的步奏其实已经能够连接VPN,但是还不能上网,我们还需要开启数据包转发,编辑/etc/sysctl.conf文件,将net.ipv4.ip_forward值改为1。
net.ipv4.ip_forward=1
然后执行以下命令使配置生效:
sysctl -p
接下来我们还需要配置iptables的转发规则:
OpenVz
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j SNAT —to-source 12.34.56.78 #12.34.56.78为VPS的公网IP地址
Xen、Kvm
iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/24 -j MASQUERADE
需要注意的是,这个指令中的10.0.0.0/24是根据之前的配置文件中的localip网段来改变的(网上有的教程是192.168.0.0/24 ),比如你设置的192.168.1.1网段,则应该改为192.168.1.0/24。此外还有一点需要注意的是eth0,如果你的外网网卡不是eth0,而是eth1(比如SoftLayer的服务器就是这样的情况),那么请记得将eth0也更改为对应的网卡编号,不然是上不了网的
保存转发规则重启iptables:
service iptables save
service iptables restart
chkconfig iptables on
来源:http://www.777s.me/centos-pptp.html
本文根据内容来源做适当修改
并对原作者的无私奉献表示感谢