迷你 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

贊助商連結


jaycage
2001-08-17, 07:14 PM
感謝大大~~
:)

ANCHAN
2001-08-19, 10:42 AM
請問:
如果是在FreeBSD底下呢??
是否可以如此這麼作呢??
    我手邊也有一部電腦,是586,想請教您…

gerrybbs
2001-08-20, 02:46 PM
最初由 ANCHAN
請問:
如果是在FreeBSD底下呢??
是否可以如此這麼作呢??
    我手邊也有一部電腦,是586,想請教您…
磁片就已含作業系統(minix),若硬碟已存在其他任何系統,並不影響運作,因為基本上不會用到硬碟資料.
測試過程原想以單張網卡,使用 ip alias完成,然調整設定多次都未成功,若有網友測試單張網卡成功的,煩 post 分享

jase
2001-08-26, 07:36 PM
提供另一個NAT主機(一張磁片)
http://www.freesco.org "FREE ciSCO"
設定簡單.
ps. 雜誌上有談到哦!!!

gerrybbs
2001-08-27, 09:11 AM
最初由 jase
提供另一個NAT主機(一張磁片)
http://www.freesco.org "FREE ciSCO"
設定簡單.
ps. 雜誌上有談到哦!!!

感謝jase兄提供,小弟研究中...

Yummy
2001-08-27, 09:42 PM
我也是用這種LRP的方式來同時上網,可是我有一個問題想請教,如果是想利用接在NAT之後的電腦來架站的話,那LINUX的磁片中要做什麼設定呢,我知道在2000的NAT可以用MAPPING的方法使外界的人能連進來,可是LINUX是怎麼做啊,還是有其它的方式,想請教各位高手,謝謝

gerrybbs
2001-08-28, 09:40 AM
最初由 Yummy
我也是用這種LRP的方式來同時上網,可是我有一個問題想請教,如果是想利用接在NAT之後的電腦來架站的話,那LINUX的磁片中要做什麼設定呢,我知道在2000的NAT可以用MAPPING的方法使外界的人能連進來,可是LINUX是怎麼做啊,還是有其它的方式,想請教各位高手,謝謝

不知你的方式是哪一種...
EigerStein_contrib_img_pppoe-beta0.4.exe--->port fording
freesco ----> 手冊內未有相關說明
另在介紹不同的 LRP 實例(網友提供),BBIagent,全中文介面,免費,web 管理
連結位置: http://www.bbiagent.net/b5/index.html
官方說明支援內部架站功能(虛擬服務)

天堂之路
2001-08-28, 05:28 PM
我想請教各位,這幾個軟體在效能上的差異,以硬體而言,都是以過時的電腦486+16MB應該就夠了,所以我想在相同的硬體下,當大量的封包出現,這個時候以相同的硬體而言,軟體架構的方式配置記憶體等,都會影響表現,不知各位測試後有何差異,或是有哪一套有特異功能等不同之處,不知是否可以分享出來,謝謝

jase
2001-08-30, 09:03 AM
我想效能上差不多,因為大部份都是OS的精簡版,差異可能是功能上的支援吧?
除非有類似Proxy的東東.