linux之vpn服务器配置

实验环境,示意图如下

其中pptpd-1.4.0.tar.gz下载地址如下:

http://sourceforge.net/projects/poptop/files/pptpd/pptpd-1.4.0/pptpd-1.4.0.tar.gz/download

一:编译安装和配置pptpd

1.RHEL5.8默认已经安装了ppp,同时内核也提供了对mppe的支持

[root@vpn~]# rpm -qa |grep ppp

ppp-2.4.4-2.el5

rp-pppoe-3.5-32.1

[root@vpn~]# modprobe -l |grep mppe

/lib/modules/2.6.18-308.el5/kernel/drivers/net/ppp_mppe.ko

[root@vpn~]#

2.编译pptpd

[root@vpnpptpd-1.4.0]# ./configure \

–prefix=/usr/local/pptpd \

–sysconfdir=/etc/pptpd \

–enable-bcrelay \

–with-libwrap

[root@vpnpptpd-1.4.0]# make

[root@vpnpptpd-1.4.0]# make install

[root@vpnpptpd-1.4.0]# mkdir /etc/pptpd

注:RHEL6默认没有安装ppp,首先要安装ppp,同时还要安装ppp-devel(如果不安装make的时候会报错),SLES11已经提供了pptpd的安装包,可以直接安装

3.复制配置文件到相应的目录下

[root@vpnpptpd-1.4.0]# cp samples/pptpd.conf /etc/pptpd/

[root@vpnpptpd-1.4.0]# cp samples/options.pptpd /etc/ppp/

[root@vpnpptpd-1.4.0]# cp samples/chap-secrets /etc/ppp/

4.pptpd.conf配置文件如下

[root@vpn~]# grep -v "^#" /etc/pptpd/pptpd.conf

option/etc/ppp/options.pptpd//指定了ppp的相关选项文件位置

logwtmp //使用wtmp记录客户的连接情况

connections5 //最大连接数限制为5个

localip192.168.0.234-238//对应上面的最大连接数

remoteip10.0.1.234-238 //对应上面的最大连接数,网段可以和内网IP网段不一样

[root@vpn~]#

5. ppp选项文件options.pptpd保持默认配置即可

[root@vpnpptpd-1.4.0]# grep -v "^#" /etc/ppp/options.pptpd

namepptpd

refuse-pap

refuse-chap

refuse-mschap

require-mschap-v2 //要求身份验证使用“微软挑战应答协议-版本2”

require-mppe-128 //要求数据传输采用MPPE 128的位RC4加密算法

proxyarp

lock

nobsdcomp

novj

novjccomp

nologfd

#ms-dns10.0.0.1

#ms-dns10.0.0.2

[root@vpnpptpd-1.4.0]#

6.创建一个测试用户wjc,密码为123456

[root@vpnpptpd-1.4.0]# grep -v "^#" /etc/ppp/chap-secrets

#用户 服务器(固定为pptpd) 用户密码 IP地址(*可以使用所有IP地址)

wjcpptpd 123456 *

[root@vpnpptpd-1.4.0]#

7.创建pptpd的命令连接

[root@vpn~]# ln -s /usr/local/pptpd/sbin/* /usr/local/sbin/

8.创建pptpd-logwtmp.so模块到/usr/lib/pptpd目录的连接(不然客户连接会失败,日志提示为不能载入pptpd-logwtmp.so模块)

[root@vpn~]# mkdir /usr/lib/pptpd/

[root@vpn~]# ln -s /usr/local/pptpd/lib/pptpd/pptpd-logwtmp.so /usr/lib/pptpd/

9.开启数据包转发功能

[root@vpn~]# cat /etc/sysctl.conf |grep net.ipv4.ip_forward

net.ipv4.ip_forward= 1

[root@vpn~]#

10.创建pptpd启动脚本,内容如下所示

#!/bin/bash

#

# Init file for VPN server daemon

#

# chkconfig: 2345 56 26

# description: VPN server daemon

#

# processname: pptpd

# config: /etc/pptpd/pptpd.conf

# pidfile: /var/run/pptpd.pid

# source function library

. /etc/rc.d/init.d/functions

# pull in sysconfig settings

[ -f /etc/sysconfig/pptpd ]&& . /etc/sysconfig/pptpd

RETVAL=0

prog="pptpd"

# Some functions to make thebelow more readable

PPTPD=/usr/local/pptpd/sbin/pptpd

CONFIG=/etc/pptpd/pptpd.conf

PID_FILE=/var/run/pptpd.pid

OPTIONS=-c

start()

{

status -p $PID_FILE pptpd >/dev/null

RETVAL=$?

if[ "$RETVAL" = 0 ] ; then

echo"pptpd is already running"

exit

fi

echo-n $"Starting $prog: "

$PPTPD$OPTIONS $CONFIG && success || failure

RETVAL=$?

["$RETVAL" = 0 ] && touch /var/lock/subsys/pptpd

echo

}

stop()

{

echo-n $"Stopping $prog: "

if[ -n "`pidfileofproc $PPTPD`" ] ; then

killproc $PPTPD

else

failure $"Stopping $prog"

fi

RETVAL=$?

["$RETVAL" = 0 ] && rm -f /var/lock/subsys/pptpd

echo

}

case "$1" in

start)

start

;;

stop)

stop

;;

restart)

stop

start

;;

status)

status-p $PID_FILE pptpd

RETVAL=$?

;;

*)

echo$"Usage: $0 {start|stop|restart|status}"

RETVAL=1

esac

exit $RETVAL

11.加入开机启动并启动pptpd服务

[root@vpn ~]# cp pptpd /etc/init.d/

[root@vpn ~]# chkconfig –add pptpd

[root@vpn ~]# chkconfig pptpd on

[root@vpn ~]# chkconfig –list|grep pptpd

pptpd 0:off 1:off2:on 3:on 4:on5:on 6:off

[root@vpn ~]# /etc/init.d/pptpd start

Starting pptpd: [ OK ]

12.查看进程和监听端口

[root@vpn ~]# ps -eaf |grep pptpd

root 37321 0 20:05 ? 00:00:00 /usr/local/pptpd/sbin/pptpd -c/etc/pptpd/pptpd.conf

root 37383598 0 20:05 pts/0 00:00:00 grep pptpd

[root@vpn ~]# netstat -tulnp|grep 1723

tcp 00 0.0.0.0:17230.0.0.0:* LISTEN 3732/pptpd

[root@vpn ~]#

二:测试VPN

1.在rhel5.8(2)上配置samba,共享目录为share

2.在XP上创建VPN连接

依次选择“开始”—“所有程序”—“附件”—“通讯”—“新建连接向导”,打开“新建连接向导”对话框,直接点击“下一步”,选择“连接到我的工作场所网络”点击“下一步”,选择“虚拟专用网络”点击“下一步”,在公司名称处随便写一个名称如SGI点击“下一步”,在“VPN服务器选择”对话框中输入主机名(如果在网上注册过)或IP地址,这里我们输入上面VPN服务器的public的IP地址192.168.0.113,然后点击“下一步”,勾选“在桌面上创建快捷方式”,最后点击完成,双击桌面SGI快捷方式,出现登录对话框,输入创建的测试用户wjc和密码123456,如下所示

3.点击连接,如果出现下面的提示,就说明连接成功了

4.查看一下获得的IP地址,如下所示,名为PPP的网络适配器的IP:10.0.1.234就是连接VPN后获得的IP地址

5.VPN连接状态如下所示

6.访问rhel5.8(2)的share共享,win+R输入//10.0.1.10,如果出现下图,就说明可以访问内网共享,也证明VPN配置成功

至此VPN配置完成

你会发现,曾经以为很难做到的事情,

linux之vpn服务器配置

相关文章:

你感兴趣的文章:

标签云: