标题: Linux下架设可供Windows XP拨入的VPN Server 下面的记录省略了很多细节,最好还是动用Google了解原理先,其实我对VPN一窍不 通。 1) Linux端的配置 去"http://prdownloads.sourceforge.net/poptop/"下载最新版的pptpd,比如到目 前(2005-04-30)为止,最新版可能是pptpd-1.2.3.tar.gz。 tar xvfz pptpd-1.2.3.tar.gz cd pptpd-1.2.3 ./configure make make install cd /etc vi /etc/pptpd.conf -------------------------------------------------------------------------- option /etc/ppp/options.pptpd localip x.x.x.1 remoteip x.x.x.2-3 -------------------------------------------------------------------------- 这里假设Linux主机IP是x.x.x.1,而x.x.x.2、x.x.x.3是与x.x.x.1同子网、未被分 配又可以正常出路由的IP。 mkdir ppp cd ppp vi /etc/ppp/options.pptpd -------------------------------------------------------------------------- name anyname auth proxyarp lock -------------------------------------------------------------------------- vi /etc/ppp/chap-secrets -------------------------------------------------------------------------- usernameanynamepassword* -------------------------------------------------------------------------- echo 1 > /proc/sys/net/ipv4/ip_forward /usr/local/sbin/pptpd 2) Windows XP端的配置 安装MS05-019/KB893066之后,可能造成VPN不可用。此时在注册表中设置MTU为1400: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{...} MTU REG_DWORD 0x00000578 禁用、启用网卡,使之立即生效。 3) 一些VPN相关调试手段 tcpdump -n ip[9:1]=0x2f、tcpdump -n proto gre 或 tcpdump -n proto 47 用此命令确认GRE报文(ip_p等于47)双向通畅,未被路由器、防火墙、NAT过滤掉。 /sbin/iptables -A INPUT -p gre -j ACCEPT Linux端的防火墙应该允许GRE报文进来。 tcpdump -n icmp 用此命令确认没有协议不可达ICMP报文、需要分片但设置了DF标志ICMP报文出现。