GVKun编程网logo

CentOS6.4搭建pptpd(VPN)服务

11

本文将带您了解关于CentOS6.4搭建pptpd(VPN)服务的新内容,另外,我们还将为您提供关于CentOS5下安装配置PPTPVPN服务器、CentOS6.3配置pptpVPNClient、ce

本文将带您了解关于CentOS6.4搭建pptpd(VPN)服务的新内容,另外,我们还将为您提供关于CentOS 5下安装配置 PPTP VPN 服务器、CentOS 6.3配置pptp VPN Client、centos 6.4 安装VPN服务器pptpd、Centos 6.5 x64 安装 pptpd VPN的实用信息。

本文目录一览:

CentOS6.4搭建pptpd(VPN)服务

CentOS6.4搭建pptpd(VPN)服务

由于centos本身并没有集成PPTP功能,所以需要安装相关组件以让我们的RedHat支持PPTP,根据内核的版本,下载相应的安装包,所用组件如下:

dkms-2.2.0.3-1.noarch.rpm

kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm

  pptpd-1.3.4.tar.gz

1.PPTP需要PPP支持,虽然系统本身有PPP功能,但它并不支持MPPE,所以需要更新系统的PPP组件,

[root@htuidc local]# yum -y install gcc gcc-c++ rpm-build make wget automake

[root@htuidc etc]# yum -y install ppp


2.安装内核MPPE(Microsoft Point to Point Encryption,微软点对点加密)补丁,安装命令如下:

[root@htuidc etc]# rpm -ivh dkms-2.2.0.3-1.noarch.rpm

[root@htuidc etc]# rpm -ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm

用以下命令检查内核MPPE补丁是否安装成功,MPPE module可否载如:

[root@htuidc ~]# modprobe ppp-compress-18 && echo success

success


[root@htuidc etc]# cd /usr/local/src

[root@htuidc src]#tar zxvf pptpd-1.3.4.tar.gz

[root@htuidc src]#cd pptpd-1.3.4

[root@htuidc pptpd-1.3.4]# ./configure --prefix=/usr/local/pptpd

[root@htuidc pptpd-1.3.4]# make && make install

编译安装完成后,首先需要手工建立一些目录以及复制原始的 pptpd 配置文件:

[root@htuidc pptpd-1.3.4]# mkdir /usr/local/pptpd/etc

[root@htuidc pptpd-1.3.4]# vi /usr/local/pptpd/etc/pptpd.conf

填入内容如下:

# pptpd.conf

option /usr/local/pptpd/etc/options.pptpd

debug

stimeout 30

localip 10.0.0.254

remoteip 10.0.0.200-210


说明:

option /usr/local/pptpd/etc/options.pptpd ———— 指定 pptpd 扩展属性配置文件 options.pptpd 的位置。

debug ———— 开启调试模式,有关 pptpd?的信息和错误都会记录在 /var/logs/message 中,方便排错和调试。

stimeout 30 ———— 设置客户端连接 pptpd server 时的最长连接等待时间(连接超时时间),30 秒。

localip 10.0.0.254 ———— pptpd server?所在服务器的 IP 地址,可以设置为服务器上绑定的任意一个 IP 地址。

remoteip 10.0.0.200-210 ———— 设置客户端连接到 pptpd server 后可供分配的 IP 地址范围( 10.0.0.200 ? 10.0.0.210 ),可以这样设置:10.0.0.200-208,10.0.0.209,10.0.0.210,效果是一样的。


[root@htuidc pptpd-1.3.4]# vi /usr/local/pptpd/etc/options.pptpd

填入内容如下:

# options.pptpd

name htu-VPN

refuse-pap

refuse-chap

refuse-mschap

require-mschap-v2

require-mppe-128

ms-dns 202.106.46.151

ms-dns 202.106.0.20

# ms-dns 208.67.222.222 米国用

# ms-dns 208.67.220.220

proxyarp

debug

lock

nobsdcomp

novj

novjccomp

nologfd


说明:

name IsMole-VPN ———— pptpd server 的名称。

refuse-pap ———— 拒绝 pap 身份验证模式。

refuse-chap ———— 拒绝 chap 身份验证模式。

refuse-mschap ———— 拒绝 mschap 身份验证模式。

require-mschap-v2 ———— 在端点进行连接握手时需要使用微软的 mschap-v2 进行自身验证。

require-mppe-128 ———— MPPE 模块使用 128 位加密。

ms-dns 202.106.46.151

