迷你 Linux 架 ADSL 計時 NAT 主機(一張磁片通通搞定)



贊助商連結


gerrybbs
2001-08-17, 05:41 PM
硬體需求:乙台 486 以上(灰塵記得給它拍一拍)
RAM 16MB
堪用軟碟機
網卡兩張
ADSL 計時制,固定制

軟體版本:
-os minix
-PPPd v.2.3.11
-Roaring Pengiun PPPoE Client v.2.6
-DHCPd v.2.0pl5
-Weblet v.1.1.2
到此處下載所需軟體
http://leaf.sourceforge.net/devel/khadley/EigerStein_contrib_img_pppoe-beta0.4.exe

準備一張磁片,以 format 指令測試磁片是否有無壞軌

執行下載的檔案 EigerStein_contrib_img_pppoe-beta0.4.exe,過程提示插入磁片,製作完成即可取出

此時先說明 linux 驅動網路卡的訣竅: linux 硬體driver多以 modules file存在,驅動時就載入此 modules,格式為 filename.o
--有品牌網路卡,且有原版完整 driver
driver 內找尋 linux目錄,閱讀說明檔,說明如何編譯 driver modules,或者到下面連結找現成的
http://lrp.steinkuehler.net/files/kernels/Eiger/modules/net/
--不知從哪撿來的卡,且找不出晶片廠商
前提還是得確認晶片形式,我常用方式是用 win98 PNP function 去抓這張卡,通常古董級卡都適用 ne2000 driver,換作linux 時就用 ne.o

有了 module file,若卡不為PCI或任何不明原因導致 linux 無法驅動,就必須手動設定其 io,irq,這兩數據需藉由原始 driver 的 setup,這是一隻dos 程式,可得知,稍後會說明設定方法

可以開始實作了...

使 486 機器用以上該磁片開機,系統會逐步將所需檔案一一載入 RAM,啟動訊息可稍微注意,若需 debug,這些訊息就很重要了
一切 ok下,系統會停在 login ,請輸入 root,進入設定選單,先別忙設定,按 q 離開進入 command mode

此時要將網卡的 module file 載入並存入磁片,如以下指令
取出 linux system 片,插入 driver 磁片
file name假設為 rtl8139.o
mount -t ms-dos /dev/fd0 /mnt
cp /mnt/rtl8139.o /lib/modules

另一張 driver 同上處理,若無法複製,可將不必要modules, 刪除如下
ls /lib/modules -----瀏覽 module file
rm /lib/modules/3c59x.o -----刪除 3c59x

請注意,隨時 df 看看記憶體剩多少可使用,若不足將影響操作及 backup Ram,可 reboot 系統,釋放記憶體

執行 lrcfg 回到設定選單,選擇
3) Package Setting
2) Modules
1) Modules

設定檔內已內建不同 driver name,要使用它,取消前方的井字號,若不使用,請刪除或前加上井字號,如下

未修改前:
#tulip ----不使用

修改後:
tulip ----設定使用

請在此自行加上所用的網卡 driver module name,若完成各項設定,系統重新啟動後仍無法驅動,請再加上 io,irq,如下述

tulip io=0x300,irq=5 ----irq及io,前文已提到如何得知

凡作任何變更,都需執行 backup ram ,才有更新系統磁片的內容,否則 reboot 後,系統呈現未變更狀態.
backup Ram 區分幾大項,以上所變更會用到的只有兩種 modules,etc.備份時系統會比較前後設定檔的大小,若出現新設定檔的 size為0或過小值(>1000),請勿備份,系統 reboot 再修改一次,若不小心備份了,該設定檔於 reboot後會無法讀取,解決方式:可從原始磁片拷貝該檔案作覆蓋即可,當然設定得再做一次.

以上你完成了兩項工作,分別是拷貝driver到磁片,驅動網路卡設定.
reboot 系統,執行root,按 q 離開進入 command mode
執行 ip addr ,出現 eth0及eth1狀態
eth0 ----系統抓到的第一張卡且作為wan 端
eth1 ----系統抓到的第二張卡且作為lan 端

網卡設定預設值:
eth0 ----ip,netmask,gateway 皆為dhcp,若為計時制請維持預設,固定制修改ISP給的

eth1 ----ip:192.1.254 mask:255.255.255.0 gateway:192.168.1.254
請依實際網路作設定

進入網路設定步驟為:
執行 lrcfg (主選單)
1)Network
1)networ
修改相關的網路參數

adsl撥接設定:
若停留在選單 mode,請按 q 回到 command mode,執行 adsl-stop(系統預設為系統啟動時會自動執行adsl connect,設定前先停止adsl connect),執行 adsl-setup
提示一:輸入 username (你的連線帳號)
提示二:輸入wan介面名稱 eth0
提示三:斷線重連時間,建議維持預設 no
提示四:輸入primary,second DNS,以ISP為主
提示五:輸入password(你的連線密碼)
提示六:firewall,選擇 2
提示七:選 y

執行 reboot,系統重開,完成開機後啥都不用作,NAT已經 ready


記得 reboot 前要儲存磁片(Backup ram->etc)

參考連結:

http://leaf.blkmtn.org/LRP2.9.8-HowTo.html

http://lrp.steinkuehler.net/files/kernels/Eiger/modules