1. 安逸兔Anyitu.com首页
  2. 电脑知识

如何在CentOS系统下安装配置PPTP VPN服务器

如何在CentOS系统下安装配置PPTP VPN服务器

副标:使用海外服务器VPS搭建VPN教程(基于CentOS系统)

说明:

服务器操作系统:CentOS 5.X 64位

服务器IP地址:192.168.21.128

实现目的:服务器安装配置pptp软件,对外提供vpn拨号服务

具体操作:

一、安装包下载

1、ppp #安装pptpd需要此软件包

http://poptop.sourceforge.net/yum/stable/packages/ppp-2.4.4-14.1.rhel5.x86_64.rpm

2、pptpd #目前最新版本

http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.4.0-1.rhel5.x86_64.rpm

下载好之后上传到/usr/local/src目录

二、检查服务器系统环境是否支持安装pptp vpn

1、检查系统内核是否支持MPPE补丁

modprobe ppp-compress-18 &&echo success

显示success说明系统支持MPPE补丁,如果不支持,需要先安装kernel-devel

yum install kernel-devel

2、检查系统是否开启TUN/TAP支持

cat /dev/net/tun

如果这条指令显示结果为下面的文本,则表明通过:

cat: /dev/net/tun: File descriptor in bad state

3、检查系统是否开启ppp支持

cat /dev/ppp

如果这条指令显示结果为下面的文本,则表明通过:

cat: /dev/ppp: No such device or address

上面三条必须同时满足,否则不能安装pptp vpn

三、安装pptp

cd /usr/local/src

rpm -ivh ppp-2.4.4-14.1.rhel5.x86_64.rpm #安装ppp

rpm -ivh pptpd-1.4.0-1.rhel5.x86_64.rpm #安装pptp

四、配置pptp

1、vi /etc/ppp/options.pptpd #编辑,添加、修改以下参数

name pptpd

refuse-pap

refuse-chap

refuse-mschap

require-mschap-v2

require-mppe-128

proxyarp

lock

nobsdcomp

novj

novjccomp

nologfd

ms-dns 8.8.8.8 #添加主DNS服务器地址

ms-dns 8.8.4.4 #添加备DNS服务器地址

:wq! #保存,退出

2、vi /etc/ppp/chap-secrets #设置pptp拨号用户和密码(可以设置多个用户,每行一个)

# client server secret IP addresses

osyunweivpnuser01 pptpd 123456 *

osyunweivpnuser02 pptpd 1234 *

osyunweivpnuser03 pptpd 12345678 *

格式:用户名 pptpd 密码 *

其中*表示为客户端自动分配IP地址

:wq! #保存,退出

3、vi /etc/pptpd.conf #设置pptp服务器IP地址,设置vpn拨入客户端ip地址池

option /etc/ppp/options.pptpd

logwtmp

localip 172.16.36.1 #设置pptp虚拟拨号服务器IP地址(注意:不是服务器本身的IP地址)

remoteip 172.16.36.2-254 #为拨入vpn的用户动态分配172.16.36.2~172.16.36.254之间的IP地址

:wq! #保存,退出

/sbin/service pptpd start #启动pptp

/etc/init.d/pptpd stop #关闭

service pptpd restart #重启

chkconfig pptpd on #设置开机启动

五、开启服务器系统路由模式,支持包转发

vi /etc/sysctl.conf #编辑

net.ipv4.ip_forward = 1 #设置为1

#net.ipv4.tcp_syncookies = 1 #注释掉

:wq! #保存,退出

/sbin/sysctl -p #使设置立刻生效

六、设置防火墙转发规则

yum install iptables #安装防火墙

service iptables start #启动防火墙

iptables -t nat -A POSTROUTING -s 172.16.36.0/255.255.255.0 -j SNAT --to-source 192.168.21.128 #添加规则

iptables -A FORWARD -p tcp --syn -s 172.16.36.0/255.255.255.0 -j TCPMSS --set-mss 1356 #添加规则

