pptpd搭建

VPN的英文全称是“Virtual Private Network”,翻译过来就是“虚拟专用网络”。顾名思义,虚拟专用网络我们可以把它理解成是虚拟出来的企业内部专线。它可以通过特殊的加密的通讯协议在连接在Internet上的位于不同地方的两个或多个企业内部网之间建立一条专有的通讯线路,就好比是架设了一条专线一样,但是它并不需要真正的去铺设光缆之类的物理线路。这就好比去电信局申请专线,但是不用给铺设线路的费用,也不用购买路由器等硬件设备。

  1. 检查服务器是否有必要的支持.如果检查结果没有这些支持的话,是不能安装pptp的,执行指令:

#modprobe ppp-compress-18 && echo ok

这条执行执行后,显示”ok”则表明通过.不过接下来还需要做另一个检查,输入指令:

#cat /dev/net/tun

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

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

上述两条均通过,才能安装pptp.否则就只能考虑openvpn,或者请你的服务商来解决这个问题.

步骤阅读

2. 安装ppp和iptables(iptables可选).默认情况下,完整的CentOS是带有这两个组件的,但是精简版的系统可能没有.我们输入下面的命令来确认,如果没有则进行安装,有的话系统不会做任何动作:

#yum install -y ppp iptables

1.3. 安装pptp.这个软件在yum源里是没有的,我们需要手动下载,我们先切换到tmp目录:

#cd /tmp

然后执行下面的命令来下载pptp安装包:

#wget http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpm (32位系统使用)

#wget http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.x86_64.rpm (64位系统使用)

如果你的CentOS是32位的,则执行32位的那条指令;如果是64位的CentOS,则执行64位的那条指令.

接下来安装pptp,同样分32位和64位系统:

#rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm (32位系统使用)

#rpm -ivh pptpd-1.3.4-1.rhel5.1.x86_64.rpm (64位系统使用)

2.配置pptp.首先我们要编辑/etc/pptpd.conf文件:

#vim /etc/pptpd.conf

找到”locapip”和”remoteip”这两个配置项,将前面的”;”注释符去掉,更改为你期望的IP段值.localip表示服务器的IP,remoteip表示分配给客户端的IP地址,可以设置为区间.这里我们使用pptp默认的配置:

localip 192.168.0.1

remoteip 192.168.0.234-238,192.168.0.245

注意,这里的IP段设置,将直接影响后面的iptables规则添加命令.请注意匹配的正确性,如果你嫌麻烦,建议就用本文的配置,就可以一直复制命令和文本使用了.

接下来我们再编辑/etc/ppp/options.pptpd文件,为VPN添加Google DNS:

#vim /etc/ppp/options.pptpd

在末尾添加下面两行:

ms-dns 8.8.8.8

ms-dns 8.8.4.4

3.设置pptp VPN账号密码.我们需要编辑/etc/ppp/chap-secrets这个文件:

#vim /etc/ppp/chap-secrets

在这个文件里面,按照”用户名 pptpd 密码 *”的形式编写,一行一个账号和密码.比如添加用户名为test,密码为1234的用户,则编辑如下内容:

test pptpd 1234 *

4.修改内核设置,使其支持转发.编辑/etc/sysctl.conf文件:

#vim /etc/sysctl.conf

将”net.ipv4.ip_forward”改为1,变成下面的形式.

net.ipv4.ip_forward=1

保存退出,并执行下面的命令来生效它:

#sysctl -p

5.添加iptables转发规则.经过前面的6个步骤,我们的VPN已经可以拨号了,但是还不能访问任何网页.最后一步就是添加iptables转发规则了,输入下面的指令:

#iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

需要注意的是,这个指令中的”192.168.0.0/24″是根据之前的配置文件中的”localip”网段来改变的,比如你设置的”10.0.0.1″网段,则应该改为”10.0.0.0/24″.此外还有一点需要注意的是eth0,如果你的外网网卡不是eth0,而是eth1(比如SoftLayer的服务器就是这样的情况),那么请记得将eth0也更改为对应的网卡编号,不然是上不了网的.

然后我们输入下面的指令让iptables保存我们刚才的转发规则,以便重启系统后不需要再次添加:

#/etc/init.d/iptables save

然后我们重启iptables:

#/etc/init.d/iptables restart

6.重启pptp服务.输入下面的指令重启pptp:

#/etc/init.d/pptpd restart

现在你已经可以连接自己的VPN并浏览网页了.不过我们还需要做最后的一步.

7.设置开机自动运行服务.我们最后一步是将pptp和iptables设置为开机自动运行,这样就不需要每次重启服务器后手动启动服务了,当然你不需要自动启动服务的话可以忽略这一步,输入指令:

#chkconfig pptpd on

#chkconfig iptables on

这样就大功告成了,赶快到Windows下建立一个VPN连接,IP填写自己的服务器IP,用户名和密码填写自己设置好的用户名和密码,点击”连接”,成功后就可以使用服务器去浏览网页啦.

备注:

多ip服务器转发指定规则

iptables -t nat -A POSTROUTING -s 192.168.8.0/24 -j SNAT --to-source 192.168.8.1

or

iptables -t nat -A POSTROUTING -s 192.168.8.0/24 -j SNAT --to-source 服务器外网ip

如果iphone之类的设备能连上,访问网页或者youtube特别慢,需要做如下修改:

vi /etc/ppp/ip-up

增加一行

/sbin/ifconfig $1 mtu 1400

或者修改iptables规则

iptables -A FORWARD -p tcp --syn -s 192.168.8.0/24 -j TCPMSS --set-mss 1356

