LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2532|回复: 10

单网卡dsl modem 的internet共享

[复制链接]
发表于 2003-1-25 02:18:13 | 显示全部楼层 |阅读模式
注意:如果你使用的modem是Alcatel SpeedTouch Home.版,这篇文章也许会对您有一定益处

     如果您的modem 不是这个牌子或者不是这个型号.也许您也可以从中获取一些提示信息.
     
过去看到过一些贴子,大概的问题

是有关如何使用1块网卡,通过dsl modem的以太口连接到hub上或者交换上共享Internet连接

Internet->adsl modem->hub(or switch) -->Internal network

这种架构的可行性.见

http://www.linuxsir.cn/forum.php?mod=viewthread&tid=21351

其中大家有的说在

注:WINDOWS下通过安装Sygate可以解决
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
另外给的这篇帖子中给出了解决方案??我没懂.

http://www.linuxsir.cn/forum.php?mod=viewthread&tid=21314
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
其实也许事实和一些兄弟猜想得也差不多 -->like me

dsl modem 不仅仅是可以分配ip的.

而且根据型号而定,一些可以直接称呼为翻译网关,或者称呼为 dsl 路由器的

中国内地的一些网吧,常使用一些国产的dsl route/modem 来做为Internet 的共享方式

但是我见过一些朋友配置过程中使用过telnet/或者基于web的配置.

起初我以为只有国内的小厂生产的杂牌 dsl modem 使用了嵌入 linux 系统作为

dsl route /modem 的内置系统.

其实中国电信dsl用户最常用的

dsl modem ->

Alcatel SpeedTouch home/pro dsl MODEM 阿尔卡特的speedtouch home/pro

其实当它不光支持

1,telnet /web管理 (原因是它内置了嵌入的linux..kernel)

2,home版本与pro 版本的区别 看来只是基于软件上的限制.

(可以用下文提供的方法,使得home 版本开启扩展功能pro版本的功能.当然,如果对你有价值的话)

从而可以实现上文提及的功能.(dsl modem 将会像一个路由器那样担当起nat/pat(地址翻译/协议翻译)的职责)

请见下文:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
具体操作步骤如下)

(不需要担心,如果操作失误,最后将给出还原系统的步骤.)

1,此方法中将使得你见到可以升级dsl modem firmware的地方.(本文中并不探讨firmware的升级)

  配置弄乱了有办法恢复.但是如果你使用了一个不匹配的firmware进行系统升级造成的后果清您自己承担,这里不是在刷bios

2,节点的配置,确保你的pc是干净的!不要使用任何类似zone alarm,winroute.等此类的软件.
  ** 并且确保连接是断开的.

3,配置你的你连接dsl modem 以太口的网卡的ip地址.(如果你是过去是用专用的route连接的dsl modem 的话,请你用在route中配置你用于连接dsl modem的以太网卡的地址)
ip address ................10.0.0.x (x 在1~254 之间,说明书中有略述,此两种型号的modem home/pro 的出场设置默认使用了10.0.0.138的ip地址.)
subnet mask:....................255.255.255.0  掩码,其实255.0.0.0亦可,因为我们直连配置.
default gateway................10.0.0.138
primary DNS: .................. 10.0.0.138 (嘿嘿modem 中不光可以配置主次dns,而且可以配置dhcp.)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ip配置完成后,
如果你用windows (w2k,xp,nt,运行中输入cmd,在98中输入command)并且输入
C:\WINDOWS>ping 10.0.0.138 // linux 中用root配置好ip就直接在shell 中直接ping吧.

Pinging 10.0.0.138 with 32 bytes of data:

Reply from 10.0.0.138: bytes=32 time=1ms TTL=255
Reply from 10.0.0.138: bytes=32 time=1ms TTL=255
Reply from 10.0.0.138: bytes=32 time=1ms TTL=255
Reply from 10.0.0.138: bytes=32 time=1ms TTL=255

Ping statistics for 10.0.0.138:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 1ms, Maximum = 1ms, Average = 1ms
得到4次响应说明线路正常,否则检查你的线路.
(如果确定线路没有问题也许你需要还原你的modem 配置,也许你的modem被修改过ip配置.)

****方法说明书中有介绍,

1,关闭dsl modem,

2,用笔尖等物,点击位于modem 背板上的defaults按钮(应该是小孔吧).

3,保持defaults 按钮是按下状态,并打开dsl modem,保持这种状态至少30秒.

(这个过程中你会见到modem 的状态灯不同于寻常的闪动,大概出现3次这种现象大概为30秒的时间吧)

