您现在的位置: Tracy‘Blog > 博客 > 黑人黑事 > 正文
PPPOE故障分析记
        好久好久没写文章了,本打算忙完项目后写篇文章来总结这段时间碰到的bin,顺便总结下上次阿里决赛的事情。可,最近两天遇到了件觉着挺好玩的事情,写下分析过程放这里凑凑数吧。也不知道这篇文章会带来的影响是什么。总之,仅仅思路而已。

      就开始吧,事情是这样的,某天华仔找到我,说他服务器(RedHat x64)一直拨不上网。其实,我前几天登上去过看了看,抓包看了看觉着挺正常的,就把焦点聚集在dialnetkeeper上了,一直在怀疑是不是他的动态用户名生成出错。

    就一一来排除吧。

    首先,dialnetkeeper会根据时间来生成账号,大概5-10秒换一次。也就是说,你的机器时间必须和服务器那边相差不了多少,不然,你是拨不上号的。于是,date -s 把时间给修正好。再来一次,还是不行。

    是不是dialnetkeeper没有编译好呢?自己电脑刚好也是Linux x64的,于是,scp dialnetkeeper root@10.0.0.0:/usr/local/openkeeper/.。再次拨号,还是不行。

    是不是他环境问题?于是,在很短的时间内,本地和远程都敲一个./dialnetkeeper,结果返回的值都是一样的。

    不甘心,会不会是十六进制有些诧异?两边同时./dialnetkeeper > temp.txt。然后脱下来,bless看了看,完全一样。

    也就是说,拨号客户端这块是没问题的。问题出在网络上或者是服务器端咯。

    服务器是肯定没问题的。因为,我们都是用的同一台。

    在他那台机器上,tcpdump -i eth0 -w pppoe.pcap,然后ok拨号,抓个包来看看。如下:

    发现,先前看走眼了,这广播后回复过来的pppoe-server不止一台啊。有很多的样子,但是我们需要建立建立认证的应该是绿色框框里的,而实际上我们连接的是蓝色框框的cu01。也没想去ping它,就问了下当事人,结果他说了句:cu01是他集群里的一台机器。顿时就给跪了,ssh上去把cu01-10pppoe-server全给down了先。

     再次拨号,还是不成功,什么情况?再抓一次包,看了看。

    原来,建立连接的还不是CQ那个,那这个localhost.localdomain是哪里来的呢?ping一下先,返回127.0.0.1,额,本机?似乎不太对,那,本地敲一个/etc/init.d/pppoe-server stop,返回failure,是没启动还是没关好呢?ps -ef | grep pppoe,没有任何进程。纠结了好久,想着,怎么让系统到不了这个ac=localhost.localdomain的地方,看了下/etc/hosts,还真有这个值,给他注释掉,在看/etc/sysconfig/network,也有localhost.localdomain。也注释掉,可这个得重启才能生效。当事人说,这服务器不能重启。

    纠结了好一会儿才发现自己搞错了,仔细看看这三个数据包:

 

    第一个是客户端广播出去的,问问谁是pppoe服务器的。

    第二个是服务器回答说,我就是pppoe服务器。

    第三个是PADR,发现阶段的最后一个数据包,意味着接下来要跟它进行交互了。

    再看mac地址,虚拟机?这mac显然不是本地。那?是不是说,有其他人电脑上启动了pppoe-server?那人想干嘛呢?盗号?还是单纯的在自己不知情的情况下启动了这个服务呢?

    不知道,还是先来看看这个mac对应的ip是多少吧。

    只能是RARP协议了,我也就是猜猜看他俩是否在同一个网段,用了个脚本慢慢跑:

#!/bin/sh

for (( i=1; i<=255; i++)); do echo $i arping -c 1 172.23.26.$i | grep 66:54 done echo done

    然后,一会儿后,它还真出来了:

? (172.23.26.240) at 00:50:56:9d:66:54 [ether] on eth0

    本还想继续看能不能试着进240这机器,无奈ssh试了几个常用密码后,还是选择放弃了,也没打算用hydra来跑了。

    于是,事情到这里也就清楚了,统一交换机下240机器也正开着pppoe-server,在pppoe拨号过程中,客户端寻找服务端的方式是先广播一个数据包出去,然后等着回复选取最近的一个服务器建立连接。

    很显然,这里不能拨号的原因就是~~~出了个冒牌的服务器。

    好吧,就写到这了,就一个大概思路而已。纯个人记录,如有理解错误,还请高人指出。

 

 

——Tracy_梓朋

2014年10月25日15:23:16

发表评论(0)
姓名 *
电子邮件
QQ
评论内容 *
验证码 *图片看不清?点击重新得到验证码请输入图片后链接字符‘a’