ms-dns 202.106.0.20 ———— ppp 为 Windows 客户端提供 DNS 服务器 IP 地址,第一个 ms-dns 为 DNS Master,第二个为 DNS Slave。

proxyarp ———— 建立 ARP 代理键值。

debug ———— 开启调试模式,相关信息同样记录在 /var/logs/message 中。

lock ———— 锁定客户端 PTY 设备文件。

nobsdcomp ———— 禁用 BSD 压缩模式。

novj

novjccomp ———— 禁用 Van Jacobson 压缩模式。

nologfd ———— 禁止将错误信息记录到标准错误输出设备(stderr)。


配置好上面的两个文件后,我们开始添加客户端帐号。

客户端帐号控制文件位于:/etc/ppp/chap-secrets

shell> vi /etc/ppp/chap-secrets

# PPTP User Accounts

# username server_name "password" ip

vpnuser1 IsMole-VPN "123456" 10.0.0.201


三、启动 Pptpd

[root@htuidc pptpd-1.3.4]# /usr/local/pptpd/sbin/pptpd -c /usr/local/pptpd/etc/pptpd.conf -o /usr/local/pptpd/etc/options.pptpd

[root@htuidc pptpd-1.3.4]# netstat -tnlpu|grep pptp

tcp 0 0 0.0.0.0:1723 0.0.0.0:* LISTEN 3719/pptpd

如果tcp的1723端口是打开的,就说明启动OK。


四、打开linux路由转发

echo 1 > /proc/sys/net/ipv4/ip_forward


五、开启10.0.0.0/24段的转发:

[root@htuidc ~]# iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j MASQUERADE

特殊情况注意:

开启pptp vpn转发,vpn服务器和内网路由器

modprobe ip_conntrack_pptp

modprobe ip_nat_pptp


出现的问题:

连接出现如下678错误,是因为防火墙没有开启1723端口允许:

解决办法:

[root@htuidc ~]# iptables -A INPUT -p TCP --dport 1723 --sport 1024:65534 -j ACCEPT


CentOS 5下安装配置 PPTP VPN 服务器

CentOS 5下安装配置 PPTP VPN 服务器

一、centos5下PPTP VPN服务器安装(pptpd VPN需要内核支持mppe)
虚拟专用网(VPN)被定义为通过一个公用网络(通常是因特网)建立一个临时的、安全的连接,是一条穿过混乱的公用网络的安全、稳定的隧道。虚拟专用网是对企业内部网的扩展。虚拟专用网可以帮助远程用户、公司分支机构、商业伙伴及供应商同公司的内部网建立可信的安全连接,并保证数据的安全传输。虚拟专用网可用于不断增长的移动用户的全球因特网接入,以实现安全连接;可用于实现企业网站之间安全通信的虚拟专用线路,用于经济有效地连接到商业伙伴和用户的安全外联网虚拟专用网。
PPTP 全称为 Point to Point Tunneling Protocol -- 点到点隧道协议,是VPN协议中的一种。
配置步骤如下:

1、安装ppp和iptables(如果确认已经安装可以省略)

yum install -y ppp iptables 

2、下载并安装pptpd

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 

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 

3、配置/etc/pptpd.conf

echo localip 192.168.88.1 >> /etc/pptpd.conf echo remoteip 192.168.88.8-88 >> /etc/pptpd.conf 

注:为拨入VPN的用户动态分配192.168.88.8~192.168.88.88之间的IP

添加vpn用户

echo myusername pptpd mynpassword \* >> /etc/ppp/chap-secrets 

注:这里的myusername和mypassword即为PPTP VPN的登录用户名和密码,密码后的*号保留

设置DNS为Google的DNS.

echo ms-dns 8.8.8.8 >> /etc/ppp/options.pptpd echo ms-dns 8.8.4.4 >> /etc/ppp/options.pptpd 

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

sed -i 's/net.ipv4.ip_forward\ =\ 0/net.ipv4.ip_forward\ =\ 1/g' /etc/sysctl.conf 

就是将net.ipv4.ip_forward = 0改为1

运行下面的命令让配置生效。

sysctl -p 

最后开启iptables转发

/sbin/iptables -t nat -A POSTROUTING -s 192.168.88.0/24 -o eth0 -j MASQUERADE 

保存防火墙规则

/etc/init.d/iptables save 

最后设置iptables和pptpd开机自动启动

chkconfig pptpd on chkconfig iptables on 

启动pptpd服务

/etc/init.d/pptpd start 

或者

service pptpd start 

启动成功后就可以使用帐号myusername密码mypassword登录您的pptpdvpn了

二、Windows 下 PPTP VPN 客户端配置