4 松开此键,modem 被还原为出厂的默认状态了.这时,modem 的ip被还原为10.0.0.138.
再ping 一次看看,如果正常你在你的浏览器中,去掉你的代理设置,选择直接连接.
在地址栏中输入http://10.0.0.138 看看会出现什么??嘿嘿,基于web 管理,(别急,点ppp 或者dial-in 看看,提示,没有这项功能在这个产品中....别急,home默认没有,pro有,下面教你在home 中打开这些.)
cisco 以为自己是个鸟,连个dsl modem 都支持web 管理..而且cisco 设备很多版本的web管理 中都含有bug 可以跳过身份检测,实现enable 用户才可以完成的配置....

如果你看到了这样的信息,把它记下来.通常左面导航条的initial setup 或者system setup 中,有SpeedTouch (00-00-00-00-00-00)我给出的是格式. 这是出场的默认MAC地址信息.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~
以下开始软升级的步骤了()使得home 版本的modem 上跑 pro版本的功能

(玩cisco 设备的老兄们,会不会觉得老外的生意经很类似阿,那个企业版本的..)

STEP ONE -- Get the EXPERT password

刚才说了,alcatel modem 使用了linux kernel

其实也因为如此,引进了类似的权限管理命令限制(大概相当于linux 中的 su)cisco 设备中的enable)

这里是EXPERT (用于切换用户/特权模式我的理解)

查找你modem 的MAC地址,除上文中提及的那种方法外
windows 用户,你ping 一下 10.0.0.138 然后输入arp -a 显示一下10.0.0.138 的MAC地址
(00-00-00-00-00-00)这种格式的物理地址系统显示为小写的.因为windows 不区分大小写
我建议你在下文使用时转换为大写的,因为要用这个地址进行EXPERT的密码查询.

为什么让你ping的原因是因为arp 地址表中的信息默认只储存10 分钟.
时间久了也许你会得到NO ARP Entries Found 没有找到记录.

得到MAC地址以后写成以下的格式 SpeedTouch (00-00-00-00-00-00)

**** 注意在SpeedTouch 和"("之间是有空格的,连在一起的复制过去得不到正确的密码.

选择以下两个连接其中的一个:

http://security.sdsc.edu/self-help/alcatel/challenge.cgi
(推举这个链接,这种是在线的. (answer YES to all questions)回答所以的答案为yes,并且
提交刚才让你写成为这种格式的信息SpeedTouch (00-00-00-00-00-00) 注意刚才提及的那个空格.
然后系统会返回给你一条信息.For challenge string SpeedTouch (00-00-00-00-00-00)
the response is **********

http://www.nzdsl.co.nz/howtos/Alcatel/pass.html
(第二个链接,根据你提供的信息发给你一个后缀为.exe的可执行文件,对于linux用户来说比较不方便。)

STEP TWO 开始检查软件的版本了(配置结束我将给出升级firmware 的link请留意注意版本信息)
1,telnet 10.0.0.138 (哇,支持telnet )

2,输入命令software version   好直观啊,是不是?

=>software version
Active: GV8BAA3.281 Passive:GV8BAA3.281

注意后三位数字。如果这个数字小于 253

输入 EXPERT 命令。

如果高于253,像这个例子这样,你需要输入td prompt

这里是输入td prompt

接下来你会看到下面的信息:
'SpeedTouch (**-**-**-**-**-**)'          / *此处应该与你上面在http://10.0.0.138 中所见,或者在arp的地址表中出现的mac地址相同。*/
Password:           输入你刚才从上面给出的链接中获得的专家/特权密码。
**的位置标注为这个modem 的MAC地址。
Switch to expert mode.     切换进入专家模式.!
Return to Normal mode by typing <Normal> 切换回普通模式输入Normal

你现在已经进入了专家模式了.下一步键入开始升级了

键入

>rip    /*回车*/
rip>drv_read 2 1 b /*回车*/

然后你将看到下面的信息

the data in hex is : 8604

或者

the data in hex is : 8704

通常,8604的模块比8704的老,但也有一个ATM的段口(现在新申请dsl的用户一般没有这个借口了模块也会有区别,我的是8704的,带一个ATM接口。如果你得到的答案不是上述其一,那么请马上停止!这里的方法并不与你的modem 版本兼容,如果你继续,会给你的modem带来伤害。)

根据你的版本,使用下面的命令将最后一个数字4改成6

rip>drv_write 2 1 b 8606    /*注:如果你上面出现的数字为8604*/
或者

rip>drv_write 2 1 b 8706    /*注:如果哪个hex is : 8704的话 */

继续输入下面的命令:

rip>exit

>system      /* 进入system 目录,简化的够可以啊,这里没有ls,你可以输入help察看每个目录下可用的命令,研究嵌入的老兄们,是不是可以借鉴?*/

system>reboot   /*modem重启*/

完成了,你的modem现在已经可以使用pro的特性了!

modem启动起来以后,http://10.0.0.138 看看刚才的那些ppp 选项以及dial-in选项是不是可用了?!:)

STEP THREE

配置你的pc 将modem 连接到hub上,(交叉线哦原带的就是)
当然你也可以连接一个路由,或者交换
配置你的所有pc的ip地址为10.0.0.x (x必须在1~254之间但是不能包括138)

掩码为255.255.255.0   
默认网关为10.0.0.138   modem的ip啦
主dns 你的ISP的dns配置 (你也能使用10.0.0.138)**各位自己尝试吧。modem 中可以配置dns的

STEP FOUR 配置PPP
为了进行以下的配置,你需要断开dsl连接。;)不要关闭这页面哦。因为一些配置

