資源描述:
《利用linux實(shí)現(xiàn)冗余因特網(wǎng)鏈路》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、利用Linux實(shí)現(xiàn)冗余因特網(wǎng)鏈路(1)隨著因特網(wǎng)服務(wù)提供商(ISP)開(kāi)始提供高速因特網(wǎng)鏈路,用戶(hù)比較容易把服務(wù)放在自己的家用計(jì)算機(jī)上。但如果ISP出現(xiàn)故障的話(huà),該怎么辦呢?一種顯而易見(jiàn)的解決方法就是,使用另一個(gè)ISP的冗余因特網(wǎng)連接。為了幫助建立采用冗余因特網(wǎng)連接的Linux主機(jī),本文討論了下列基本方面:1、配置主機(jī),以便合理處理多個(gè)ISP的入站網(wǎng)絡(luò)連接;2、出站網(wǎng)絡(luò)連接的負(fù)載平衡;3、配置各種服務(wù)實(shí)現(xiàn)冗余;4、使用ipchains或者iptables配置防火墻。圖1采用冗余因特網(wǎng)連接的Linux主機(jī)圖1描述了本文提到的家庭計(jì)算機(jī)網(wǎng)絡(luò)配置結(jié)構(gòu)。圖1中的Linux充當(dāng)因特
2、網(wǎng)和內(nèi)部局域網(wǎng)不同連接之間的防火墻。在本例中,以太網(wǎng)接口eth1使用DSL,以太網(wǎng)接口eht2使用線纜調(diào)制解調(diào)器。Linux主機(jī)對(duì)跨兩個(gè)ISP的出站網(wǎng)絡(luò)連接實(shí)現(xiàn)負(fù)載平衡。兩個(gè)ISP的負(fù)載平衡功能并不局限于高速網(wǎng)絡(luò)鏈路。同樣這種技術(shù)也可以用于兩個(gè)撥號(hào)連接之間實(shí)現(xiàn)負(fù)載平衡。圖1中測(cè)試配置所用的主機(jī)是采用雙處理器IntelCeleron533MHz的計(jì)算機(jī),運(yùn)行的是Linux內(nèi)核為2.2.18的RedHat6.2。還在Linux內(nèi)核為2.4.13的RedHat7.2環(huán)境中進(jìn)行了測(cè)試。本文中的配置不需要雙處理器系統(tǒng),也不需要533MHzCPU。你可以重新使用配有32MBRAM的
3、老式Pentium100系統(tǒng),充當(dāng)防火墻。本文介紹的一些例子是RedHat所特有的,但稍微改動(dòng)一下,就適用于其它版本的Linux。本文并不提供以太網(wǎng)網(wǎng)卡配置、Linux內(nèi)核編譯或DNS配置等方面的逐步講解的詳細(xì)內(nèi)容。完成這些工作方面的信息在網(wǎng)上或者許多書(shū)里隨處可得。http://www.linuxdoc.org/就是個(gè)相當(dāng)好的信息資源。內(nèi)核配置Linux內(nèi)核2.2以及更高版本支持高級(jí)路由技術(shù),為了提供Linux主機(jī)上的負(fù)載平衡及多條缺省路由,需要這項(xiàng)技術(shù)。為了支持多個(gè)因特網(wǎng)連接,編譯時(shí)必須加入下面幾個(gè)內(nèi)核網(wǎng)絡(luò)選項(xiàng):CONFIG_IP_ADVANCED_ROUTER=yC
4、ONFIG_IP_MULTIPLE_TABLES=yCONFIG_IP_ROUTE_MULTIPATH=y如果要使用新內(nèi)核的高級(jí)路由特性,就必須安裝iproute工具包(如今該工具包隨RedHat7.1一同發(fā)行)。可以從ftp://ftp.inr.ac.ru/ip-routing/獲得iproute工具包。Iproute工具包為使用高級(jí)路由技術(shù)提供了兩個(gè)特殊命令:ip和tc。有關(guān)ip命令的文檔放在http://snafu.freedom.org/linux2.2/docs/ip-cref/ip-cref.html。IP源路由利用Linux實(shí)現(xiàn)冗余因特網(wǎng)鏈路(3)4、ip
5、tables-1.2.4#makeinstall5、/usr/src/linux#makeoldconfig對(duì)作為補(bǔ)丁添加到內(nèi)核的CONFIG_IP_NF_MATCH選項(xiàng)回答m。6、重新編譯內(nèi)核,并重新啟動(dòng)。注意:這些指令是Linux內(nèi)核2.4.13和iptables1.2.4所特有的。預(yù)計(jì)在將來(lái)某個(gè)時(shí)候,這些試驗(yàn)性功能會(huì)成為主流內(nèi)核版本的一部分。防火墻腳本防火墻腳本的基本流程是依次配置INPUT、FORWARD和OUTPUT鏈。iptables防火墻腳本還要配置PREROUTING和POSTROUTING鏈。每個(gè)腳本都有注釋?zhuān)枋瞿男┝髁勘唤邮栈虮痪芙^。REJECT會(huì)
6、忽略數(shù)據(jù)包,并且向發(fā)送者返回ICMP響應(yīng),通知發(fā)送者數(shù)據(jù)包已被丟棄。DENY(ipchains)或者DROP(iptables)索性丟棄數(shù)據(jù)包,不返回響應(yīng)。這樣有人探測(cè)某個(gè)端口時(shí),系統(tǒng)如同不存在。本文中的防火墻腳本被編寫(xiě)成丟棄INPUT和FORWARD鏈上的數(shù)據(jù)包,以便不向遠(yuǎn)程系統(tǒng)返回響應(yīng)。腳本將拒絕接受OUTPUT鏈上的數(shù)據(jù)包,這樣如果是無(wú)效的出站數(shù)據(jù)包,本地系統(tǒng)就會(huì)收到響應(yīng)。要將防火墻腳本安裝在RedHat7.1系統(tǒng)上,就要把腳本放在/etc/init.d/firewall中,然后執(zhí)行下列命令:#chkconfigfirewallon要為你的系統(tǒng)配置防火腳本,必須編
7、輯下列兩行,定義內(nèi)部和外部接口:INT_IFACE="eth0"EXT_IFACES="eth1eth2"INPUT鏈為所允許的服務(wù)在防火墻上開(kāi)了通道,其它服務(wù)一概拒絕。你要為特定系統(tǒng)編輯服務(wù)列表。利用ipchains防火墻腳本中的下列幾行,就可以允許入站連接:#ACCEPTTCPconnectionsforvarious#servicesfoundin/etc/servicesforserviceinftpsshsmtpdomainhttpauthldaphttps;doipchains-AINPUT-i$EXT_IFACE-ptcp-