参照图例新建连接

\

CentOS 6.3配置pptp VPN Client

CentOS 6.3配置pptp VPN Client

yum -yinstallppp pptppptp-setup

pptpsetup命令用法及说明:

pptpsetup --create <TUNNEL> --server <ip address/hostname> [--domain <DOMAIN NAME>] --u sername <USERNAME> [--password <PASSWORD>] [--encrypt] [--start]

pptpsetup –delete <TUNNEL> 删除一个节点

pptpsetup --create vpn连接名称 --server VPN服务器IP --username VPN用户名 --password VPN密码

vi /etc/ppp/peers/vpn连接名称

# written by pptpsetup
pty "pptp VPN服务器IP --nolaunchpppd"
lock
noauth
nobsdcomp
nodeflate
name VPN用户名
remotename vpn连接名称
ipparam vpn连接名称

persist #当连接丢失时让pppd再次拨号
require-mppe-128
refuse-pap
refuse-chap
refuse-eap
refuse-mschap

密码修改

/etc/ppp/chap-secrets

cp /usr/share/doc/ppp-2.4.5/scripts/pon /usr/sbin/
cp /usr/share/doc/ppp-2.4.5/scripts/poff /usr/sbin/
chmod +x /usr/sbin/pon /usr/sbin/poff

拨号

pon vpn连接名称

通过pon/poff <tunnel> 来启停VPN连接

查看是否连上

ifconfig

ppp0 Link encap:point-to-point Protocol
inet addr:172.17.196.10 P-t-P:172.17.196.7 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1396 Metric:1
RX packets:102271 errors:0 dropped:0 overruns:0 frame:0
TX packets:61330 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:133137807 (126.9 MiB) TX bytes:3351984 (3.1 MiB)

路由走ppp0

route add -net172.17.196.0netmask 255.255.255.0 dev ppp0

centos 6.4 安装VPN服务器pptpd

centos 6.4 安装VPN服务器pptpd

详细安装教程:


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

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位系统使用)

4、配置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

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

#vim /etc/ppp/chap-secrets

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

test pptpd 1234 *

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

#vim /etc/sysctl.conf

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

net.ipv4.ip_forward=1

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

#sysctl -p

7、添加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

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

#/etc/init.d/pptpd restart

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

9、设置开机自动运行服务.我们最后一步是将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的值可能需要自己调整,调节到能保证网络正常使用情况下的最大值。


Centos 6.5 x64 安装 pptpd VPN

Centos 6.5 x64 安装 pptpd VPN

本教程适用于Openv VPS、Xen VPS或者KVM VPS。@H_301_1@

一、运行如下命令:@H_301_1@

cat /dev/net/tun@H_301_1@

返回的必须是:@H_301_1@

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

运行:@H_301_1@

cat /dev/ppp@H_301_1@

返回的必须是:@H_301_1@

cat: /dev/ppp: No such device or address@H_301_1@

如果上面返回的不是这两个结果的话,请与VPS客服联系开通ppp和tun权限.@H_301_1@

二、下载vpn(CentOS6专用)一键安装包@H_301_1@

wget http://www.hi-vps.com/shell/vpn_centos6.sh
chmod a+x vpn_centos6.sh@H_301_1@

三、运行一键安装包@H_301_1@

bash vpn_centos6.sh@H_301_1@

会有三个选择:@H_301_1@

1. 安装VPN服务
2. 修复VPN
3. 添加VPN用户@H_301_1@

首先输入1,回车,VPS开始安装VPN服务.@H_301_1@

四、添加VPN用户@H_301_1@

bash vpn_centos6.sh@H_301_1@

选择3,然后输入用户名和密码,OK@H_301_1@

五、修复VPN服务@H_301_1@

如果VPN拨号发生错误,可以试着修复VPN,然后重启VPS@H_301_1@

bash vpn_centos6.sh@H_301_1@

选择2,然后reboot@H_301_1@

以上这篇是转自乔大海的,不过有一些细节修改:@H_301_1@

1,随机用户名或密码修改添加:@H_301_1@

编辑“/etc/ppp/chap-secrets”,按照如下,替换红字部分:@H_301_1@

用户名pptpd密码*@H_301_1@

重启即可。@H_301_1@

2,这个一键安装包有些地方重复了,重新修改下:@H_301_1@

#!/bin/bash@H_301_1@

