TCP/IP協議是在Unix上發展起來的,並在Linux系統中得到了很好地繼承,這使TCP/IP成為Linux系統不可分割的組成部分。因為Linux系統中TCP/IP棧的實現尤為成熟,Linux更是號稱擁有業界最強的路由功能,加之其靈活、容易定制的優點,所以深受資深網管和高水平用戶的青睐。用戶都是通過網關連接到互聯網。網關多數是專用的路由器和交換機。目前,Linux的通用性越來越強,經過適當地配置之後,它完全可以擔當互聯網的物理基石——路由器這一重要角色。互聯網上的高水平開發者對Linux進行精簡和定制後,推出了Linux軟件coyote Linux(北美土狼)是一款非常小巧方便的軟件路由器和防火牆軟件,它以一張軟盤為載體,可以使用一些古老的機器做為代理防火牆,而它的功能卻很強大,本文簡要介紹一些coyote Linux的安裝及配置使用。
它可以僅通過一張軟盤來運行,有效降低了對硬件資源的要求,並提高了工作效率。coyote Linux聲稱可以在486以上的PC機上順暢運行,而且只需8MB以上的內存。它的用途和設計思路與嵌入式系統非常類似。和另外一個Linux路由器/防火牆軟件——LRP相比,它們的工作原理基本一致,不同之處在於LRP的配置方法相對比較原始,每一步都需要命令行或修改配置文件來進行,而coyote Linux了交互式的選單向導配置程序,更易於操作。另外一個其中比較常見、配置簡單的是BBIagent,但是現在已經不是免費的了,每台路由器的軟件注冊費為 36 美元。已經完全背離開源道路。
coyote Linux 官方網址:http://www.vortech.net/ 最新版本是2005年6月24日推出的2.24。主要功能:
1.支持靜態IP地址連接方式,支持普通調制解調器撥號方式,支持PPPOE也就是ADSL的連接方式;
2. 程序內建DHCP服務器功能;
3. 防火牆,包括七層過濾;
4. IP自動轉發,支持令牌回環,也就是俗稱雙通,能實現端口映射,將內部服務器發布出去。 5. 遠程管理支持中文。
6. 可以設置為DNS服務器。
7. 可以配置為無線接入點或者打印服務器。
系統要求
作為路由器的計算機需要具有486以上的中央處理器、16MB以上的內存、軟驅、連接局域網的網卡和連接互聯網的網絡設備,該設備可以是連接XDSL的網卡,也可以是線纜調制解調器(Cable Modem)或普通的調制解調器。支持以下網卡:
3com509 Modul:3c509
3com900 Modul:3c59x
Intel Ethernet Pro 100 Modul:eepro100
3com590 Modul:3c59x
RTL8139 Modul:8139cp eller8139too
下面詳細介紹coyote Linux的安裝及配置使用的步驟:
將安裝coyote Linux軟件的計算機加入局域網,如果是用ADSL/Cable調制解調器方式連接互聯網,需要兩塊網卡,一塊接入局域網,一塊連接ADSL/Cables設備。筆者網絡拓撲見圖1。
圖1 網絡拓撲結構
步驟一:
軟件下載安裝:現在從http://www.coyotelinux.com/ 上可以下載到Linux版和Windows版的制作程序,為了體現開源精神我選擇了Linux版本:
#wegt http://downloads.vortech.net/cgi-bin/dlmgr/download?ChannelID=5&DownloadID=22
#tar vxf coyote-2.24.tar.gz;#cd coyote-2.24
#./makefloppy.sh
Coyote floppy builder script v2.9
Please choose the desired capacity for the created floppy:
1) 1.44Mb (Safest and most reliable but may lack space needed
for some options)
2) 1.68Mb (Good reliability with extra space) - recommended
3) 1.72Mb (Most space but may not work on all systems or with
all diskettes)
按照提示選擇1。
步驟二:選擇接入互聯網方式
Please select the type of Internet connection that your system uses.
1) Standard Ethernet Connection
2) PPP over Ethernet Connection
3) PPP Dialup Connection
下面系統會自動工具檢測到的網絡設備,確定連接互聯網所使用的協議類型。如果是安裝了ADSL或線纜調制解調器,選擇2;如果是專線選擇1;如果是普通調制解調器撥號上網,則要使用3。以下操作是1為例。
步驟三:設置網絡參數:
這個需要根據自己內部ip地址的分配情況進行設置。例如:如果內部網的ip是192.168.0.1/24,這裡就要把ip設置成192.168.0.X。而其他的機子要將網關設置成這個地址。以上三個步驟選項見圖2。
圖2 相關配置選項
步驟四:選擇是否把coyote Linux設置為dhcp服務器給其他的機器分配ip地址。可以根據自己的實際情況決定用還是不用。缺省設置是把它配置為dhcp服務器,IP分配地址:192.168.0.100-192.168.0.200。
步驟五:是否將coyote Linux構建“Demilitarized Zone”(DMZ)的區域。缺省設置是否。最簡單的情況是直接將防火牆放置在外網和企業網絡之間,所有流入企業網絡的數據流量都將通過防火牆,使企業的所有客戶機及服務器都處於防火牆的保護下。然而這種結構畢竟比較簡單,企業中有許多服務器、客戶機等資源需要保護,不同的資源對安全強度的要求也不同。不能用對待客戶機的安全級別來對待服務器,這樣服務器將會很危險;同樣,也不能用對待服務器的安全級別來對待客戶機,這樣用戶會感覺很不方便。針對不同資源提供不同安全級別的保護,可以考慮構建一個叫做“Demilitarized Zone”(DMZ)的區域。DMZ可以理解為一個不同於外網或內網的特殊網絡區域。DMZ內通常放置一些不含機密信息的公用服務器,這樣來自外網的訪問者可以訪問DMZ中的服務,但不可能接觸到存放在內網中的公司機密或私人信息等。許多防火牆產品都提供了DMZ的接口。硬件防火牆由於使用專門的硬件芯片,所以在性能和流量上有絕對的優勢。
步驟六:設置DNS服務器選項
為局域網內計算機提供域名服務代理,加快主機名對應IP地址的查找,從而提高訪問網頁的速度,可自設主機名稱和IP地址的解析。
步驟七:選擇WEB管理語言。中文一般情況下選擇CHN 。coyote Linux支持11國家的語言。見圖3。
圖3 語言設置選項
步驟八,選擇日志服務器的地址,日志對於安全來說非常重要,他記錄了系統每天發生的各種各樣的事情,你可以通過他來檢查錯誤發生的原因,或者受到攻擊時攻擊者留下的痕跡。日志主要的功能有:審計和監測。他還可以實時的監測系統狀態,監測和追蹤侵入者等等。
步驟九:系統自檢,提示輸入網卡中斷、IO是否啟用7層過濾等選項。RTL8139的pci接口的網卡,直接被支持的,IO地址和IRQ不需要設置的,直接使用會車鍵NEXT,如果你用的是ISA網卡就必須填寫。完成後會系統當前信息,見圖4。
圖4 系統信息
步驟十:完成操作啟動Linux路由器、防火牆
按照提示加入一張1.44MB的軟盤,制作過程自動完成,大約需要250秒鐘。coyote Linux軟盤就完成了。用這張軟盤啟動一台打算作為路由器的機器,在bios裡設置成軟驅啟動。
步驟十一:遠程管理coyote Linux 路由器、防火牆
目前主要的遠程連接技術大致分為以下兩種:一種是基於浏覽器的Web界面方式,另一種是基於命令行的方式。命令行的管理方式適合進行初始化、網卡配置等基本操作,不適合做豐富的管理功能。Web管理方式是另一種管理工具。這種方式提供了簡單的管理界面,直觀,是一種重要的管理工具,適合進行復雜的配置,連接多台服務器,同時支持豐富的審計和日志的功能。下面分別這介紹這兩種方法。
SSH命令行方法:
目前通過SSH的遠程管理工具在安全性上已經相當可靠,因為從目前來看,如果要對這些遠程管理方式進行攻擊,所有的可能就是在傳輸中。在傳輸中,假設所有的信息都被截下來,由於解密的工作量非常大,它依然是安全的。如果使用IDA加密算法,用每秒鐘可以猜測10億密碼的分析機器,需要2的19次方/年才可以解密。SSH由於它本身是一種協議,所以對於異構平台之間,不存在兼容性問題,是一種跨平台的方式。在Linux客戶端下使用SSH,優點是操作更方便無須其他軟件。用戶只需要使用系統提供的默認的配置文件“/etc/ssh/ssh_config”,並且使用如下簡單的命令即可登錄:
ssh -l root 192.168.0.1
[email protected]’s password: *******
圖5 通過SSH登錄的管理界面
下面簡單介紹一下主菜單:
1)Edit main configuration file :修改主配置文件。
2) chang system password :修改系統密碼。
3)Edit rc.local script file :修改/etc/rc.d/rc.local配置文件。
4)Custom firewall rule :自定義防火牆規則。
5)Edit Firewall configuration :修改防火牆配置。
6)Edit port forward :修改端口轉發。
c) Show running configuration :查看正在運行的配置。
f)Reload firewall :重新加載防火牆。
r)Reboot system :重新啟動系統。
w)Write configuration to disk :把配置文件寫入磁盤。
q)quit :不存盤退出。
e)exit :存盤退出。
另外如果使用Windows操作系統的話,可以使用putty。該工具目前使用得相當普遍,可以從網上免費下載。最新版本為: putty 0.58。操作非常簡單筆者就不贅述了。
浏覽器管理方式:
浏覽器方式管理界面一般需要完成對系統的配置、管理和監控。配置好之後,通過一個Web服務器、網絡上任何一個計算機的浏覽器都可以管理它。在浏覽器的IP地址中輸入它的地址和管理端口號8180(Coyote Linux自定義的端口為8180),然後輸入管理員口令。即可見到如圖所示管理界面。通常使用浏覽器連接遠程Linux服務器用於:遠距離的技術支持。以前一般技術人員和用戶之間的電話交流來進行,這種交流既耗時又容易出錯。許多用戶對Linux系統知道得很少,然而當遇到問題時,有了遠程控制技術,技術人員就可以遠程控制用戶的電腦,就像直接操作本地電腦一樣,只需要用戶的簡單幫助就可以得到該機器存在的問題的第一手材料,很快就可以找到問題的所在,並加以解決。見圖5。
圖6 浏覽器遠程管理界面
步驟十二:高級應用,以其他存儲介質使用coyote Linux
coyote Linux 官方網址的鏈接說明其不支持USB啟動(http://www.vortech.net/faq/?myfaq=yes&id_cat=2&categories=Coyote+Linux+2.x+-+General#28 )。但是為了使軟盤Linux路由系統具備更多的功能,必然要求在軟盤空間上容納更多的內容。然而軟盤空間有限,讀寫速度比較慢,也容易被損壞。現在比較新的計算機都支持USB閃盤進行啟動,所以可以將軟盤中的文件拷貝到USB閃盤中,來提高系統工作的性能。需要的軟件包括syslinux(由它來引導Coyote Linux,下載站點:http://downloads.planetmirror.com/pub/linux-router/utils/syslinux-1.48.tar.bz2)。步驟:
1.使用FAT格式對其進行格式化,建立USB啟動盤目錄,注意使用正確的 USB 盤設備名稱。mkdosfs 命令包含在 dosfstools工具包中。為了能在 USB 閃盤引導後啟動內核,我們要在 USB 閃盤上放入一個啟動引導程序。盡管任何引導裝載程序(比如 LILO)都應該可以勝任這個工作,不過還是使用 SYSLINUX 更方便。主要原因是是它可以使用 FAT16 分區,而且只需要編輯一個文本文件就能對其進行配置。任何支持 FAT 文件系統的操作系統可以用來改變啟動引導器的配置文件。
#mkdosfs /dev/sdb1
#mkdir /mnt/usb
2.掛載USB啟動盤:
#mount –t vaft /dev/sda1 /mnt/usb
3. 拷貝、修改配置文件
將coyote的系統軟盤中除了“LDLINUX.sys”之外的文件和目錄全部拷入USB盤的根目錄中。下載支持usb啟動 的coyote內核文件(鏈接:http://www.cnrot.cn/upload/2005_10/05100614353469.rar ):linux覆蓋掉USB盤的linux這個文件。然後將syslinux.com這個文件也拷貝到USB盤中。用編輯器修改USB盤上syslinux.cfg這個文件的一行:
append=load_ramdisk=1 initrd=root.tgz initrd_dyn=minix ramdisk_size=4096 root=/dev/ram0 boot=/dev/fd0,vfat
改為:
append=load_ramdisk=1 initrd=root.tgz initrd_dyn=minix ramdisk_size=4096 root=/dev/ram0 boot=/dev/sda1,vfat
4. 首先現在的主板大多數都支持從USB盤啟動,啟動時,需要到BIOS下設置從USB設備啟動。進入BIOS的Advanced BIOS Features下的first boot device選項,就有usb-fdd、usb-hdd、usb-zip、usb-cdrom等usb設備的啟動選項了,如果是以usb-hdd啟動,運行命令:“syslinux -s c:”
5.常見問題:如果您的系統拒絕從 USB 閃盤引導,那麼可能是因為它含有無效的主引導扇區記錄(MBR)。您可以使用 install-mbr 命令來修復這個問題,該命令來自 mbr 軟件包。另外某些USB閃盤(朗科優盤或魯文的易盤)要先去掉加密系統,魯文的易盤設密碼為空即可,否則mount掛載上的只是usb-fdd。
另外在完成配置後,可以省去顯示器、硬盤、鍵盤、鼠標等,從而大大降低硬件成本。另外除了本文介紹的Linux軟盤路由器、防火牆外,coyote Linux還可以作為打印服務器、無線接入點。
總結:Coyote Linux 是一個單磁盤Linux套件,用來設置各種網絡服務,比如互聯網連接共享,防火牆;無線接入點等。最大的特點就是所有需要的組件都濃縮在一張軟盤中,使用非常方便。它可以使局域網的計算機可以共享一條寬帶線路訪問互聯網,並同時可在互聯網和局域網間建立起一道安全的防火牆。該方案適用於家庭、SOHO用戶等使用Linux系統作為路由器的網絡環境。
參考文獻:http://www.router.net.cn/softrouter/CoyoteLinux/200505/2441.html