Chinaunix首页 | 论坛 | 博客
  • 博客访问: 308366
  • 博文数量: 321
  • 博客积分: 10055
  • 博客等级: 上将
  • 技术积分: 3780
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-29 13:03
文章分类

全部博文(321)

文章存档

2012年(1)

2010年(7)

2009年(1)

2008年(312)

我的朋友

分类: LINUX

2008-09-21 15:17:47

(作者:Jianning)今
天忙乎了一上午,终于解决了一个一直困扰着我的问题,如何在Linux下连接上寝室提供的PPPoE连接。

  事情是这样的:

  我们寝室的连接是使用PPPoE或VPN连接,网络供应商建议使用PPPoE连接,因为其更为稳定。在Windows下是没有任何问题的,开始-控制面板-网络连接-添加一个新连接……就可以解决,在Windows VISTA上也已解决了。但是在Linux如何连接呢?

  下载了一个rp-pppoe (在 fedora core 9上直接使用yum便可以安装),运行pppoe-setup之后便可以进行设置:用户名,密码,DSN服务器(自动获得)等等。但是键入pppoe-connect是连接不上的。一直显示接受不到PADO包。以前没有耐心看PPPoE协议,所以一直没有解决,看来今天早上得下个决心,无论如何也要接入Intenet!

  大致看了一下PPPoE协议,知道了PPPoE大致经过以下几个阶段:PADI-PADO-PADR-PADS- SESSION - PADT。那么我的问题到底出在哪里呢??通过使用pppoe -D ~/.log 并察看log文件,大致就是本机发出PADI包之后没有收到来自服务器的PADO薄,可是为什么呢?

  偶然的看到了我的最后一个包是一个RECV到的PADI包,这大概是别人上网时广播出的PADI,扫了一眼之后发现别人的包比我的大10多个字节,仔细比较一下,原来别人的TAG域多了一个poligon这几个字。通过在网上仔细搜索,发现这是PPPoE包的 service-name域和Host-Uniq域,可是在设置rp-pppoe时也没有询问我要提供这些信息阿。通过man pppoe - man pppoe.conf以及分析/sbin/pppoe-connect脚本之后知道了要在/etc/sysconfig/network-sripts/ifcfg-ppp0文件中添加SERVICENAME=poligon和PPPOE_EXTRA -U这些参数。

  最后的结果是,成功了!
阅读(1067) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~