当前位置: > Linux服务器 > VPN >

Linux VPS快速配置PPTP VPN的命令及教程

时间:2016-02-23 16:48来源:linux.it.net.cn 作者:IT

有些朋友购买了美国VPS后,想自己配置一个VPN,可是又找不到简单的配置方法。本文将最简单的方法,以centos系统为例子,教会大家配置目前比较流行的PPTP VPN。
第一步:为系统安装pptp所需的软件及库。
 执行如下命令即可:
yum makecache
 yum -y update
 yum -y install ppp wget iptables iptables-devel perl
第二步:我们采用rpm安装的方式来安装,选择好适合自己系统的安装包。
1.32位系统,执行如下命令:
wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.rhel5.i386.rpm
 rpm -ivh pptpd-1.3.4-2.rhel5.i386.rpm
 2.64位系统,执行如下命令:
wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.rhel5.x86_64.rpm
 rpm -ivh pptpd-1.3.4-2.rhel5.x86_64.rpm
第三步:开始配置PPTP
使用VI编辑器编辑pptp.conf配置文件
 执行如下命令,编辑该文件
vi /etc/pptpd.conf
找到下面两段代码,localip是pptp服务器使用的ip,remoteip是客户端使用的ip,它们的ip可以自行选择,但是,有一个规则就是必须处于同一个网段。
localip 192.168.2.1
 remoteip 192.168.2.2-192.168.2.250
第四步:配置VPN客户端的DNS,以及相关配置参数
vi /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

lock

nobsdcomp

novj

novjccomp

nologfd
DNS服务器不一定要选择上述两个,可以按照自己的需要配置。
第五步:配置VPN的用户
vi /etc/ppp/chap-secrets
 test pptpd 123456 *
配置VPN的用户,只需在chap-secrets文件内,按照test例子的顺序配置即可。这里需要详细解释一下,各参数的作用:
test---用户名,可以自行定义
pptpd---VPN类型,这里只能设置为pptpd
 123456---VPN用户的密码
*---此VPN用户的ip,若*则表示可以拿到ip段的任意ip
第六步:开启ip转发
vi /etc/sysctl.conf
 net.ipv4.ip_forward = 1
执行此命令使设置生效
/sbin/sysctl -p
第七步:配置防火墙规则
 备份默认的防火墙规则
cp /etc/sysconfig/iptables  /etc/sysconfig/iptables.bak
修改防火墙规则
vi /etc/sysconfig/iptables
 # Firewall configuration written by system-config-securitylevel
 # Manual customization of this file is not recommended.
 *filter
 :INPUT ACCEPT [0:0]
 :FORWARD ACCEPT [0:0]
 :OUTPUT ACCEPT [0:0]
 :RH-Firewall-1-INPUT - [0:0]
 -A INPUT -j RH-Firewall-1-INPUT
 -A FORWARD -j RH-Firewall-1-INPUT
 -A RH-Firewall-1-INPUT -i lo -j ACCEPT
 -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
 -A RH-Firewall-1-INPUT -p 50 -j ACCEPT
 -A RH-Firewall-1-INPUT -p 51 -j ACCEPT
 -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -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 ESTABLISHED,RELATED -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 80 -j ACCEPT
 -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
 COMMIT
保存退出后重启iptables
 service iptables restart
第八步:配置防火墙转发VPN客户端数据。
 修改成自己的网络信息并执行如下命令即可
iptables -t nat -A POSTROUTING -s 192.168.2.0/255.255.255.0 -j SNAT --to-source 8.8.8.8
保存上面设置的规则
service iptables save
重启防火墙
service iptables restart
第九步:开放VPN通讯所需的端口,注意规则的位置
vi /etc/sysconfig/iptables
在-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT前面添加如下, 这个是DNS的端口, 不开放的话,VPN客户端无法解析域名。
-A RH-Firewall-1-INPUT -p udp -m udp --dport 53 -j ACCEPT
在-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT后面添加如下,这个是VPN端口。
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 1723 -j ACCEPT
保存此规则
 重启防火墙
service iptables restart
重启PPTP服务
service pptpd restart
到此,pptp的配置就已经大功告成了。在此也顺便给大家介绍一下pptp的维护命令,以便出现小故障时候,可以自己处理。
service pptpd start #启动pptp
 service pptpd stop #停止pptp
 service pptpd restart #重启pptp
 service pptpd restart-kill #重启pptp, 并且断开所有已经连接的用户
service pptpd status #查看pptp目前状态

(责任编辑:IT)
------分隔线----------------------------