CentOS系统中使用pptp架设vpn的方法




CentOS系统中使用pptp架设vpn的方法

2022-07-20 21:07:49 网络知识 官方管理员

系统环境为CentOS6.5(32位Minimal版)操作系统(CentOS-6.5-i386-minimal.iso)
下载地址为http://mirrors.163.com/centos/6.5/isos/i386/CentOS-6.5-i386-minimal.iso

首先配置VPN需要安装相关的软件:
yuminstall-ywgetperlppp

使用wget下载VPN安装程序
wgethttp://poptop.sourceforge.net/yum/stable/packages/pptpd-1.4.0-1.el6.i686.rpm

使用rpm安装
rpm-ivhpptpd-1.4.0-1.el6.i686.rpm

配置VPN中的DNS服务器
cat>>/etc/ppp/options.pptpd<<EOF
ms-dns8.8.8.8
ms-dns8.8.4.4
EOF

配置VPN中分配的IP地址
cat>>/etc/pptpd.conf<<EOF
localip172.16.0.1
remoteip172.16.0.2-254
EOF

配置VPN中和帐号和密码
cat>>/etc/ppp/chap-secrets<<EOF
pcvpnpptpd123456*
EOF

设置清空防火墙使VPN用户可以连接
serviceiptablesstart
iptables-F
iptables-X
iptables-Z
serviceiptablessave

配置NAT转换使VPN用户可以访问外网
iptables-tnat-APOSTROUTING-oeth0-s172.16.0.0/24-jMASQUERADE
sed-i"s/net.ipv4.ip_forward=0/net.ipv4.ip_forward=1/g"/etc/sysctl.conf
sysctl–p

启动VPN服务并设置为自启动
servicepptpdstart
chkconfigpptpdon

到这一步,VPN服务器就配置成功了,可以使用帐号pcvpn密码123456登陆使用了。

下面是其他网友的补充

好了,直奔主题,我使用的系统是centos5.6

首先约定好,以下代码中#...及其以后的内容为注释,可不复制.示例代码中如何修改的文件里已经存在可以修改成示例那样,如果没有请添加.

1:安装依赖软件,直接yum:

yummakecache
yum-yupdate
yum-yinstallpppwgetiptablesiptables-develperl
解释:pptp依赖ppp和iptables运作,同时需要perl库.

2:安装pptp:

32位系统:
wgethttp://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.rhel5.i386.rpm
rpm-ivhpptpd-1.3.4-2.rhel5.i386.rpm

64位系统:
wgethttp://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.rhel5.x86_64.rpm
rpm-ivhpptpd-1.3.4-2.rhel5.x86_64.rpm


32位系统:


wgethttp://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpm
64位操作系统.
wgethttp://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.x86_64.rpm


3:pptp配置

vi/etc/pptpd.conf
localip192.168.2.1
remoteip192.168.2.2-192.168.2.250
解释下:localip是pptp使用的ip,可以随意;remoteip链接到vpn的用户分配到ip的访问,和localip同一个网段即可.

vi/etc/ppp/options.pptpd
ms-dns8.8.8.8
ms-dns208.67.222.222
解释:设置链接到vpn的用户如果访问网络时使用的dns,和他们自己电脑与服务器设置的dns没任何关系.

vi/etc/ppp/chap-secrets
testpptpd123456*
解释:这是链接vpn的用户密码,每行一个,代表一个用户.
格式说明:第一列为用户,依次是服务器名称,密码和ip,中间使用一个空格或者tab隔开.
用户和密码可随意,服务器名(pptpd)不要改,后面的*代表ip由pptpd自动分配

vi/etc/sysctl.conf
net.ipv4.ip_forward=1
/sbin/sysctl-p#能让设置立即生效
解释:开启ip转发.

4:iptables设置

如果你的服务器没有/etc/sysconfig/iptables文件这个文件,可以创建他,输入一下内容,这是默认的规则.
#Firewallconfigurationwrittenbysystem-config-securitylevel
#Manualcustomizationofthisfileisnotrecommended.
*filter
:INPUTACCEPT[0:0]
:FORWARDACCEPT[0:0]
:OUTPUTACCEPT[0:0]
:RH-Firewall-1-INPUT-[0:0]
-AINPUT-jRH-Firewall-1-INPUT
-AFORWARD-jRH-Firewall-1-INPUT
-ARH-Firewall-1-INPUT-ilo-jACCEPT
-ARH-Firewall-1-INPUT-picmp--icmp-typeany-jACCEPT
-ARH-Firewall-1-INPUT-p50-jACCEPT
-ARH-Firewall-1-INPUT-p51-jACCEPT
-ARH-Firewall-1-INPUT-pudp--dport5353-d224.0.0.251-jACCEPT
-ARH-Firewall-1-INPUT-pudp-mudp--dport631-jACCEPT
-ARH-Firewall-1-INPUT-ptcp-mtcp--dport631-jACCEPT
-ARH-Firewall-1-INPUT-mstate--stateESTABLISHED,RELATED-jACCEPT
-ARH-Firewall-1-INPUT-ptcp-mstate--stateNEW-mtcp--dport22-jACCEPT
-ARH-Firewall-1-INPUT-ptcp-mstate--stateNEW-mtcp--dport80-jACCEPT
-ARH-Firewall-1-INPUT-jREJECT--reject-withicmp-host-prohibited
COMMIT

保存退出后重启iptables,并备份默认规则.

cp/etc/sysconfig/iptables{,.bak}
serviceiptablesstart
设置客户端分配的公网ip,就是使用vpn访问网站的时候体现出来的ip
iptables-tnat-APOSTROUTING-s192.168.2.0/255.255.255.0-jSNAT--to-source192.168.1.108(pptpd服务器的IP)

serviceiptablessave#保存上面设置的规则
serviceiptablesrestart

解释:我是局域网设置的,且只有一个ip就是192.168.1.108,如果是独立外网ip,替换成你的外网ip.
如果你的服务器有多个网卡,这个ip可以是任何一个.

vi/etc/sysconfig/iptables
#在-ARH-Firewall-1-INPUT-pudp-mudp--dport631-jACCEPT前面添加如下,这个是DNS的端口,不设置的话,用户即使能连上vpn,也只能上qq,不能访问网络.

-ARH-Firewall-1-INPUT-pudp-mudp--dport53-jACCEPT
#在-ARH-Firewall-1-INPUT-ptcp-mstate--stateNEW-mtcp--dport80-jACCEPT后面添加如下

-ARH-Firewall-1-INPUT-ptcp-mstate--stateNEW-mtcp--dport1723-jACCEPT
保存退出,重启iptables,启动pptp.

serviceiptablesrestart
servicepptpdstart
这个时候尝试连接你的服务器,并使用test123456登录一个就可以访问一些网站了.

常用命令:

serviceiptablessava#保存规则
serviceiptablesstart#启动iptables
serviceiptablesstop#停止iptables
serviceiptablesrestart#重启iptables

servicepptpdstart#启动pptp
servicepptpdstop#停止pptp
servicepptpdrestart#重启pptp
servicepptpdrestart-kill#重启pptp,并且断开所有已经连接的用户
servicepptpdstatus#查看pptp目前状态

chkconfigpptpdon#设置自动启动
chkconfigiptableson#设置自动启动


发表评论:

最近发表
网站分类
标签列表