/etc/init.d/iptables save #保存防火墙设置

七、开启pptp服务端口tcp 1723,设置vpn拨入客户端ip地址池172.16.36.0/255.255.255.0通过防火墙

vi /etc/sysconfig/iptables #编辑,添加以下代码

-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 1723 -j ACCEPT

-A RH-Firewall-1-INPUT -s 172.16.36.0/255.255.255.0 -j ACCEPT

:wq! #保存,退出

备注:

#192.168.21.128为服务器IP地址

#172.16.36.0/255.255.255.0是第四步中设置的pptp虚拟拨号服务器IP地址段

/etc/init.d/iptables restart #重启防火墙

chkconfig iptables on #设置开机启动

cat /etc/sysconfig/iptables #查看防火墙配置文件

# Generated by iptables-save v1.3.5 on Wed Dec 11 20:21:08 2013

*nat

: PREROUTING ACCEPT [60:4680]

: POSTROUTING ACCEPT [4:258]

:OUTPUT ACCEPT [4:258]

-A POSTROUTING -s 172.16.36.0/255.255.255.0 -j SNAT --to-source 192.168.21.128

COMMIT

# Completed on Wed Dec 11 20:21:08 2013

# Generated by iptables-save v1.3.5 on Wed Dec 11 20:21:08 2013

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [94:16159]

:RH-Firewall-1-INPUT - [0:0]

-A INPUT -j RH-Firewall-1-INPUT

-A FORWARD -j RH-Firewall-1-INPUT

-A FORWARD -s 172.16.36.0/255.255.255.0 -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j TCPMSS --set-mss 1356

-A RH-Firewall-1-INPUT -i lo -j ACCEPT

-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT

-A RH-Firewall-1-INPUT -p esp -j ACCEPT

-A RH-Firewall-1-INPUT -p ah -j ACCEPT

-A RH-Firewall-1-INPUT -d 224.0.0.251 -p udp -m udp --dport 5353 -j ACCEPT

-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT

-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 1723 -j ACCEPT

-A RH-Firewall-1-INPUT -s 172.16.36.0/255.255.255.0 -j ACCEPT

-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited

COMMIT

# Completed on Wed Dec 11 20:21:08 2013

# Generated by iptables-save v1.4.7 on Tue Jun 28 21:06:12 2016

*filter

:INPUT ACCEPT [4:304]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [4:512]

-A INPUT -p gre -j ACCEPT

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 1723 -j ACCEPT

-A INPUT -s 192.168.99.0/255.255.255.0 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibite

-A FORWARD -i ppp+ -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j TCPMSS --set-mss 1356

COMMIT

# Completed on Tue Jun 28 21:06:12 2016

# Generated by iptables-save v1.4.7 on Tue Jun 28 21:06:12 2016

*nat

: PREROUTING ACCEPT [2:136]

: POSTROUTING ACCEPT [2:212]

:OUTPUT ACCEPT [2:212]

-A POSTROUTING -s 192.168.99.0/24 -j MASQUERADE

COMMIT

# Completed on Tue Jun 28 21:06:12 2016

八、设置开机自动建立ppp设备节点(系统重新启动后有可能会丢失此文件,导致pptp客户端拨号出现错误619

vi /etc/rc.d/rc.local #编辑

mknod /dev/ppp c 108 0 #在文件最后添加此行代码

:wq! #保存,退出

-A INPUT -p gre -j ACCEPT #防火墙打开gre协议

最后,CentOS下PPTP VPN服务器搭建完成,可以在Windows客户端建立VPN连接,输入服务器外网IP地址,用上面配置的账号、密码进行连接。

如果您的服务器是windows系统,可以通过这篇教程设置VPN:《使用海外服务器VPS搭建VPN教程(基于windows系统)

文章归发布者所有。发布者:步入,转载请注明出处:https://www.anyitu.com

如该内容侵犯您的权利,请及时联系我们

微信公众号