有些朋友购买了美国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) |