linux「Red Hat 6.2/centos」下PPTP VPN的搭建过程

作者 : 开心源码 本文共4369个字,预计阅读时间需要11分钟 发布时间: 2022-05-12 共280人阅读

1、我的系统环境【避免因为系统环境的不同,导至试验的失败】

[root@bbs ~]# cat /etc/redhat-release

Red Hat Enterprise Linux Server release 6.2 (Santiago)

[root@bbs ~]#

[root@bbs ~]# uname -a

Linux bbs.wyf.cn 2.6.32-220.el6.x86_64 #1 SMP Wed Nov 9 08:03:13 EST 2011 x86_64 x86_64 x86_64 GNU/Linux

[root@bbs ~]#

[root@bbs ~]# uname -r

2.6.32-220.el6.x86_64

[root@bbs ~]#

[root@bbs ~]# uname -m

x86_64

[root@bbs ~]#

2、检测能否符合PPTP的搭建环境的要求:

[root@bbs ~]#

[root@bbs ~]# modprobe ppp-compress-18 && echo ok

ok

[root@bbs ~]# cat /dev/net/tun

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

通过上述检查后,则表示通过,可以安装pptp ,否则就只能考虑openvpn 了。

3.安装ppp

PPTPD要求Linux内核支持mppe,一般来说CentOS安装时已经包含了。CentOS默认安装了iptables和ppp,我们要先查看已经安装的ppp的版本,再去找对应的pptpd版本。ppp版本查看命令如下:

[root@bbs ~]#

[root@bbs ~]# rpm -qa ppp

ppp-2.4.5-5.el6.x86_64

[root@bbs ~]#

ppp和pptpd各个版本下载地址:

http://poptop.sourceforge.net/yum/stable/packages/。在这里肯定要下载ppp对应的pptpd版本,不然会出错。

我所需要下载的版本为pptpd-1.4.0-1.el6.x86_64.rpm,下载及安装命令如下:

[root@bbs vpn]#

下载 wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.4.0-1.el6.x86_64.rpm

–2018-04-1016:53:20– http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.4.0-1.el6.x86_64.rpm

Resolving poptop.sourceforge.net… 216.105.38.10

Connecting to poptop.sourceforge.net|216.105.38.10|:80… connected.

HTTP request sent, awaiting response… 200 OK

Length: 76180 (74K) [application/x-rpm]

Saving to: `pptpd-1.4.0-1.el6.x86_64.rpm'

100%[========================>] 76,180 168K/s in 0.4s

2018-04-10 16:53:21 (168 KB/s) – `pptpd-1.4.0-1.el6.x86_64.rpm' saved [76180/76180]

[root@bbs vpn]#

[root@bbs vpn]# ll

total 76

-rw-r–r– 1 root root 76180 Oct 26 2013 pptpd-1.4.0-1.el6.x86_64.rpm

[root@bbs vpn]#

开始安装

[root@bbs vpn]#

[root@bbs vpn]# rpm -ivh pptpd-1.4.0-1.el6.x86_64.rpm

warning: pptpd-1.4.0-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 862acc42: NOKEY

Preparing… ########################################### [100%]

1:pptpd ########################################### [100%]

[root@bbs vpn]#

修改配置文件

1)配置文件/etc/ppp/options.pptpd

[root@bbs ppp]# cp /etc/ppp/options.pptpd /etc/ppp/options.pptpd.bak

[root@bbs ppp]# vim /etc/ppp/options.pptpd

将下面的内容增加到option.pptpd 文件中:

ms-dns 211.***.***.3

ms-dns 114.114.114.114

而后保存退出。:wq!

2)配置文件/etc/ppp/chap-secrets

[root@bbs ppp]#

[root@bbs ppp]# cp /etc/ppp/chap-secrets /etc/ppp/chap-secrets.bak? 对chap-secrets文件进行备份。

修改配置文件chap-secrets

