1、问:我的APN是ADSL接入,为什么ADSL经常掉线?
答:当前adsl一般使用pppoe拨号,拨号成功后拨号程序会不断的发送LCP(链路控制协议)包来维护这个ppp连接。如果adsl线路过长,或者线路质量不好,adsl modem故障等,都容易导致LCP数据包发送和接收异常,造成连接中断。
解决办法:
a.apn设备pppoe拨号软件的配置文件是/etc/ppp/pppoe.conf,可以调整以下参数(建议高级用户才做必要的修改,其他参数不能改动!):
缺省:
LCP_INTERVAL="20"
LCP_FAILURE="3"
PPPOE_TIMEOUT="80"
可尝试的值:
LCP_INTERVAL="10"
LCP_FAILURE="20"
PPPOE_TIMEOUT="40"
b.让运营商检查ADSL线路。
2、问:为什么我能上网,但是不能连接对端结点内网的计算机或者服务器?
答:出现这种情况,大部分是由于网络的原因造成apn隧道中断,或者是对端结点apn设备出现故障。
解决办法:
a.确认对端的apn设备已经正常运行,并且连接网络正常。
b.通过telnet或者超级终端进入apn设备的命令行模式,在#提示符下输入:ipsec eroute命令:
输出如下:
[APNGW /]# ipsec eroute
4 192.168.133.0/24:0 -> 10.20.20.0/24:0 =>
tun0x1030@61.134此邮件地址受spam bots保护,需要使用 Javascript 功能来查阅。:0
11 192.168.133.0/24:0 -> 172.23.23.0/24:0 =>
tun0x102c@61.48此邮件地址受spam bots保护,需要使用 Javascript 功能来查阅。:0
本地网段 对端网段 对端公网地址
[APNGW /]#
如果上面的输出没有到对端网段的隧道,证明本地到对端的隧道已经中断。
运行重建隧道命令:advconf apngw restart
c.重建隧道完成后,重新运行ipsec eroute命令,查看跟对端的网段建立隧道,如果还没有,请检查对端设备,必要时在对端设备命令行模式下运行:advconf apngw restart
3、问:我之前使用apn很正常,为什么突然内部网络上网变得很慢,而且隧道很容易掉线?
答:有两方面可能的原因,一是上网线路质量变差,或者说ISP所提供的接入线路变差;二是内部网络异常(比如感染病毒,一些计算机不断的往外发送大量的数据包),大量的数据包往外发送,占用大部分的网络带宽。
解决办法:
a.使用telnet命令或者超级终端进入apn设备的命令行配置模式,在#提示符下输入:ifconfig eth0命令:
输出如下:
[APNGW /]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:E0:4C:70:08:08
inet addr:192.168.32.200 Bcast:192.168.32.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1232 errors:0 dropped:0 overruns:0 frame:0
TX packets:2123 errors:0 dropped:0 overruns:0 carrier:0
collisions:0
Interrupt:15 Base address:0x3000
观察RX 和TX packets的值是否异常。当内部网络有大量的不正常数据包往外发送的时候,RX packets的值要比TX packets大很多。
b.使用apn网络状态实时监控工具iptraf(详细用法请参考相关文档),监控异常数据包是由哪些计算机发过来的,什么类型的数据包,使用哪些端口等信息;
c.通过web管理界面进行相应的防火墙配置,将相关的引起网络异常的数据包丢弃。
4、问:我两端使用apn的网络都可以正常上网,在apn上通过ipsec eroute命令也可以看到双方网段建立起来的隧道,但为什么我们双方都不能访问对方的计算机?
答:因为ipsec eroute命令可以看到双方网段建立起来的隧道,证明两个apn设备的隧道协商已经完成,由下面的可能性:
a.本地或者对方的计算机的网关没有指向apn内网地址,或者没有相应的到达对方网络的路由指向apn内网地址;
b.apn的防火墙设置不允许互相访问;
c.双方的Internet接入线路至少有一方不允许ESP数据包(IPSec协议数据包)通过。
5、问:为什么我使用reborn命令升级apn的版本,并且使用setup-->保存,fwconf saveall,advconf saveall后,重启设备,发现上网正常,license认证通过,并且在日志中发现大量的跟对端结点协商隧道的信息,但是使用ipsec eroute命令并不能看到建立起来的隧道信息?
答:有一些比较旧的版本,如果psk(共享密码)不是缺省的“public”,而是修改为其他的值,在reborn后储存psk的文件会恢复为“public”的密钥。
检查方法:
a.通过telnet或者超级终端进入apn设备的命令行模式,在#提示符下查看 /etc/config/apn.conf和/etc/ipsec.secrets文件:
APNGW /]# more /etc/config/apn.conf
VDOMAIN="olym"
VHOST="tech"
PASSWORD="aaaaaaaaaaaaaaaaaaaaaaaa"
VSUBKEY="public"
****************共享密码
INDEVICE="eth0"
OUTDEVICE=eth1
ACTIVEN="0"
IPCOMP="no"
IPESP="blowfish-md5"
APNPIDFILE="/var/run/apngw.pid"
APNCACHE="2362139603-896569661-299077693-483091411"
APNPARA=""
[APNGW /]# more /etc/ipsec.secrets
: PSK "public"
请对比两个文件种共享密码的内容,确保/etc/ipsec.secrets文件中的内容跟/etc/config/apn.conf文件中的共享密码的内容一样,如果/etc/ipsec.secrets文件中的内容恢复到public,请setup-->选1,连续按回车,确认后选4保存。
然后#advconf apngw restart重建隧道。
6、问:如何判断apn进程还在运行:
答:通过telnet或者超级终端进入apn设备的命令行模式,在#提示符下输入:ps aux命令:
[APNGW /]# ps aux
PID Uid VmSize Stat Command
1 root 1312 S init [3]
2 root S [keventd]
3 root S [kapmd]
4 root R [ksoftirqd_CPU0]
5 root S [kswapd]
6 root S [bdflush]
7 root S [kupdated]
8 root D [msys/fla]
137 root 1512 S /sbin/syslogd
139 root 1524 S /sbin/klogd
160 root S [eth0]
169 root S [eth1]
590 root 1344 S /usr/sbin/inetd
597 named 2784 S /usr/sbin/named -u named
787 root 1356 S /usr/sbin/cron
790 root 1708 S /sbin/thttpd -C /etc/httpd.conf
805 root 1500 S /sbin/getty -L ttyS0 9600 vt220
9301 root 1812 S /usr/sbin/apn
****************** 请确认有apn进程在运行
9438 root 1744 S /bin/sh /usr/local/lib/ipsec/_plutorun --debug none
9439 root 1556 S logger -p daemon.error -t ipsec__plutorun
9442 root 1744 S /bin/sh /usr/local/lib/ipsec/_plutorun --debug none
9443 root 1736 S /bin/sh /usr/local/lib/ipsec/_plutoload --load --st
9445 root 2228 S /usr/local/lib/ipsec/pluto --nofork --debug-none --u
9450 root 1344 S _pluto_adns 7 10
9461 root 1348 S /usr/local/sbin/pptpd
9573 root 1556 R ps aux
[APNGW /]#
7、问:为apn进程在运行的过程中会丢失?
答:APN设备在运行的过程中由apn进程跟VDN服务器通信。apn进程会在一个间隔时间内向vdn进程发送心跳包,确认APN设备跟VDN服务器是联通的。当APN设备的Internet接入线路出现中断的情况,一直到apn进程心跳结束,VDN服务器都没能收到apn的心跳数据包并且给apn进程发送一个响应数据包,apn进程就会终止,并且向ipsec_Setup进程发送终止信号,将所有建立的隧道中断。
当apn设备跟VDN服务器重新连通后,由于apn进程已经终止,所以APN设备不会跟VDN服务器自动的重新认证。
解决方法:
通过telnet或者超级终端进入apn设备的命令行模式,在#提示符下输入:advconf apngw start
|