Centos 6.x搭建VPN服务器

安装必须要的软件

需要用到ppp, iptables

yum install ppp iptables  

添加pptpd的源并安装:

rpm -i http://poptop.sourceforge.net/yum/stable/rhel6/pptp-release-current.noarch.rpm  
yum install pptpd  
配置pptp

修改各种配置文件:

/etc/pptpd.conf

添加下面两行:

localip 192.168.0.1  
remoteip 192.168.0.10-111  

192.168.0.10-111表示用户被分配的ip地址的范围。

/etc/ppp/options.pptpd

添加下面两行,表示使用Google的DNS服务器:

ms-dns 8.8.8.8  
ms-dns 8.8.4.4  

/etc/ppp/chap-secrets

这个文件是用来添加vpn账号的,每一行表示一个用户,格式如下:

username pptpd passwd *  
  • username表示用户名
  • passwd表示账号
  • *表示任何ip,如果只想一个账号只能一个人登陆,就设置一个固定ip,参考上面的ip地址范围。

/etc/sysctl.conf

修改内核设置,使得支持转发,将net.ipv4.ip_forward=0改为net.ipv4.ip_forward=1,要取消注释。修改后运行下面命令使得生效:

/sbin/sysctl -p
添加转发规则和开放必要的端口
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source server-ip  
iptables -A INPUT -i eth0 -p tcp --dport 1723 -j ACCEPT  
iptables -A INPUT -i eth0 -p gre -j ACCEPT  
iptables -A FORWARD -i ppp+ -o eth0 -j ACCEPT  
iptables -A FORWARD -i eth0 -o ppp+ -j ACCEPT  
iptables -A OUTPUT -p tcp --dport 1723 -j ACCEPT  
iptables -A OUTPUT -p gre -j ACCEPT  
  • 192.168.0.0/24: 这个是需要包括上面分配的ip地址范围
  • vps-ip: 这里填的是你的服务器ip
  • eth0 为网卡名称
保存iptables转发规则:
/etc/init.d/iptables save

然后重启iptables以及pptpd:

/etc/init.d/iptables restart
/etc/init.d/pptpd restart