在线路没有断开的情况下是不生效的。

http://10.0.0.138

进入PPTD 菜单并且 (remove) 移除所有的记录,然后(SAVE)保存。别担心,如果出错还原默认配置即可。

我们要创建使用的某些资源VCI的数值被原来的某些设置使用着,移除记录就为此,虽然某些也许可以保留,但是我做过测试,删除绝对没有问题,而且如果需要也可以恢复。

进入Phone Book菜单,并且(remove)移除全部记录。并且(apply)应用 并且SAVE(保存) 更改。

在 Phone Book 菜单下,增加一条新记录。

Name 'MXS'     (这里为输入到对应输入框中名字不很重要可以自己酌情定义。)
VPI=8         (这里为输入到对应输入框中)
VCI=48     (这里为输入到对应输入框中)
Type=ppp (此项为选择)

(save)储存更改,并且

进入PPP 菜单,选择你刚增加的那条MXS记录并配置它config
Authentication 中
填写用户名user:,密码 password:
Routing 此项在链路为up状态是不能更改的,所以刚才要断开连接。
选择路由选项,连接共享中有3种级别,
Connection Sharing (me,my network,everybody,)
Destination networks (All networks ,specific network deny 等)
具体自己看吧,我现在记不清了。
Specific network 注意,经验告诉我这里通常填写的是网络地址。
options 此项在链路为up状态是不能更改的,所以刚才要断开连接。
Local IP 默认为none Remote IP 默认也为none *********看到了吧,dsl的静态ip在哪里配置?:)
MODE模式[always-on 始终开启,始终断开?,第三项为如果请求着自动连接。]
Idle time limit: (哇,空闲时间的限制:)可以控制线路的空闲断开。包月的用户没什么用。)
LCP echo ()  (currently enabled )链路控制协议(通常启用。):)
PAP(通常禁止。) (口令认证协议?)
ACCOMP(通常启用)嘿嘿,我不知道是什么,提示通常启用。
(据说新版本的软件你甚至不需要指定dns 地址也可以使用,你可以尝试一下。你也可以安全的删除PPP菜单下的所有其他的记录)
应用apply请储存(save)更改的信息.在PPP菜单中必须更改MXS纪录的状态(status)为On SAVE (储存更改的信息.)如果这个选项不能被更改请检查你的设置,我是配置成功了.

STEP FIVE 这个步骤教你如何安全恢复配置信息

虽然我不希望看到这出现问题.

如果出现了什么问题,你的modem不能工作,那么你也许需要还原刚才的配置.

1,进入http://10.0.0.138

进入每一个菜单中并且应用默认default 配置,并且应用,并且保存.

如果你的配置依然没被还原,那么,记得modem背板上的默认按钮吗?重复那个步骤.(决大多数信息

都被还原为默认的了)除了 8604 ~ 8606 那个数值还没有被改变.

使用telnet 连入你的modem

telnet 10.0.0.138

重复刚才的那个过程
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
输入 EXPERT 命令。

如果高于253,像这个例子这样,你需要输入td prompt

这里是td prompt
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
进入专家模式后

>
rip>drv_write 2 1 b 8604 或者根据你原来的情况更改最后那个数字6还原为4.
然后输入
rip>exit
>system
system>reboot   /*modem重新启动*/

**还原完成.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
我是在本子中的winxp 中完成此步配置

原因是,我的内网上网配置了专用的squid + iptable 用于实现httpd加速 + 以及基础的防火墙

平时此机器没有监视器.虽然平日用ssh进行管理.但是ifconfig 这种命令在远端即使是root也不能执行

嫌麻烦,所以把modem 连到了本子上进行配置.

当然各位可以根据实际情况,以及个人喜好在linux 下进行配置.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

至于性能如何,请大家测试吧.

这不见得比专用的代理服务器的性能要好最主要不能提供代理加速或者一些更为细微的限制,但也不失为一种 Internet connection share 的解决方案.

有关squld + iptable 构架透明代理

请见下面的链接,我在那篇文档中给出了足够的资料:


http://www.linuxsir.cn/bbs/showt ... d=118828#post118828

注:我的modem配置已经还原.继续使用着原来的代理配置,

本文参考了modem 的出厂说明书,以及原英文文档,并非翻译:

http://www.petri.co.il/upgrade_from_home_to_pro.htm

嘿嘿想升级firmware的朋友访问下面的链接吧.

http://www.nzdsl.co.nz/software/alcatel/Default.htm

一定要注意版本匹配,升级过程是有危险的,弄坏了我没办法恢复哦.

:cool:
 楼主| 发表于 2003-1-25 02:25:54 | 显示全部楼层
(获得 expert 密码的链接一的例图)
http://www.petri.co.il/images/adsl.jpg


软件版本的提示截屏:
 楼主| 发表于 2003-1-25 02:33:35 | 显示全部楼层
(Alcatec speedthouch home/pro 的内置web管理页面的截屏)
http://www.petri.co.il/images/upgrad4.jpg
PPP 菜单的截屏
http://www.petri.co.il/images/adsl4.jpg
PPP 菜单配置完成图.state up status on
http://www.petri.co.il/images/adsl5.jpg
如果不是这种状态检查你的设置.

以下为输入专家模式密码的截图:
 楼主| 发表于 2003-1-25 02:35:37 | 显示全部楼层
本文中涉及的网络构架:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 楼主| 发表于 2003-1-27 18:39:18 | 显示全部楼层

升级dsl modem firmware 的方法。

由上面的贴子你可以找到基于web页面管理进行dsl modem firmware 的升级的地方。

下面将介绍另外一种升级modem firmware 的方法。

** 首先请你先在下面的链接中下载你需要的firmware.

阿尔卡特的speedtouch home/pro 中的firmware 中

KHDSAA.132  99 年

KHDSAA.134  2000 年

这两个版本有安全问题。建议升级到KHDSAA3-253以上。

** 注:KHDSAA3-253 是安全版本中最小的版本(973KB)。
KHDSAA3-264也是不错的选择。(979KB)
--〉笔者成功在speedtouch home 原firmware 为132上升级成功。
KHDSAA3-270是最新的版本(980KB)。--〉笔者升级成功,虽然最新版本最庞大,但十分稳定。

(KHDSAA.134 的下载地址)
http://www.ambrosa.it/alcatel/KHDSAA-134.zip    (大小: 834 KB,)

** 如果你无法备份出原有的firmware 版本,就下载个吧,不是原来的132版本也无所谓.这个比132略微新些,虽小可惜存在安全问题。

KHDSAA3-270 下载地址

http://www.nzdsl.co.nz/software/alcatel/Khdsaa3.270

** 略微陈旧的版本KHDSAA3-264,比270小1kb,嘿嘿:你可以自己测试性能。

http://www.nzdsl.co.nz/software/alcatel/Khdsaa3.264

** 安全版本中最苗条的版本。KHDSAA3-253。性能如何,由于最近互联网上病毒作乱,笔者没来得急测试。

http://www.nzdsl.co.nz/software/alcatel/KHDSAA3.253

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
首先对你下载的新版firmware 例如 KHDSAA3-264.ZIP 进行解压.
再以上文的基础上,确保你与modem进行通信的网卡的ip地址为10.0.0.x (x不能为138,并且x 在1~254之间)然后以win的命令行为例。开始菜单-〉运行,nt/2k,xp输入cmd,98/me输入command **重复两次。(开启两个命令行终端)**

在其中一个命令行终端中,输入下面的命令
进入你新版本firmware 解压后的目录中如c:\khdsaa3-264>中.
ftp 10.0.0.138  /*使用ftp客户端登陆到,你的modem.*/
cd /dl  /*进入dl目录*/
del KHDSAZ.134 (空间有限,必须先删除原来的passive版本才能上传新版本。)
先不要退出.
然后切换到另外一个命令行终端,输入下面的命令

telnet 10.0.0.138 用户名密码,如果你没有修改过设置,直接回车就可以.

=> software deletepassive  /*删除passive版本.*/

=> software version  /*显示软件的版本码*/

