Monday, December 27, 2004

利用一部舊電腦以及Linux建立firewall broaddband router

硬件:
Petium 級CPU、32MB RAM、Floppy Driver、PCI Lan Card兩張,一張連接LAN另一張接ADSL modem.
軟件:
http://leaf.sourceforge.net
Bering uClib version.
http://leaf.sourceforge.net/bering-uclibc/

概觀:
LEAF(Linux Embedded Appliance Firewall)前身為LRP(Linux Router Porject)發展而來,目的利用Linux開發出一些嵌入式防火墻應用,現有多個分支。是次使用Bering-
uClibc(文中簡寫為uCB 或直接寫為Bering,但勿與另一分支Bering混洧)。
uCB 運行方式為利用floppy boot機,並把所有要運行的內容以RAM Disk的形式運行。由於floppy用的格式為fat可在windows或Linux下直接讀寫,方便增刪任何套件。每次開機時引導程序先由 initrd.lrp -- initial ram disk 建立了基本根區/ 載入核心,並讀取uCB設置文件決定所要載入的軟件包,最後完成Linux的開機投入使用。而使用方式與一般Linux相同(基於Debian)。
文 中所有內容均參考自uCB的說明文件及網上搜索,依據一次建立經驗回憶所寫,最後把啟動及存放套件(Bering-uClibc)/軟件包 (packages)介質由軟碟轉為CompactFlash(IDE Harddisk like),一切以此最終環境,故未必與說明文件相同。

建立Bering Disk:
準備無壞磁區的軟碟一張,可在Windows或Linux下完成,過程較簡單
在windows 下運行該exe檔,按指示插入floppy即可。

設定步驟:
1>基本環境:hostname, password, packages, editor,
2>網絡設定: Lan cards, host allow, sshd, httpd
3>防火墻: shorewall
4>ADSL設定: pppoe
5>其它: 参考資料

附>進階安裝:Compact Flash to IDE


用uCB啟動碟開機,可以看出其開機過程與一般Linux大致相同。當出現提示輸入root密碼後直接按enter進入,Bering 提供設定介面設置(類似cisco switch 19xx ios,為預設方式,可按q離開),但亦可直接編輯各設定檔。
(較喜歡直接編設定檔,故採用該方式較多)
1>基本環境設定:

包括root密碼、喜愛的文本編輯器、啟動時載入的packages等
更改密碼: 按一般linux下更改password方法
#passwd
please enter your password:
re-enter your password again:

文本編輯器名為e3可以模擬多種方式(vi pico ...),詳見/bin下e3開始之命令。
在~/.profile 中設定 alias vi = e3vi即可


設定啟動時載入的packages:
在開機軟碟中有個名為lrp.cfg的檔案--文字檔,包含有啟動時所需設定的項目,翻查文件得知項目由LRP更名為LEAF後該設置檔亦由lrp.cfg 改為leaf.cfg,並得知lrp.cfg限制較多,項目改用leaf.cfg 兩者大致相同
#mount /dev/fd0 /mnt
#vi /mnt/leaf.cfg
...
.....
LRP="root config etc......"
PKGPATH="/dev/...."
....

其中主要變量有
LRP、 所要在開機時載入之軟件包。句法: LRP=" pkg_name01 pkg_name02 ...." 其中pkg_name01 為存放在開機介質中軟件包之檔案名。例如root.lrp 即為 root,
注意:
1.根據軟件包的性質可分為"必要"和"任選",而且有依附性,即載入某個軟件包必先載入另一個或多個軟件包。
2.因存在依賴故軟件包載入要求按先後順序(
按等號後順序),亦不要重覆載入。
3.其中作為參數之pkg_name01 必須與
開機介質中軟件包之檔案名一致,否則載入失敗,例如 shorewall 因受fat 8.3檔名所限名為shorwall.lrp 故須寫為 LRP="... shorwall ..."
PKGPATH、軟件包存放裝置及文件系統格式
syst_size、root(/) 文件系統大小



1 comment:

Unknown said...

兩位西人竟對然覺得本文有趣,他們中文真不錯.
(似乎有點古怪,不過算啦)