[root@bbs ppp]# vim chap-secrets

# Secrets for authentication using CHAP

# client server secret IP addresses

chengwei pptpd chewei123 *

ggg pptpd ggg123 *

client处是VPN账号,server处是pptpd,secret处是VPN的密码,IP address处填上*(星号表示对任意IP,记住不要丢了这个星号。)

3)配置文件/etc/pptpd.conf,命令如下所示:

[root@bbs etc]# cp /etc/pptpd.conf /etc/pptpd.conf.bak

[root@bbs etc]#

[root@bbs etc]# vim /etc/pptpd.conf

localip 192.168.10.21

remoteip 192.168.10.220-240 ? 表示vpn 用户端取得ip 地址范围。

pptpd.conf这个配置文件必需保证最后是以空行结尾才行,否则会导致启动pptpd服务时,出现“Starting pptpd:”,一直卡着不动的问题,无法启动服务,切记呀!

4)配置文件/etc/sysctl.conf

[root@bbs etc]# vim /etc/sysctl.conf

将net.ipv4.ip_forward = 0 改成 net.ipv4.ip_forward = 1。保存修改的文件,而后执行如下命令:

[root@bbs etc]# /sbin/sysctl -p

net.ipv4.ip_forward = 1

net.ipv4.conf.default.rp_filter = 1

net.ipv4.conf.default.accept_source_route = 0

kernel.sysrq = 0

kernel.core_uses_pid = 1

net.ipv4.tcp_syncookies = 1

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

kernel.msgmnb = 65536

kernel.msgmax = 65536

kernel.shmmax = 68719476736

kernel.shmall = 4294967296

sysctl -P 报错处理办法

[root@bbs etc]#

[root@bbs etc]# modprobe bridge

[root@bbs etc]# lsmod|grep bridge

bridge 79790 0

stp 2173 1 bridge

llc 5642 2 bridge,stp

[root@bbs etc]#

启动pptp vpn 服务

[root@bbs etc]# /etc/init.d/pptpd start 或者者 service pptpd start

经过前面步骤,我们的VPN已经可以拨号登录了,但是还不能访问任何网页。最后一步就是增加iptables转发规则了。我的规则如下:

[root@bbs ~]# /sbin/iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -p tcp –dport 1723 -j SNAT –to-source 111.***.***.224

[root@bbs ~]# iptables -t nat -A POSTROUTING -o eth0 -s 192.168.10.0/24 -j SNAT --to-source 111.***.***.224 (填写自己的VPS网卡IP)? 【本条忽略,可以用上面那一调规则】192.168.10.0/24 为vpn 服务器的ip 网段, 111.***.***.130 为外网ip[root@bbs ~]# iptables -I INPUT 1 -p gre -j ACCEPT[root@bbs ~]# iptables -I INPUT 1 -p tcp -m tcp --dport 1723 -j ACCEPT[root@bbs ~]#iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT (一般不执行,防火墙默认设置)[root@bbs ~]# iptables -A FORWARD -s 192.168.10.0/24 -o eth0 -j ACCEPT[root@bbs ~]# iptables -A FORWARD -d 192.168.10.0/24 -i eth0 -j ACCEPT

注意上面规则增加中的eth0这个是网卡,不同的电脑是不相同的,可以用命令ifconfig查看得到。规则增加完毕之后,先保存一下增加的规则,而后再启动iptables了。命令如下:

/etc/init.d/iptables saveservice iptables start最后,我们可以设置pptpd和iptables随系统自启动。命令如下图所示:chkconfig pptpd onchkconfig iptables on

到此为止,PPTP VPN就配置完成了

注意:

在内网网关做下端口映射,将内网pptp的1723端口映射到公网ip上,这样我们即可以通过远程连接pptp来建立vpn了。

用户端配置将在下一篇中详情。

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » linux「Red Hat 6.2/centos」下PPTP VPN的搭建过程

发表回复