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
然后补丁核心:
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,编译成内核模块,接着编译内核:
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/bzImage-2.4.26-VPN
再打开/etc/rc.d/rc.modules
/sbin/modprobe ppp_mppe_mppc
cd /root
installpkg pptpd-1.1.4-i386-1ah.tgz
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
内容:
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
# 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
这样设置就完成了,通过
sh /etc/rc.d/rc.pptpd start
tcp 0 0 *:pptp *:* LISTEN
说明服务已经启动了.
sh /etc/rc.d/rc.pptpd start
在使用过程中,我发现使用 sh /etc/rc.d/rc.pptpd stop 不是很有效,不如killall pptpd
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
route add -net 10.87.1.0/24 gw 10.87.2.254
上一页 [1] [2]