1356的值可能需要自己调整,调节到能保证网络正常使用情况下的最大值。

排错过程:

1,Vpn  本地连上了,但是dns 无法解析,ping了下dns服务器8.8.8.8 发现能通,telnet  8.8.8.8 53 端口发现通不了。把防火墙的deny  all 关掉后又可以,后台发现防火墙有两条input的链,Chain RH-Firewall-1-INPUT先于INPUT生效,于是在Chain RH-Firewall-1-INPUT开发53端口,问题解决。

2,如果vpn连不上,但是telnet 1723 端口能通,说明可能gre 端口没开,用以下命令在服务器上加入策略即可:

iptables -I INPUT -p gre -j ACCEPT

注意:这里最好用-I 而不是-A,因为-A有可能deny all 在你之前生效。

3.如果防火墙策略都没问题,可以用 /etc/init.d/iptable  save写死,免得下次配置又浪费大把时间.

时间: 2024-10-01 06:56:17

pptpd搭建的相关文章

ubuntu下搭建使用pptpd搭建VPN服务器

1.安装pptpd sudo apt-get install pptpd 2.配置内网ip策略 sudo vim /etc/pptpd.conf 在# TAG: localip后增加2行 localip 192.168.0.1 remoteip 192.168.0.234-238,192.168.0.245 3.配置dns sudo vim /etc/ppp/pptpd-options 在#ms-dns后增加2行,也可以配置其他dns ms-dns 8.8.8.8 ms-dns 8.8.4.4

ubuntu下使用pptpd搭建vpn

安装pptpd软件 sudo apt-get install pptpd 配置服务端 1)[/etc/pptpd.conf] localip 192.168.100.1 #服务端地址 remoteip 192.168.100.20-250 #客户端地址池 connections 500 #可使用的连接数量 2)[/etc/ppp/pptpd-options] ms-dns 8.8.8.8 #配置dns ms-dns 8.8.4.4 建立用于登陆的用户名等信息 配置文件[/etc/ppp/chap

centos6 pptpd 搭建-log

我使用vpn_centos6.sh 安装pptpd.安装完后在win7客户端上能够连接上vpn,但是浏览器上不了网. 1)我先是开启了pptpd的debug模式 编辑/etc/pptpd.conf,将debug前的# 去掉 编辑/etc/ppp/options.pptpd,将debug; dump前的# 去掉 再执行 service pptpd restart 2)pptp日志与系统日志分离 编辑/etc/rsyslog.conf daemon.*            /var/log/ppt

Ubuntu pptpd 搭建自动化shell脚本

</pre><pre name="code" class="html">#!/bin/bash ## pptp.sh is writed by Misost. ## Auto install and config pptpd vpn server ## Update system and install pptp sudo apt-get -y update sudo apt-get -y install ppp pptpd ## get i

linux pptpd vpn配置

介绍在centos上使用pptpd搭建vpn的方法. 安装并配置pptpd 安装pptpd yum install pptpd 修改pptpd的配置文件/etc/pptpd.conf,将以下两行的注释符#去掉: localip 120.24.22.100 remoteip 10.0.0.100 修改PPPD DNS配置 在/etc/ppp/options.pptpd添加Google的Public DNS: ms-dns 8.8.8.8 ms-dns 8.8.4.4 可以使用man pppd查看p

centos 7搭建vpn(pptpd)服务器 (只限centos 7)

第一步:首先检查ppp是否开启  若使用XEN构架的VPS,此步骤不用执行 终端输入命令:cat /dev/ppp 开启成功的标志:No such file or directory 或者 No such device or address,如果显示No such device or address则表示继续 第二步:安装组件 安装组件之前,先更您yum源,以防错误:http://www.wanghailin.cn/scka/centos7-yum-pero/ 终端依次运行下列命令: a) yu

腾讯云主机(CentOS7)搭建pptpd VPN

一直以来觉得pptpd不大好用,特别是在国内,运营商对它有诸多限制,但openvpn对初学者来说还是有点难度.今天恰好有个朋友问到如何能够简单便捷的搭建pptpd vpn,我跟他讲了下思路,发现他还是不能理解,如是有了接下来的操作. 一.服务端的配置: 1.安装并查看pptpd [[email protected]_17_139_centos ~]# yum -y install pptpd [[email protected]_17_139_centos ~]# rpm -ql pptpd /

Linux系统搭建远程拔号之VPN(pptpd)

VPN 即 虚拟专用网络. 虚拟专用网络功能是:在公用网络上建立专用网络,进行加密通讯.在企业网络中有广泛应用.VPN网关通过对数据包的加密和数据包目标地址的转换实现远程访问.VPN有多种分类方式,主要是按协议进行分类.VPN可通过服务器.硬件.软件等多种方式实现.VPN具有成本低,易于使用的特点. 1.安装依赖包 yum install ppp -y 2.下载pptpd服务软件包 wget ftp://rpmfind.net/linux/epel/6/x86_64/pptpd-1.4.0-3.

通过Amazon EC2来搭建基于pptpd协议的VPN服务器

近期注册了AWS提供了一年的免费服务,由于国内不能上goole,我们在这里来搭建一个属于自己的vpn服务器,让我们可以随时进行goole以及一些国内限制网站的访问,使用AWS云服务器为Red Hat Enterprise Linux -RHEL- 6-6-5_GA-AutogenByAWSMP作为搭建环境. 使用YUM安装pptp服务 [root@ip-172-31-1-128 ~]# yum install ppp [root@ip-172-31-1-128 ~]# cd /usr/local