VPN的英文全称是“Virtual Private
Network”,翻译过来就是“虚拟专用网络”。顾名思义,虚拟专用网络我们可以把它理解成是虚拟出来的企业内部专线。它可以通过特殊的加密的通讯协议
在连接在Internet上的位于不同地方的两个或多个企业内部网之间建立一条专有的通讯线路,就好比是架设了一条专线一样,但是它并不需要真正的去铺设
光缆之类的物理线路。这就好比去电信局申请专线,但是不用给铺设线路的费用,也不用
购买
路由器等硬件设备。VPN技术原是路由器具有的重要技术之一,目前在交换机,防火墙设备或Windows等软件里也都支持VPN功能,一句话,VPN的核心就是在利用公共网络建立虚拟私有网。
虚拟专用网(VPN)被定义为通过一个公用网络(通常是因特网)建立一个临时的、安全的连接,是一条穿过混乱的公用网络的安全、稳定的隧道。虚拟专用网
是对企业内部网的扩展。虚拟专用网可以帮助远程用户、公司分支机构、商业伙伴及供应商同公司的内部网建立可信的安全连接,并保证数据的安全传输。虚拟专用
网可用于不断增长的移动用户的全球因特网接入,以实现安全连接;可用于实现企业网站之间安全通信的虚拟专用线路,用于经济有效地连接到商业伙伴和用户的安
全外联网虚拟专用网。
PPTP 全称为 Point to Point Tunneling Protocol -- 点到点隧道协议,是VPN协议中的一种。
一、CentOS 5.3 下 PPTP VPN 服务器安装
1、安装相关软件
yum install -y ppp iptables
wget
http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-1.rhel5.1.i386.rpm
rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm
Kernel
version 2.6.15 or above has MPPE built-in which is required for
MSCHAPv2. CentOS 5 kernel version is 2.6.18 that means you do not need
to install the MPPE module.
CentOS 5 comes with ppp-2.4.4-1.el5 and it is MPPE support enabled.
Run the command below to test if your kernel supports MPPE and you should get a return an “ok”: -
#modprobe ppp-compress-18 && echo ok
检查PPP是否支持MPPE
用以下命令检查PPP是否支持MPPE:
#strings '/usr/sbin/pppd' |grep -i mppe | wc --lines
如果以上命令输出为“0”则表示不支持;输出为“30”或更大的数字就表示支持。
2、配置文件编写
①、配置文件/etc/ppp/options.pptpd
vi /etc/ppp/options.pptpd
输入以下内容:
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
lock
nobsdcomp
novj
novjccomp
nologfd
②、配置文件/etc/ppp/chap-secrets
mv /etc/ppp/chap-secrets /etc/ppp/chap-secrets.bak
vi /etc/ppp/chap-secrets
输入以下内容
# Secrets for authentication using CHAP
# client server secret IP addresses
myusername pptpd mypassword *
注:这里的myusername和mypassword即为PPTP VPN的登录用户名和密码
③、配置文件/etc/pptpd.conf
mv /etc/pptpd.conf /etc/pptpd.conf.bak
vi /etc/pptpd.conf
输入以下内容:
option /etc/ppp/options.pptpd
logwtmp
localip 192.168.9.1
remoteip 192.168.9.11-30
注:为拨入VPN的用户动态分配192.168.9.11~192.168.9.30之间的IP
④、配置文件/etc/sysctl.conf
mv /etc/sysctl.conf /etc/sysctl.conf.bak
vi /etc/sysctl.conf
修改以下内容:
net.ipv4.ip_forward = 1
保存、退出后执行:
/sbin/sysctl -p
3、启动PPTP VPN 服务器端:
Run the following command to enable the pptpd to start automatically in runlevel 3 and 5 as below: -
chkconfig --level 35 pptpd on
/sbin/service pptpd start
4、启动iptables:
/sbin/service iptables start
/sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.9.0/24 -j MASQUERADE
5、
打开防火墙端口
将Linux服务器的1723端口和47端口打开,并打开GRE协议。
#/sbin/iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
#/sbin/iptables -A INPUT -p tcp --dport 47 -j ACCEPT
#/sbin/iptables -A INPUT -p gre -j ACCEPT
二、Linux的客户端连接到该vpn
在centos下搭建了一个基于pptpd的vpn,Linux的客户端连接到该vpn的配置方法:
1.确认内核是否在2.6.15之后,如果早于该版本,需要安装MPPE
2.确认是否安装ppp
#rpm -qa | grep ppp
如果没有,需要安装ppp的rpm,CentOS光盘中有
#rpm -ivh ppp-2.4.4-2.el5.i386.rpm
3.安装客户端pptd(http://pptpclient.sourceforge.net)
#rpm -ivh ./pptp-1.7.2-3.rhel5.i386.rpm
4.配置
# pptpsetup --create tunnelname --server xxx.xxx.xxx.xxx--username 用户名 --password 密码 --encrypt
5. 连接
# pppd call tunnelname
6. 断开
# killall pppd
注意事项:
在处理路由的时候采用client to lan方式,需要增加对方lan的路由或者目标网络的路由.
# route add -net 192.168.39.0 netmask 255.255.255.0 dev ppp0
ppp0是pptp连接的名字, 如果不确定 可以使用ifconfig命令查看
7.启动脚本
#!/bin/bash
#pptp.sh
E_NOARGS=65
if [ -z "$1" ] || [ "$#" -ne 1 ];then
echo "Usage:`basename $0` start|stop"
exit $E_NOARGS
fi
case "$1" in
start)
cd /etc/ppp/peers/;pppd call vpn
echo "pppd start Success!!!"
;;
stop)
killall pppd
echo "pppd end Sucess!!!"
;;
*) echo "Usage:`basename $0` start|stop"
;;
esac
分享到:
相关推荐
Centos5.3 下安装Oracle 11g
CentOS 5.3下安装ispCP教程CentOS 5.3下安装ispCP教程CentOS 5.3下安装ispCP教程CentOS 5.3下安装ispCP教程
CentOS5.3挂载NTFS CentOS5.3挂载NTFS
centos5.3 配置DNS详解centos5.3 配置DNS详解centos5.3 配置DNS详解centos5.3 配置DNS详解
CentOS5.3系统CentOS5.3系统
LINUX操作系统_CentOS5.3_超详细的安装图文教程.doc
CentOS5.3下安装oracle10G超详细
CentOS 5.3安装Postfix+Extmail邮件服务器.pdf
CentOS5.3下JDK1.5的最完整安装过程。
CentOS 5.3下vsftp创建新用户
此文件由wdlinux收集,整理了centos5.3至5.8DVD版32_64位系统种子码
Centos5.3安装lm_sensors_cpu温度监控 Centos5.3安装lm_sensors_cpu温度监控
阿里云服务器centos+apache+php5.3+mysql+Zend Guard Loader+memcached+ftp环境搭建笔记
Centos5.3安装oracle10g过程 详细
Centos5.3下搭建OpenERP平台
CentOS5.3_05_mysql安装
资料用截图显示出centos5.3的安装步骤
CentOS5.3+Nginx0.7.57+Postfix+Extmail邮件系统安装配置
This Course will provide the basic tools, skills and practice to configure, secure and maintain Linux servers.