function installVPN(){@H_301_1@

echo "begin to install VPN services";@H_301_1@

#check wether vps suppot ppp and tun@H_301_1@

yum remove -y pptpd ppp@H_301_1@

iptables --flush POSTROUTING --table nat@H_301_1@

iptables --flush FORWARD@H_301_1@

rm -rf /etc/pptpd.conf@H_301_1@

rm -rf /etc/ppp@H_301_1@

arch=`uname -m`@H_301_1@

wget -c http://poptop.sourceforge.net/yum/stable/packages/dkms-2.0.17.5-1.noarch.rpm@H_301_1@

wget -c http://poptop.sourceforge.net/yum/stable/packages/kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm@H_301_1@

wget http://www.hi-vps.com/downloads/pptpd-1.3.4-2.el6.$arch.rpm@H_301_1@

wget http://www.hi-vps.com/downloads/ppp-2.4.5-17.0.rhel6.$arch.rpm@H_301_1@

yum -y install make libpcap iptables gcc-c++ logrotate tar cpio perl pam tcp_wrappers@H_301_1@

rpm -ivh dkms-2.0.17.5-1.noarch.rpm@H_301_1@

rpm -ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm@H_301_1@

rpm -qa kernel_ppp_mppe@H_301_1@

rpm -Uvh ppp-2.4.5-17.0.rhel6.$arch.rpm@H_301_1@

rpm -ivh pptpd-1.3.4-2.el6.$arch.rpm@H_301_1@

mknod /dev/ppp c 108 0@H_301_1@

echo 1 > /proc/sys/net/ipv4/ip_forward@H_301_1@

echo "mknod /dev/ppp c 108 0" >> /etc/rc.local@H_301_1@

echo "echo 1 > /proc/sys/net/ipv4/ip_forward" >> /etc/rc.local@H_301_1@

echo "localip 172.16.36.1" >> /etc/pptpd.conf@H_301_1@

echo "remoteip 172.16.36.2-254" >> /etc/pptpd.conf@H_301_1@

echo "ms-dns 8.8.8.8" >> /etc/ppp/options.pptpd@H_301_1@

echo "ms-dns 8.8.4.4" >> /etc/ppp/options.pptpd@H_301_1@

pass=`openssl rand 6 -base64`@H_301_1@

if [ "$1" != "" ]@H_301_1@

then pass=$1@H_301_1@

fi@H_301_1@

echo "vpn pptpd ${pass} *" >> /etc/ppp/chap-secrets@H_301_1@

iptables -t nat -A POSTROUTING -s 172.16.36.0/24 -j SNAT --to-source `ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk 'NR==1 { print $1}'`@H_301_1@

iptables -A FORWARD -p tcp --syn -s 172.16.36.0/24 -j TCPMSS --set-mss 1356@H_301_1@

service iptables save@H_301_1@

chkconfig iptables on@H_301_1@

chkconfig pptpd on@H_301_1@

service iptables start@H_301_1@

service pptpd start@H_301_1@

echo "VPN service is installed,your VPN username is vpn,VPN password is ${pass}"@H_301_1@

}@H_301_1@

function repaireVPN(){@H_301_1@

echo "begin to repaire VPN";@H_301_1@

mknod /dev/ppp c 108 0@H_301_1@

service iptables restart@H_301_1@

service pptpd start@H_301_1@

}@H_301_1@

function addVPNuser(){@H_301_1@

echo "input user name:"@H_301_1@

read username@H_301_1@

echo "input password:"@H_301_1@

read userpassword@H_301_1@

echo "${username} pptpd ${userpassword} *" >> /etc/ppp/chap-secrets@H_301_1@

service iptables restart@H_301_1@

service pptpd start@H_301_1@

}@H_301_1@

echo "which do you want to?input the number."@H_301_1@

echo "1. install VPN service"@H_301_1@

echo "2. repaire VPN service"@H_301_1@

echo "3. add VPN user"@H_301_1@

read num@H_301_1@

case "$num" in@H_301_1@

[1] ) (installVPN);;@H_301_1@

[2] ) (repaireVPN);;@H_301_1@

[3] ) (addVPNuser);;@H_301_1@

*) echo "nothing,exit";;@H_301_1@

esac@H_301_1@

补充下源码下载地址:http://poptop.sourceforge.net/yum/stable/packages/@H_301_1@

我们今天的关于CentOS6.4搭建pptpd(VPN)服务的分享就到这里,谢谢您的阅读,如果想了解更多关于CentOS 5下安装配置 PPTP VPN 服务器、CentOS 6.3配置pptp VPN Client、centos 6.4 安装VPN服务器pptpd、Centos 6.5 x64 安装 pptpd VPN的相关信息,可以在本站进行搜索。

本文标签: