存档

文章标签 ‘Linux PPtp’

Linux 单网卡配置pptp VPN

2009年11月16日 2 条评论

来  源:http://www.007hack.com/?p=236

作  者:007安全小组—不走的钟

     工作中越来越离不开VPN,网络中有很多关于VPN的配置,但大多是相互转载,很多文章没有讲到核心的地方。前段时间写过Win2000单网卡VPN,今天再一篇Linux 单网卡配置pptp VPN。

 所需要软件:

dkms-2.0.6-1.noarch.rpm

kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm

kernelmod-0.7.1.tar.gz

下载地址:http://sourceforge.net/project/showfiles.php?group_id=44827

ppp-2.4.3-5.fc4.i386.rpm(用ppp-2.4.4b1更稳定)

pptpd-1.3.1-0.i386.rpm

 第一步:判断内核是否支持Mppe功能,在Shell下执行

modprobe ppp-compress-18 && echo www.007hack.com

结果返回www.007hack.com,说明已经支持Mppe功能

1
如果不支持则需要安装:
dkms-2.0.6-1.noarch.rpm

kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
对于低版本的内核是必须安装kernelmod-0.7.1.tar.gz(需要内核源代码)

第二步:安装ppp

    安装比较简单,关键要安装自己系统对应的版本,一般使用上边的链接去下载RPM包,比较方便。

第三步:安装pptpd

  同上

第四步:配置pptp

配置的文件有:/etc/pptpd.conf   /etc/ppp/options.pptpd   /etc/ppp/chap-secrets 

/etc/pptpd.conf
localip 192.168.0.1     //去掉默认的;号,设置VPN连接后服务器的IP地址
remoteip 192.168.0.2-254    //去掉默认的;号,设置VPN客户端的IP地址

 /etc/ppp/options.pptpd
name pptpd  //名称,默认可以不用修改

ms-dns 202.106.46.151      //去掉默认的;号,设置DNS地址
ms-dns 202.96.199.133    //备用DNS地址

/etc/ppp/chap-secrets

007hack pptpd 007hack *     //设置vpn用户和密码   格式如下:  用户名  服务名 密码 IP限制(不限制就是*)
xia  pptpd xia      *            //注意这里的pptp,如果上边更改过,那么这里也需要对应!

全部设置后,重启 pptpd 服务使新配置生效:

/etc/init.d/pptpd restart

正常情况下,pptp就已经安装成功了,查看1723端口是否打开:

netstat -an|grep 1723

使用Windows建立一个客户端,就可以连接成功了,这样配置后,可以连接成功,但除了服务器资源,其它均不能访问,还需要下下设置

第五步:NAT设置

开启 ipv4 forward,方法是编辑 /etc/sysctl.conf,找到

                net.ipv4.ip_forward = 1  //默认=0,修改为1

然后使新配置生效:

                sudo sysctl -p

这样配置后,还是不能上网的,我需要借用Iptables的NAT功能,一般的Linux默认安装了Iptables。

我们向 nat 表中加入一条规则:

    sudo iptables -t nat -A POSTROUTING -s 192.168.0.1/24 -o eth0 -j MASQUERADE

    这样就可以上网了。但是,只是这样,iptables 的规则会在下次重启时被清除,所以我们还需要把它保存下来,方法是使用 iptables-save 命令:

sudo iptables-save > /etc/iptables-rules
    然后修改 /etc/network/interfaces 文件,找到 eth0 那一节,在对 eth0 的设置最末尾加上下面这句:
pre-up iptables-restore < /etc/iptables-rules

   这样当网卡 eth0 被加载的时候就会自动载入我们预先用 iptables-save 保存下的配置。

 okk

 

说明:如果使用netstat -an|grep 1723 能看到1723,但外网还是不能telnet到1723,使用以下命令来设置Iptables:

# 开放 VPN 进入本地
iptables -A INPUT -p tcp –dport 1723 –syn -m state –state NEW -j ACCEPT
iptables -A INPUT -p 47 -j ACCEPT

如果要删除这条规则使用:

iptables -D INPUT -p tcp –dport 1723 –syn -m state –state NEW -j ACCEPT

iptables -D INPUT -p 47 -j ACCEPT

分类: 安装配制 标签: ,