 |
SLACKWARE 10.0 做MPPE加密VPN服务器的详细过程 |
|
|
| SLACKWARE 10.0 做MPPE加密VPN服务器的详细过程 |
|
| 作者:佚名 文章来源:不详 点击数: 更新时间:2007-1-23 20:30:27 |
|
环境: PIII450/128M/10G/G200 SLACKWARE 10.0 (核心2.4.26) 默认安装 1.首先下载需要的文件(下载到/root目录下)
PHP代码: wget ftp://slackware.no/linux/kernel/v2.4/linux-2.4.26.tar.bz2 wget http://www.polbox.com/h/hs001/linux-2.4.26-mppe-mppc-1.0.patch.gz wget http://linuxpackages.slackwaresupport.com/Slackware-10.0/Daemon/pptpd/pptpd-1.1.4-i386-1ah.tgz
然后补丁核心:
PHP代码: cd /root tar xfvj linux-2.4.26.tar.bz2 gunzip linux-2.4.26-mppe-mppc-1.0.patch.gz
mv linux-2.4.26 /usr/src/linux-2.4.26-VPN cd /usr/src/ ln -s linux-2.4.26-VPN/ linux
cd /usr/src/linux zcat /root/linux-2.4.26-mppe-mppc-1.0.patch.gz |patch -p1 cp /boot/config-ide-2.4.26 .config make oldconfig
当出现MPPE选项时选择m,编译成内核模块,接着编译内核:
PHP代码: make dep make bzImage make modules(很长时间,我好象用了40分钟) make modules_install
cp arch/i386/boot/bzImage /boot/bzImage-2.4.26-VPN cp System.map /boot/System.map-vpn-2.4.26 cp .config /boot/config-vpn-2.4.26
cd /boot ln -sf config-vpn-2.4.26 config ln -sf System.map-vpn-2.4.26 System.map
然后更改/root/lilo.conf文件配置 把 image = /boot/vmlinuz 一句 改为
PHP代码: image = /boot/bzImage-2.4.26-VPN
再打开/etc/rc.d/rc.modules 在最后一行增加
PHP代码: /sbin/modprobe ppp_mppe_mppc
2.安装pptpd:
PHP代码: cd /root installpkg pptpd-1.1.4-i386-1ah.tgz
编辑 /etc/pptpd.conf 内容:
PHP代码: debug option /etc/ppp/options.pptpd localip 10.87.200.1 remoteip 10.87.200.2-10 pidfile /var/run/pptpd.pid
编辑 /etc/ppp/options.pptpd 内容:
PHP代码: mtu 1450 #(发送包大小;据说很重要) mru 1450 #(接收包大小;单位:bytes) -chap #(不使用CHAP验证方式) -mschap #(不使用MSCHAP验证方式) +mschap-v2 #(使用mschap-v2验证方式) lcp-echo-failure 30 lcp-echo-interval 5 ipcp-accept-local ipcp-accept-remote proxyarp #(create proxy ARP entry) lock #(锁定PTY设备文件,没有研究出到底什么含义,我看WEBMIN中这样翻译的.) auth #(是否需要使用/etc/ppp/chap-secrets文件来验证,我这里需要验证) name pptpd #(PPTPD服务器名称,和下边要设置的chap-secrets 对应) ms-dns 202.102.227.68 #(拨入VPN后的的DNS地址) ms-dns 10.87.13.86 #(可以设置两个) #ms-wins *.*.*.* #(过时了,我没有设置) #netmask 255.255.255.0 #(这个选项是其他文章中抄来的,不管怎样设置子网都是#255.255.255.255.ppp就是点对点协议,所以子网必须是255.255.255.255)
require-mppe #(使用MPPE加密) require-chap #(使用验证) require-mppe-40 #(使用 40-bit MPPE 加密) require-mppe-128 #(使用 128-bit MPPE 加密)
编辑/etc/ppp/chap-secrets 内容:
PHP代码: # Secrets for authentication using CHAP # client server secret IP addresses # example_user * <password> * recoilest pptpd 123456 "*" #"recoilest"是拨入VPN用户名称; "pptpd" 是服务器名称; "123456"是拨入VPN密码; #如果允许VPN自动分配远程接入IP地址,那么可以像上边一样设置为"*"; #如果需要指定远程IP地址的话可以这样: #recoilest pptpd 123456 10.87.200.6
这样设置就完成了,通过
PHP代码: sh /etc/rc.d/rc.pptpd start
可以启动PPTPD服务,启动后netstat -a可以看到
PHP代码: tcp 0 0 *:pptp *:* LISTEN
说明服务已经启动了. 如果需要服务器启动时启动PPTPD服务可以在rc.local中加入:
PHP代码: sh /etc/rc.d/rc.pptpd start
在使用过程中,我发现使用 sh /etc/rc.d/rc.pptpd stop 不是很有效,不如killall pptpd
3.通过VPN转发数据:
我的iptables设置:
PHP代码: modprobe ip_tables modprobe iptable_filter modprobe iptable_nat modprobe ip_conntrack modprobe ip_conntrack_ftp modprobe ip_nat_ftp
iptables -t nat -A POSTROUTING -o eth0 -s 10.87.200.0/24 -j MASQUERADE
iptables -A FORWARD -p udp -s 10.87.200.0/24 --dport 53 -j ACCEPT iptables -A FORWARD -p tcp -s 10.87.200.0/24 --dport 1723 -j ACCEPT iptables -A FORWARD -p gre -s 10.87.200.0/24 -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
4.通过XP拨入VPN
开始--〉设置--〉网络连接--〉创建一个新的连接,下一步--〉连接到我的工作场所的网络--〉虚拟专用网络连接--〉名子--〉初始连接-- 〉主机或者IP地址--〉完成
使用帐户: recoilest 密码:123456 拨入.
如果出现
说明成功了.
5.拨入后网络访问的问题
重要提示1以上设置只能默认通过ETH0来转发数据 如果需要访问其他网络资源,需要增加静态路由表(在服务器端,根据环境设置)
PHP代码: route add -net 10.87.1.0/24 gw 10.87.2.254
重要提示2如果你拨入以后不能访问本地网络,请手动更改路由表(在工作站端,根据环境) 或者把 VPN连接属性中---IP设置-----高级----在远程网络上使用默认网关 选项取消对钩
最后 希望大家遇到什么问题,我们可以探讨.【转自世纪安全网 http://www.21safe.com】
|
|
| 文章录入:admin 责任编辑:admin |
|
|
上一篇文章: 用SSL加密增强FTP服务器安全性 下一篇文章: 使用md5sum创建文件指纹验证 |
|
|
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
|
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
|
|
|
|
|