CentOS服务器上搭建VPN PPTP

7-1  检查服务器是否支持PPTP ———————————————–[成功]

modprobe ppp-compress-18 && echo ok               //返回的结果为OK,表示成功通过

cat /dev/net/tun                                  //返回的结果为cat: /dev/net/tun: File descriptor in bad state,表示成功通过

 7-1.png

7-2  安装PPP和iptables —————————————————[成功]

yum install -y ppp iptables

7-2-1.png7-2-2.png 

 

7-3  安装安装PPTP ——————————————————–[成功]

 

7-3-1 ——————————————————————–[成功]

安装PPTP,此软件需要下载安装,安装选择RPM包,注意有32位和64位之分,所以下载的时候要根据系统实际情况下载安装,否则,安装不会成功。

这里分别提供32位和64位PPTP包的下载地址:

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

然后,安装RPM包:

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

7-3-2 ——————————————————————–[成功]

安装时出现ppp = 2.4.4 is needed by pptpd-1.3.4-1.rhel5.1.i386 问题

 7-3-2.png

7-3-3 ——————————————————————–[成功]

原因就是ppp版本太高[ppp 2.4.5],而pptpd比较低[pptpd 1.3.4],不兼容.

对应的版本如下

ppp 2.4.4——————>pptpd 1.3.4

ppp 2.4.5——————>pptpd 1.4.0

因为ppp先装,所以我们找对pptpd 1.4.0的版本来安装

wget -c http://www.vertinger.com/linuxsoft/pptpd/pptpd-1.4.0-1.el6.x86_64.rpm

rpm -ivh pptpd-1.4.0-1.el6.x86_64.rpm 

7-3-3.png

7-4  更改PPTP的配置文件 ————————————————-[成功]

7-4-1 

vim /etc/pptpd.conf

locapip 192.74.251.104        //服务器的IP地址[公网IP]

remoteip 192.168.10.234-238   //客户端连到服务器上将会被分配的IP地址范围[内网IP],过会Iptables配置时会用到

 7-4-1.png

7-4-2 ——————————————————————-[成功]

vi /etc/ppp/options.pptpd   

最后加入

ms-dns 8.8.8.8

ms-dns 8.8.4.4

7-4-2.png 

7-5  为客户端添加账号和密码———————————————-[成功]

vi /etc/ppp/chap-secrets

用户名    pptpd   密码    *

test      pptpd   test    *

7-5.png 

7-6  修改内核文件,使系统能支持转发————————————–[成功]

7-6-1

vi /etc/sysctl.conf

net.ipv4.ip_forward = 0   //将0改为1就OK了

7-6-1.png 

7-6-2 然后执行下列命令,使其生效

sysctl -p

 

7-6-2-2

如果出现

error:"net.bridge.bridge-nf-call-ip6tables" is an unknown key

error:"net.bridge.bridge-nf-call-iptables" is an unknown key

error:"net.bridge.bridge-nf-call-arptables" is an unknown key

7-6-2-2.png 

执行以下命令

modprobe bridge

lsmod|grep bridge

sysctl -p

7-7 配置防火墙———————————————————-[成功]

sudo iptables -P INPUT ACCEPT

sudo iptables -P OUTPUT ACCEPT

sudo iptables -F

sudo iptables -A INPUT -m conntrack –ctstate ESTABLISHED,RELATED -j ACCEPT   //允许SSH连接———[成功]

sudo iptables -A INPUT -p tcp –dport 8201 -j ACCEPT                          //putty连接端口——-[成功]

sudo iptables -A INPUT -p tcp –dport 80 -j ACCEPT                            //Web服务器———–[成功]

sudo iptables -A INPUT -p tcp –dport 1723 -j ACCEPT                          //VPN PPTPD 配置——[成功]

sudo iptables -A INPUT -p tcp –dport 47 -j ACCEPT                            //VPN PPTPD 配置——[成功]

sudo iptables -A INPUT -p gre -j ACCEPT                                       //VPN PPTPD 配置——[成功]

sudo iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE  //VPN PPTPD 配置——[成功]

sudo iptables -A INPUT -p UDP –dport 53 -j ACCEPT                            //VPN PPTPD 配置——[成功]

sudo iptables -I INPUT 1 -i lo -j ACCEPT                                      //VPN PPTPD 配置——[成功]

sudo iptables -I INPUT 1 -i lo -j ACCEPT                                      //保持彼此之间的通信–[成功]

sudo iptables -P INPUT DROP                                                   //INPUT链的默认规则更改为“Drop”即丢弃

7-8 保存并重启 ————————————————————-[成功]

sudo service iptables save

sudo service iptables restart

7-9 重启PPTP服务:

/etc/init.d/pptpd restart

 7-9.png

7-10 可以ping通内网IP,可以ping通外网,连接成功

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *