< 返回

    LINUX系统 VPN服务器pptpd配置教程

    2009-06-24 09:16 作者: 阅读量:2301

    LINUX 下 VPN 服务器 pptpd 配置 经过大半天的拆腾,终于把VPN服务器搞定了,现将具本过程公布出来供大家参考

    一、配置环境

    Linux(2.6.7)(FC2)

    eth0: 192.168.1.8

    eth0:1 192.168.0.1 (手工添加)

    二、所需软件

    1、kernel_ppp_mppe-0.0.4-2dkms.noarch.rpm (MPPE的内核补丁)

    2、dkms-1.12-1.noarch.rpm (升级dkms)

    3、pptpd-1.2.1.tar.gz (pptpd服务软件)

    注:系统必须安装了PPP服务,否则要单独安装

    三、安装软件

    1、首先安装dkms

    rpm -Uvh dkms-1.12-1.noarch.rpm (升级安装)

    2、安装mppe

    rpm -Uvh kernel_ppp_mppe-0.0.4-2dkms.noarch.rpm

    3、安装pptpd

    tar -vxzf pptpd-1.2.1.tar.gz

    cd pptpd-1.2.1

    ./configure

    make

    make install

    安装完成了,现在开始配置

    四、配置服务器

    将pptpd-1.2.1/samples/下的文件

    pptpd.conf 拷贝至/etc下

    chap-secrets 拷贝至/etc/ppp下

    options.pptpd 拷贝至/etc/ppp下

    修改pptpd.conf文件:

    ppp /usr/sbin/pppd

    指定PPP服务程序

    option /etc/ppp/options.pptpd

    指定选项配置

    localip 192.168.1.8

    指定本地IP

    remoteip 192.168.0.10-245

    指定分配的远程IP

    netmask 255.255.255.0

    指定子网掩码

    修改/etc/ppp/options.pptpd文件

    name pptpd

    auth

    require-chap

    -chap

    -mschap

    +mschap-v2

    require-mppe

    lcp-echo-failure 30

    lcp-echo-interval 5

    ipcp-accept-local

    ipcp-accept-remote

    multilink

    proxyarp

    logfd 2

    logfile /var/log/pptpd.log

    debug

    dump

    lock

    修改/etc/ppp/chap-secrets文件

    # client server secret IP addresses

    #username pptpd password *

    “xinhe” pptpd “xinhe” *

    这里是配置VPN的用户帐号

    启动服务:

    /usr/local/sbin/pptpd

    然后用netstat查看一下1723端口是不是开的,如果是的话则说明服务已成功启动。

    找一台windows的机器,IP为:192.166.1.7,新建一个VPN的连接,服务器为192.168.1.8,用户名为:xinhe,密码为:xinhe,可以成功连接了。

    在windows的cmd下运行:ipconfig

    看到多了一个网络连接,IP为:192.168.0.10,正是前是配置文件里设置的远程IP,这样这台windows的客户端成功连上了这个VPN服务器

    但是这里出现了一个问题,原来这台windows机器可以通过网关192.168.1.1上网,但连了VPN之后就不能上网了。因为数据全到VPN服务器上来了,为解决这个问题,我们可利用iptables发数据转发。

    新建一个iptables文件,内容如下:

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

    echo “clear the iptables rules”

    /etc/init.d/iptables stop

    /sbin/iptables -A INPUT -p icmp -j DROP

    /sbin/iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE

    /sbin/iptables -F FORWARD

    /sbin/iptables -P FORWARD ACCEPT

    /sbin/iptables -t nat -A POSTROUTING -j MASQUERADE

    /sbin/iptables -F FORWARD

    /sbin/iptables -A FORWARD -p udp -s 192.168.1.0/24 –dport 53 -j ACCEPT

    /sbin/iptables -A FORWARD -p tcp -s 192.168.1.0/24 –dport 1723 -j ACCEPT

    /sbin/iptables -A FORWARD -p gre -s 192.168.1.0/24 -j ACCEPT

    /sbin/iptables -A FORWARD -m state –state ESTABLISHED,RELATED -j ACCEPT

    然后执行这个iptables文件,OK,windows的客户机可以上网了

    另一个版本

    十步建立Linux VPN服务器2006-04-04 16:271)安装DKMS包

    rpm –install dkms-1.12- 2.noarch.rpm

    这是动态内核模块支持。你需要在内核级用它简化安装和配置。这将在安装过程中使几乎所有东西对用户透明。

    2)安装ppp内核模块

    rpm –install kernel_ppp_mppe-0.0.4-2dkms.noarch.rpm

    点对点协议安装你的“调制解调器”或任何组成你的连接的设备。这是你的内核的一部分。

    3)确定ppp工作正常

    modprobe ppp-compress-18 && echo James Garvin has saved me from a life of Windows

    如果modprobe命令成功,执行echo命令。Modprobe向Linux内核添加模块,而echo只是将你所说的写到终端上。

    4)升级ppp

    rpm –upgrade ppp- 2.4.3-0.cvs_20040527.4.fc2.i386.rpm

    这是用户的ppp。Ppp的内核模块已经安装,而这是用户的。

    5)获得PPTP客户端

    rpm –install pptp-linux- 1.5.0-1.i386.rpm

    可以说这是“VPN客户端”。这是GUI客户端,你可以从中安装VPN连接和各种选项。

    6)获得phppcntl

    rpm –instalGetphp-pcntl php-pcntl-4.3.8-1.i386.rpm

    它帮助GUI工作。

    7)获得phpgtk模块

    rpm –install php-gtk-pcntl-1.0.0-2.i386.rpm

    这个文件也帮助GUI工作。

    8)安装pptpconfig

    rpm –install pptpconfig-20040722-0.noarch.rpm

    这个命令安装点对点隧道协议。这使得VPN可以实际地创建从A到B的隧道。VPN可以使用两种协议,L2TP和PPTP。L2TP是第二层隧道协议。它工 作在OSI模型的第二层,数据链路层。

    9)现在对命令行输入

    pptpconfig这条命令将为你弹出一个GUI。

    pptconfig GUI

    联系我们
    返回顶部