本文将带您了解关于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)服务
- 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)服务
由于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 服务器
一、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
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
详细安装教程:
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
本教程适用于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的相关信息,可以在本站进行搜索。
本文标签: