Linux是為網(wǎng)絡(luò)而生的,如果你想自己DIY一個(gè)互聯(lián)網(wǎng)設(shè)備,Linux將是不二之選,最流行的互聯(lián)網(wǎng)設(shè)備是路由器,現(xiàn)在很多家庭也擁有一臺(tái)路由器,它們將DSL或有線互聯(lián)網(wǎng)連接轉(zhuǎn)換成以太網(wǎng)或無(wú)線網(wǎng)絡(luò),供家庭電腦使用,如果你不止一臺(tái)電腦,通過(guò)路由器共享上網(wǎng)幾乎成了不爭(zhēng)的事實(shí)標(biāo)準(zhǔn)。 如果你有一臺(tái)很老很老的舊電腦,也許你將其丟棄在儲(chǔ)物間的某個(gè)角落,現(xiàn)在早已覆上了厚厚一層灰塵,也許你曾經(jīng)將其放在二手物品交易網(wǎng)站上,但無(wú)人問(wèn)津,也許你覺(jué)得這樣的電腦應(yīng)該當(dāng)廢品賣(mài)幾個(gè)酒錢(qián),但今天我要告訴你的是,廢物也能重新煥發(fā)生機(jī),不信請(qǐng)繼續(xù)往下看。 你可以將它配置成一個(gè)互聯(lián)網(wǎng)網(wǎng)關(guān)/路由器,但你也許馬上就會(huì)反問(wèn):“為什么不用現(xiàn)成的Modem/路由器,何苦要這么折騰呢?”,沒(méi)錯(cuò),現(xiàn)在的家用路由器已經(jīng)很便宜,任何人都能負(fù)擔(dān)得起,但我想說(shuō)的是,自己DIY一臺(tái)路由器,可以獲得更多的控制權(quán),并且可以藉此學(xué)到更多知識(shí),這就好像一個(gè)是白盒,一個(gè)黑盒。 要實(shí)現(xiàn)這個(gè)目標(biāo),我們有兩種選擇,一種是用專(zhuān)用的Linux發(fā)行版,它內(nèi)置了所有需要的軟件包,直接安裝變成,另一種是完全從零開(kāi)始構(gòu)建整個(gè)路由器的操作系統(tǒng),一般是使用最小化Linux安裝,再加上一些需要的軟件包。選擇發(fā)行版有許多發(fā)行版可用于構(gòu)建自己的路由器和防火墻,除了Linux外,還有FreeBSD可供選擇,它們又可分為兩種類(lèi)型,一種專(zhuān)門(mén)提供了防火墻/路由器功能,另一種提供了更復(fù)雜的互聯(lián)網(wǎng)網(wǎng)關(guān)功能,包括打印、郵件、文件和Web服務(wù)器。我們這次選擇的是IPCop 1.4.21穩(wěn)定版,如果你喜歡冒險(xiǎn)和嘗鮮,可以試試最新的1.9版本。 圖 1 IPCop和其它成品路由器一樣是通過(guò)Web界面進(jìn)行配置和管理的 至于舊電腦,達(dá)到i586的配置就可以了,也許你會(huì)感到很驚訝,586時(shí)代的電腦還有用處?其實(shí)這種配置的舊電腦可以充當(dāng)一個(gè)中型網(wǎng)絡(luò)的互聯(lián)網(wǎng)網(wǎng)關(guān)。 IPCop是沒(méi)有桌面的,安裝完成后,所有操作都是通過(guò)Web管理界面完成的,因此它對(duì)電腦內(nèi)存的要求是很低的,鍵盤(pán)和顯示器也只是在安裝期間才需要,安裝完畢后就可以搬走。 對(duì)電腦唯一的要求是至少需要配備兩塊網(wǎng)卡:一塊用于本地網(wǎng)絡(luò)連接(綠色網(wǎng)絡(luò)),另一塊用于連接互聯(lián)網(wǎng)(紅色網(wǎng)絡(luò)),當(dāng)然也可以是PCI DSL Modem卡,如果你使用3G網(wǎng)絡(luò),只需要有USB端口就行了。 如果你想設(shè)立一個(gè)非軍事區(qū)(DMZ),則需要另一塊以太網(wǎng)卡,如果你想將它作為一個(gè)Wi-Fi訪問(wèn)點(diǎn),那么一塊無(wú)線網(wǎng)卡也是必需的,將交換機(jī)接入本地網(wǎng)絡(luò)以太網(wǎng)卡后,網(wǎng)絡(luò)中的其它電腦就可以通過(guò)該交換機(jī)訪問(wèn)互聯(lián)網(wǎng)了。 注意,從IPCop光盤(pán)安裝時(shí)是沒(méi)有圖形界面的,全部是基于文本的界面,對(duì)于習(xí)慣了OpenSUSE,Ubuntu和Mandriva圖形安裝程序的人來(lái)說(shuō),也許會(huì)有點(diǎn)困難,其實(shí)整個(gè)安裝過(guò)程只會(huì)使用幾個(gè)鍵:使用光標(biāo)鍵移動(dòng)焦點(diǎn),使用空格鍵選擇,使用回車(chē)鍵確認(rèn)。另外,IPCop安裝程序會(huì)提醒你它要擦除整塊硬盤(pán)上的數(shù)據(jù),它是不支持和Windows實(shí)現(xiàn)雙重啟動(dòng)的,安裝過(guò)程是沒(méi)有分區(qū)那一步的,因此不必事先做好分區(qū)準(zhǔn)備。在還原屏幕選擇“跳過(guò)”,接下來(lái)選擇用于本地網(wǎng)絡(luò)連接的以太網(wǎng)卡,雖然你可以手動(dòng)選擇,但我一般還是接受安裝程序自動(dòng)做出的選擇。因?yàn)槁酚善饕话氵€會(huì)充當(dāng)網(wǎng)絡(luò)中的DHCP服務(wù)器,因此還需要指定DHCP客戶端的IP地址范圍,如果你不知道填什么,那就看看下圖中的內(nèi)容吧。 圖 2 安裝期間為綠色網(wǎng)絡(luò)設(shè)置DHCP服務(wù)器 安裝期間最重要的選擇是網(wǎng)絡(luò)配置類(lèi)型,綠色(GREEN)代表以太網(wǎng),紅色(RED)代表Modem,如果你想創(chuàng)建DMZ或無(wú)線網(wǎng)絡(luò),則要選擇橙色(ORANGE)或藍(lán)色(BLUE),當(dāng)然這些都可以在以后再修改。 圖 3 安裝后通過(guò)Web管理界面重新配置綠色網(wǎng)絡(luò)DHCP服務(wù)器 地址配置如果你的Modem能從你ISP的DHCP服務(wù)器自動(dòng)獲得DNS和網(wǎng)關(guān)服務(wù)器地址,那么在設(shè)置時(shí)就可以留空,但一般情況下,你應(yīng)該為綠色和藍(lán)色網(wǎng)絡(luò)指定DHCP自動(dòng)分配IP地址的范圍,我們一般喜歡從192.168.1.100開(kāi)始分配,低于100的則用于靜態(tài)分配,不管如何,這里都需要啟用DHCP服務(wù)器。DNS服務(wù)器地址可以使用IPCop本機(jī)的地址,這樣IPCop就充當(dāng)了DNS緩存的角色。 最后,你需要為三個(gè)用戶設(shè)置密碼,root用戶一般是不會(huì)使用的,除非你想直接登錄到路由器上,admin用戶是Web界面的操作用戶,我們一般就使用它管理和配置IPCop,backup用戶則用于備份。設(shè)置好密碼后就可以取出IPCop安裝盤(pán),重啟電腦了。 圖 4 設(shè)置用戶密碼 啟動(dòng)等電腦重啟好后,在綠色網(wǎng)絡(luò)中任一電腦上打開(kāi)瀏覽器,輸入https://192.168.1.1:445,用你安裝時(shí)設(shè)置的IP地址代替這里的192.168.1.1,此外還可以使用IPCop電腦的主機(jī)名訪問(wèn),默認(rèn)是ipcop(https://ipcop:445),瀏覽器可能會(huì)報(bào)告這是一個(gè)非受信任的網(wǎng)站,因?yàn)镮PCop使用的是自己產(chǎn)生的證書(shū),你只管點(diǎn)接受便可以了。 還記得安裝時(shí)為admin用戶設(shè)置的密碼嗎?如果沒(méi)有輸入密碼,你只能查看IPCop的主頁(yè),點(diǎn)擊任何按鈕和鏈接都會(huì)蹦一個(gè)登錄對(duì)話框出來(lái)。 首先你應(yīng)該選擇的第一個(gè)鏈接是“系統(tǒng)”*“更新”,因?yàn)橹黜?yè)上會(huì)顯示有更新可用,點(diǎn)擊“下載”按鈕,關(guān)于更新的描述信息會(huì)顯示在按鈕下方,下載完畢后,點(diǎn)擊“現(xiàn)在應(yīng)用”。 如果你看到一個(gè)“這不是一個(gè)授權(quán)的更新”的錯(cuò)誤消息,你的硬件時(shí)鐘可能出了問(wèn)題,多年未使用的電腦,或BIOS被重置后就經(jīng)常出現(xiàn)這種情況。點(diǎn)擊“服務(wù)”*“時(shí)間服務(wù)器”,手動(dòng)校準(zhǔn)時(shí)間,然后勾選“使用網(wǎng)絡(luò)時(shí)間服務(wù)器”,點(diǎn)擊“保存”,第一次你可能還是必須要手動(dòng)設(shè)置時(shí)間,因?yàn)槿绻麜r(shí)間跳躍太大,NTP是不會(huì)自動(dòng)修改系統(tǒng)時(shí)間的。 至此,你可以放心地將這臺(tái)DIY的路由器放在某個(gè)角落,只要保證它的散熱效果,其它一切你都可以遠(yuǎn)程通過(guò)Web界面實(shí)施控制,現(xiàn)在這臺(tái)路由器提供了DHCP和DNS服務(wù),并提供了互聯(lián)網(wǎng)訪問(wèn)共享服務(wù),下面我們開(kāi)始研究它的選項(xiàng)。 第一站我們選擇“系統(tǒng)”*“備份”,在這里你可以創(chuàng)建一個(gè)包含所有設(shè)置的DAT文件,以便需要時(shí)可以進(jìn)行回滾,在開(kāi)始嘗試一些操作前就應(yīng)該執(zhí)行一次備份,如果你愿意,還可以點(diǎn)擊“導(dǎo)出”按鈕將文件備份到移動(dòng)硬盤(pán)或U盤(pán)中。功能探索IPCop提供許多默認(rèn)沒(méi)有啟用的服務(wù),其中有些服務(wù)是值得研究和開(kāi)啟的,如位于“服務(wù)”菜單中的Web代理,時(shí)間服務(wù)器,動(dòng)態(tài)DNS服務(wù),集成Snort的入侵檢測(cè)和流量整形,最有用的還是對(duì)帶寬的限制,你不用再擔(dān)心有人下載最新的Ubuntu ISO鏡像,影響到你訪問(wèn)Fedora論壇的速度??梢詫⒍丝?5、110、143優(yōu)先級(jí)設(shè)置為“高”,80和443端口優(yōu)先級(jí)設(shè)置為“中”,F(xiàn)TP端口(21)和BitTorrent端口(6881-6999)優(yōu)先級(jí)設(shè)為“低”,這樣可以確保電子郵件無(wú)論在何時(shí)都能順利收發(fā),而下載則被限制甚至被阻止。 圖 5 限制上傳/下載速度,配置流量整形 你可以在安裝后再添加一個(gè)網(wǎng)絡(luò),但在Web界面中你會(huì)發(fā)現(xiàn)沒(méi)有與之相關(guān)的選項(xiàng),只能在命令行下解決,如果直接在IPCop服務(wù)器上添加,你還得接上鍵盤(pán)和顯示器,如果通過(guò)遠(yuǎn)程,可以選擇SSH,但需要先在“系統(tǒng)”菜單下啟用SSH,使用ssh -p 222 root@ipcop命令進(jìn)行連接,然后運(yùn)行setup,獲得一個(gè)類(lèi)似于安裝程序的GUI,你可以通過(guò)它修改安裝時(shí)做的一些配置,進(jìn)入“網(wǎng)絡(luò)”*“修改網(wǎng)絡(luò)類(lèi)型”,選擇“綠色+橙色+紅色”添加一個(gè)DMZ,或?yàn)闊o(wú)線選擇“藍(lán)色”,不管哪種方式,電腦上必須安裝了合適了網(wǎng)卡。 進(jìn)入“驅(qū)動(dòng)和網(wǎng)卡分配”,為新網(wǎng)絡(luò)選擇一個(gè)網(wǎng)卡,然后使用“地址設(shè)置”為新網(wǎng)絡(luò)接口分配一個(gè)IP地址,但必須是不同的子網(wǎng),如果你為綠色網(wǎng)絡(luò)使用192.168.1.1,那最好為橙色網(wǎng)絡(luò)使用192.168.2.1。設(shè)置完畢后,為安全起見(jiàn),關(guān)閉SSH連接。設(shè)置DMZ現(xiàn)在你已經(jīng)創(chuàng)建了DMZ,下面開(kāi)始設(shè)置它,在橙色網(wǎng)絡(luò)上沒(méi)有DHCP服務(wù)器,任何新增計(jì)算機(jī)都必須指定靜態(tài)地址,如果你要提供外部訪問(wèn),這是一件好事,因?yàn)槟阈枰獙⑼ㄐ呸D(zhuǎn)發(fā)到一個(gè)特定的地址。 為了訪問(wèn)IP為192.168.2.2的Web服務(wù)器,第一步是設(shè)置端口轉(zhuǎn)發(fā),其做法和標(biāo)準(zhǔn)Modem/路由器上的方法一樣,只是這里我們要轉(zhuǎn)發(fā)的目標(biāo)是位于DMZ區(qū)里的服務(wù)器。 圖 6 IPCop網(wǎng)絡(luò)架構(gòu),橙色(Orange)是DMZ 轉(zhuǎn)到“防火墻”*“端口轉(zhuǎn)發(fā)”頁(yè)面,“源IP”通常留空,即所有外部地址均可訪問(wèn),如果你想限制訪問(wèn)來(lái)源,你可以設(shè)置一個(gè)特定的IP地址,也可以設(shè)定一個(gè)地址范圍。 設(shè)置源和目標(biāo)端口為80(HTTP),目標(biāo)IP為192.168.2.2,點(diǎn)擊“增加”可在下方的列表中看到顯示的規(guī)則,接著點(diǎn)擊“重置”,重復(fù)為443端口做同樣的設(shè)置。 至此,你的Web服務(wù)器就能從互聯(lián)網(wǎng)訪問(wèn)了,當(dāng)然也可以直接從你的LAN(綠色為了)訪問(wèn),但它不能反向訪問(wèn)你的綠色網(wǎng)絡(luò),因此,即使服務(wù)器或它上面運(yùn)行的PHP代碼存在漏洞,受影響的也只有它本身,不會(huì)影響到綠色網(wǎng)絡(luò)的計(jì)算機(jī)。針孔通道有時(shí),你的Web服務(wù)器需要和位于綠色網(wǎng)絡(luò)的機(jī)器通信,如發(fā)送MySQL表的一個(gè)備份。IPCop有一個(gè)功能叫做DMZ Pinhole(針孔),它為橙色網(wǎng)絡(luò)中的某臺(tái)計(jì)算機(jī)提供了對(duì)綠色網(wǎng)絡(luò)中某計(jì)算機(jī)端口有限制的訪問(wèn),轉(zhuǎn)到“防火墻”*“DMZ Pinhole”進(jìn)行設(shè)置,但最好在需要時(shí)才設(shè)置這個(gè)“針孔通道”,因?yàn)樗鼘?duì)DMZ提供的安全性產(chǎn)生了一定的破壞。 IPCop的功能還有很多,遠(yuǎn)不止我談到的這些,正所謂師父領(lǐng)進(jìn)門(mén)修行在個(gè)人,建議你把IPCop Web管理界面的每個(gè)頁(yè)面都研究透,不懂的地方多去IPCop網(wǎng)站或查閱相關(guān)文檔。 怎么樣?看完本文后,你是否有種沖動(dòng),想把淘汰下來(lái)的舊電腦裝扮成一臺(tái)靈活,功能豐富,性能強(qiáng)勁的防火墻/路由器呢?不要猶豫,動(dòng)手吧!
|