=> software cleanup  
  
回到那个你开ftp客户端的终端.

如果刚才你关闭了此终端你需要重新执行上述的步骤1~2
( ftp 10.0.0.138 以及cd dl )

ftp> type binary     /*定义通信传递的数据类型*/
ftp> put KHDSAA3.264  /*上传新版本 */

切换至你开启telnet客户端的终端
=> software setpassive file KHDSAA3.264    /* 设置新版本的passive文件*/
=> software switch /*切换软件,(现生效的,以及保护/备用的.)这个过程modem会重新启动*/

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
以上的步骤其实新版本的firmware就已经成效了.但是细心的读者也许会发现其中有点小问题

-->原来的新版本与老版本相同.现在不是这样.

-->那个保护版本的备份firmware 是当modem启动失败时候去寻找保护的版本来完成引导的过程的

所以这似乎还有些工作可做.

为此,还需要,在你确定,你的modem工作正常之后

你可以重复上述的步骤,删除你的被切换成为保护版本的老板本,比如132或者134.

然后再次山传,modem的新版本的firmware.

使用telnet 终端登陆modem,将其保护版本设置为新版本(注如果不山传,起不到保护作用,虽然节约了firmware的容量,但没有冗余功能,而且,设置时候,由于文件路径不对,系统会提示,找不到软件版本的)

然后结束***好了,可以测试一下你的modem,是不是可以很稳定的工作??



;)
发表于 2003-1-29 02:26:03 | 显示全部楼层
老兄辛苦了,老兄的研究精神值得我们学习。
发表于 2003-1-29 21:05:17 | 显示全部楼层

请兄台帮忙

请问是不是一定要升级firmware才行??我的是Gv8baa3.270,以前升过,是否要升到8.1???是升home版还是pro版??可否用Speedtouch Pro Software (Khdsaa.270)
Speedtouch Pro Software (Gv8bab3.281)
哪个才适合??

还有,请教 fleedib兄
是否只需修改你说的几项?其他都不用更改就可生效??
我已是home版7.0,修改了之后还是不行啊。。老是trying...
最后还是要defaults才行。。希望能尽快回复。。因为这个问题已经困扰小弟很久,家中有两台机上网,用hub连,老变来变去很麻烦。
 楼主| 发表于 2003-1-29 23:50:52 | 显示全部楼层
skyhawk兄弟,其实我也有个疑问,不知道老兄的modem 型号与小弟是否一致

如果你的modem型号是home版本的,pro版本的khdsaa.270应该是可用的

(我的就如此,->

不过我的home版本modem有一个口,而且默认的比较老的firmware就是khdsaa头

另外,据说,如果升级了不兼容的firmware,modem启动会有问题,你升级的modem应该是兼容的.

所以,没有对firmware版本的疑问.

你说的始终trying...,你仔细观察了灯的拨号闪动状况是吗,所以说出不断尝试重播

断线的原因,这种现象说明,modem的拨号选项页配置是应该没有问题的.

拨号拨不上去的原因,始终尝试的原因在于拨号规则等细节问题的地域性不一致.

这相当于你看到在win中见到那种播号,被断开,需要其他的拨号协议的提示类似...


看这句:
建议一,进入PPTD 菜单并且 (remove) 移除所有的记录,然后(SAVE)保存。别担心,如果出错还原默认配置即可。

我们要创建使用的某些资源VCI的数值被原来的某些设置使用着,移除记录就为此,虽然某些也许可以保留,但是我做过测试,删除绝对没有问题,而且如果需要也可以恢 复。

注:我这段话中说的绝对可以删除是针对可以恢复说的,

抱歉看来我没有说清楚,

配置好了的modem应该可以on,而不是trying...

但是,如果你要删除其他的拨号规则选项

脱离他们使得自己创建的拨号规则独立工作的话,

你需要进行尝试,应该先以最安全的只删除占用48 的那项,然后再尝试.给您带来

的麻烦,小弟表示歉意.


我参考的文献中的那个英文链接中给出的解释应该也是这个意思.

http://www.petri.co.il/upgrade_from_home_to_pro.htm

发表于 2003-1-30 00:54:56 | 显示全部楼层

感谢fleedib兄

已刷新 Speedtouch Pro Software (Gv8bab3.281),另外的还没敢刷。不过不觉得有什么不同,我的modem是home版的,带一个atm-25接口,本来的那个代码是8704。
现在才看到fleedib兄的回复,现在就去试。感谢!
发表于 2003-1-30 00:59:31 | 显示全部楼层
我的modem默认版本开头就是Gv8baa3
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表