linux網(wǎng)橋的配置方法_第1頁
linux網(wǎng)橋的配置方法_第2頁
linux網(wǎng)橋的配置方法_第3頁
linux網(wǎng)橋的配置方法_第4頁
linux網(wǎng)橋的配置方法_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

大家好,請(qǐng)問linux怎么搭建網(wǎng)橋,麻煩給個(gè)操作步驟,多謝了我有臺(tái)linux主機(jī),上面有2塊網(wǎng)卡,兩塊網(wǎng)卡一個(gè)是192,一個(gè)是10(這兩個(gè)地址也許要搭建網(wǎng)橋的話,就沒什么用處了,這里只是說明)我想把兩塊網(wǎng)卡搭建一個(gè)網(wǎng)橋,請(qǐng)問應(yīng)該如何做。搭建完網(wǎng)橋后,br0的地址是172ssffzzl發(fā)表于2010-09-2612:23brctlbjtzq發(fā)表于2010-09-2816:50兩種網(wǎng)橋的配置:1.RHEL5下配置透明網(wǎng)橋硬件:雙網(wǎng)卡。如網(wǎng)卡不支持端口自動(dòng)翻轉(zhuǎn)MDIX,需要交叉網(wǎng)線。從安裝盤安裝bridge-utils-1.1-2.i386.rpm,只需安裝這一個(gè)。運(yùn)行如下命令:ifconfigeth0ifconfigethbrctladdbrbri0brctladdifbri0eth0brctladdifbri0eth1echo1>/proc/sys/net/ipv4/ip_forward最后一句也可以:vi/etc/sysctl.confnet.ipv4.ip_forward=1#sysctl-p啟動(dòng)網(wǎng)橋:ifconfigbri0up至此,網(wǎng)橋?qū)崿F(xiàn)連通。給網(wǎng)橋指定ip地址:ifconfigbri05broadcast55或者:dhclientbri0以上命令寫入腳本,開機(jī)時(shí)運(yùn)行。2.RHEL5下配置ARP代理網(wǎng)橋雙網(wǎng)卡停用網(wǎng)卡。兩塊網(wǎng)卡設(shè)成一樣的IP配置(地址/掩碼/網(wǎng)關(guān)等)運(yùn)行下面的腳本。配置腳本:#!/bin/bashmodprobeip_conntrackmodprobeip_tablesecho1>/proc/sys/net/ipv4/conf/eth0/proxy_arpecho1>/proc/sys/net/ipv4/conf/eth1/proxy_arpiproutedel/24deveth0iproutedel/24deveth1iprouteadd52deveth0iprouteadd/24deveth1echo1>/proc/sys/net/ipv4/ip_forward啟動(dòng)網(wǎng)卡。至此,網(wǎng)橋連通。ARP代理網(wǎng)橋是偽網(wǎng)橋,即它不是一個(gè)二層設(shè)備,而是arp代理加上路由選擇實(shí)現(xiàn)網(wǎng)橋功能。它在功能上也不是真正的網(wǎng)橋,它不能轉(zhuǎn)發(fā)非IP數(shù)據(jù)包。但是ARP代理網(wǎng)橋和iptables工作的很好,所以透明防火墻用它最好。橋接網(wǎng)橋(方法1)是真正的網(wǎng)橋,但是在這種網(wǎng)橋下,iptables不能識(shí)別PASVFTP流量。ARP代理網(wǎng)橋則沒有這個(gè)問題。linux協(xié)議棧之網(wǎng)橋?qū)崿F(xiàn)(從網(wǎng)橋配置說起(二))本文系本站原創(chuàng),歡迎轉(zhuǎn)載!轉(zhuǎn)載請(qǐng)注明出處:/關(guān)于網(wǎng)橋:網(wǎng)橋是一個(gè)二層設(shè)備,在深入之前可以把它當(dāng)成一個(gè)二層的交換機(jī)。它在二層協(xié)議上轉(zhuǎn)發(fā)數(shù)據(jù)。網(wǎng)橋?yàn)榱宿D(zhuǎn)發(fā)數(shù)據(jù),維持了一個(gè)端口與MAC的對(duì)應(yīng)表,通常通為CAM表。根據(jù)這張表可以把數(shù)據(jù)送往相應(yīng)的端口進(jìn)行發(fā)送.網(wǎng)橋的轉(zhuǎn)發(fā)過程為:1:接收到一個(gè)包。判斷自己的CAM表中是否含包它此包的源地址.如果沒有,則把源地址與端口更新至于CAM表.2:判斷包是否是送給本機(jī),如果是,則送往本機(jī)上層協(xié)議棧處理。如果不是,則查尋CAM表。找到相應(yīng)的出口。3:如果找到出口,則將此包送至出口。如果不存在,將會(huì)在各端口發(fā)送。4:如果CAM表中對(duì)應(yīng)表項(xiàng)在規(guī)定時(shí)間之內(nèi)沒有得到更新,則刪除此項(xiàng)。網(wǎng)橋的配置:Brctl是一個(gè)比較好的配置網(wǎng)橋的工具。它的源代碼和配置方法極其簡(jiǎn)單。我們將從網(wǎng)橋的配置流程說起,看linux內(nèi)核是怎樣一步步管理的。首先,創(chuàng)建一個(gè)網(wǎng)橋:brctladdbrbr0(建立一個(gè)br0的網(wǎng)橋)然后,將接口添加進(jìn)網(wǎng)橋:brctladdifbr0eth0(將eth0和eth1添加進(jìn)網(wǎng)橋br0)brctladdifbroeth1OK,網(wǎng)橋現(xiàn)在就配置好了。這臺(tái)linux的主機(jī)可以當(dāng)作交換機(jī)使用了,從eth0的包都可以轉(zhuǎn)發(fā)到eth1。現(xiàn)在,我們看下代碼中如何進(jìn)行處理首先brctladdbr。查看brctl的代碼發(fā)現(xiàn)它調(diào)用了:ioctl(br_socket_fd,SIOCBRADDBR,brname);然后brctladdif在brctl的代碼中調(diào)用了:ioctl(br_socket_fd,SIOCBRADDIF,&ifr);呵呵。Brctl的代碼很簡(jiǎn)單吧,只是調(diào)用了用戶空間的配置工具ioctl.Linux網(wǎng)橋分析:好了,現(xiàn)在就可以進(jìn)入內(nèi)核分析網(wǎng)橋模式了:staticint__initbr_init(void)(net/brige/br.c){〃分配slab緩沖區(qū)br_fdb_init();〃網(wǎng)橋的netfiter處理,將在以后的章節(jié)中分析#ifdefCONFIG_BRIDGE_NETFILTERif(br_netfilter_init())return1;#endif〃用戶空間ioctl調(diào)用的函數(shù)brioctl_set(br_ioctl_deviceless_stub);//接收到數(shù)據(jù)包的處理,也就是我們?cè)谏厦鎛etif_receive_skb函數(shù)中看到的br_handle_frame_hookbr_handle_frame_hook=br_handle_frame;#ifdefined(CONFIG_ATM_LANE)||defined(CONFIG_ATM_LANE_MODULE)br_fdb_get_hook=br_fdb_get;br_fdb_put_hook=br_fdb_put;#endif〃在netdev_chain通知鏈表上注冊(cè)。關(guān)于通知鏈表,在前面已經(jīng)介紹過,這里不再討論了register_netdevice_notifier(&br_device_notifier);return0;}from:/html/linux/system/20070505/27862.html使用Linux創(chuàng)建網(wǎng)橋式防火墻來源:L作者:Webmaster時(shí)間:2007-05-05點(diǎn)擊:[收藏][投稿]作者:HenryStilmack原文出處:/articles/misc/0041.html翻譯:ideal聯(lián)合天文學(xué)中心在夏威夷島的ManuaKea的14,000英尺高的山頂上擁有兩個(gè)天文望遠(yuǎn)鏡,還在Hilo市有自己的辦公室及其他設(shè)施,該組織是是通過夏威夷大學(xué)連接到Internet上的,夏威夷大學(xué)在自己的B類IP地址范圍內(nèi)給天文中心分配了三個(gè)子網(wǎng)。以前天文中心的網(wǎng)絡(luò)安全性是由出口路由器的ACL(訪問控制列表)連同Soloris或Linux系統(tǒng)的主機(jī)訪問控制(tcpwrappers)來實(shí)現(xiàn)的。最近天文中心的一個(gè)主要英國(guó)資助基金會(huì)在一次審核后強(qiáng)烈推薦安裝防火墻來增強(qiáng)網(wǎng)絡(luò)的安全性。在對(duì)幾種商業(yè)和免費(fèi)的防火墻產(chǎn)品進(jìn)行調(diào)研以后,發(fā)現(xiàn)它們都需要對(duì)內(nèi)部網(wǎng)絡(luò)的三個(gè)不同子網(wǎng)地址都重新進(jìn)行分配,分配為192.168的內(nèi)部地址。內(nèi)部網(wǎng)絡(luò)的在三個(gè)子網(wǎng)上共有超過200個(gè)節(jié)點(diǎn),某些嵌入式微處理器系統(tǒng)甚至需要重新燒制EEPROM以實(shí)現(xiàn)IP變換,這是一個(gè)非常麻煩和龐雜的任務(wù)。因此就開始尋找透明防火墻解決方案,實(shí)現(xiàn)即能保持原有的地址分配,又能實(shí)現(xiàn)對(duì)內(nèi)部網(wǎng)絡(luò)的防護(hù)。Linux2.2以上版本都支持以太網(wǎng)橋接方式。一個(gè)網(wǎng)橋的一個(gè)接口接收到數(shù)據(jù)報(bào)以后,通過檢查目的MAC地址以后被轉(zhuǎn)發(fā)到另外一個(gè)接口上,而不去檢查源或目的IP地址。一個(gè)名為AC2I的法國(guó)公司發(fā)布了一個(gè)內(nèi)核補(bǔ)丁實(shí)現(xiàn)在網(wǎng)橋化的接口上使用ipchains進(jìn)行數(shù)據(jù)報(bào)過濾。這種解決方案能實(shí)現(xiàn)透明的防火墻,同時(shí)保證對(duì)內(nèi)部網(wǎng)絡(luò)提供上層的保護(hù)和訪問控制。下面我們就討論如何架設(shè)一個(gè)網(wǎng)橋式防火墻。1.硬件配置為了實(shí)現(xiàn)高效的防火墻和網(wǎng)絡(luò)檢測(cè),系統(tǒng)CPU必須足夠的強(qiáng)大和快速。該系統(tǒng)架設(shè)在一臺(tái)擁有256M內(nèi)存和500MHz的賽揚(yáng)CPU系統(tǒng)之上。測(cè)試顯示橋能滿足一個(gè)10M以太網(wǎng)的速度要求,而不會(huì)出現(xiàn)丟包現(xiàn)象。系統(tǒng)需要三塊網(wǎng)卡,其中兩塊網(wǎng)卡支持網(wǎng)橋的實(shí)現(xiàn),另外一塊用來實(shí)現(xiàn)對(duì)防火墻的管理。磁盤容量并不是很重要,但是所有的log信息應(yīng)該被保存下來。若希望維護(hù)某些本地logging(用于某些配置和檢測(cè)工具),則需要確保擁有足夠的免費(fèi)空間一防火墻和入侵檢測(cè)記錄往往非常龐大。安裝Linux下面的討論都基于Linux2.2.16(redhat7.0)版本內(nèi)核,若使用2.4內(nèi)核,iptables將會(huì)替代ipchains實(shí)現(xiàn)內(nèi)核防火墻。首先進(jìn)行標(biāo)準(zhǔn)的Linux安裝,但是基本上不要選擇任何應(yīng)用軟件包,甚至包括xinet/inetd,因?yàn)樵谠撓到y(tǒng)上不需要運(yùn)行任何服務(wù)。不要安裝編譯/開發(fā)工具,因?yàn)槿粝到y(tǒng)被攻破則入侵者就不那么容易編譯任何程序。但是需要安裝Perl(某些報(bào)告工具是需要的)和OpenSSH(用于遠(yuǎn)程管理)。確保安裝ipchains軟件包一這對(duì)于就防火墻設(shè)置是必須的。一個(gè)web瀏覽器也許會(huì)很有用處。若你僅僅接收來自內(nèi)部網(wǎng)絡(luò)的時(shí)間更新那么安裝NTP則不會(huì)有多大壞處。你可以選擇安裝某些X11應(yīng)用,tcpwrapper及某些網(wǎng)絡(luò)監(jiān)控包(whois,finger,tcpdump,traceroute,nc等等)。創(chuàng)建一個(gè)非root賬號(hào),使用該賬號(hào)登錄系統(tǒng)。安裝時(shí),僅僅配置一個(gè)主以太接口一該接口將是被保護(hù)網(wǎng)絡(luò)的一個(gè)節(jié)點(diǎn)一為其配置一個(gè)固定的網(wǎng)絡(luò)地址,此時(shí)應(yīng)該將其連接到一個(gè)空的HUB上,在進(jìn)行安全設(shè)置以后再將其連接到網(wǎng)絡(luò)中。當(dāng)系統(tǒng)安裝完畢并重新啟動(dòng)時(shí),在lilo引導(dǎo)系統(tǒng)時(shí)鍵入linuxsingle以單用戶模式引導(dǎo)進(jìn)入系統(tǒng),編輯/etc/hosts.allow來只允許管理機(jī)通過SSH來連接進(jìn)入系統(tǒng),然后重新啟動(dòng)按照正常模式引導(dǎo)進(jìn)入系統(tǒng)。然后再將主以太接口連接到內(nèi)部網(wǎng)絡(luò)中。創(chuàng)建支持網(wǎng)橋方式的內(nèi)核按照基本的內(nèi)核編譯步驟進(jìn)行,只不過需要關(guān)閉大多數(shù)的選項(xiàng)開關(guān),而僅僅打開一些必須的內(nèi)核編譯開關(guān)。進(jìn)入到到/usr/src目錄下,拷貝內(nèi)核源代碼到一個(gè)新創(chuàng)建的linux-fw目錄下:cd/usr/src;mkdirlinux-fw;cp-rlinux-2.2.16./linux-fwrmlinux;ln-s./linux-fwlinux對(duì)linux源代碼打linux_brfw2補(bǔ)丁,該補(bǔ)丁為ipchains添加了一個(gè)名為bridgein的缺省規(guī)則鏈。該鏈將被用來存放網(wǎng)橋式防火墻規(guī)則,但是該規(guī)則鏈中的規(guī)則只能使用ACCEPT或DENY目標(biāo),使用REJECT及MASQ是沒有意義的。可以從/bridge_filter/處得到該補(bǔ)丁。patch-p0<linux_brfw2.diff進(jìn)入/usr/src/linux目錄,配置內(nèi)核(這里假設(shè)你已經(jīng)有編譯內(nèi)核的經(jīng)驗(yàn)),和網(wǎng)橋式防火墻相關(guān)的配置選項(xiàng)開關(guān)為:CONFIG_MODVERSIONS=NCONFIG_FIREWALL=YCONFIG_FILTER=YCONFIG_IP_FIREWALL=YCONFIG_IP_FIREWALL_NETLINK=YCONFIG_IP_ROUTE_FWMARK=YCONFIGBRIDGE=Y然后編譯內(nèi)核:#makedep;makeclean;makebzImage;makeinstall使用新生成的內(nèi)核啟動(dòng)系統(tǒng)。設(shè)置網(wǎng)橋登錄進(jìn)入防火墻系統(tǒng),假設(shè)是使用eth0作為管理接口,ifconfig-a將顯示系統(tǒng)接口情況:brg0Linkencap:EthernetHWaddrFE:FD:04:E0:13:B5BROADCASTMULTICASTMTU:1500Metric:1RXpackets:0errors:0dropped:0overruns:0frame:0TXpackets:0errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:0eth0Linkencap:EthernetHWaddr00:90:27:B3:17:5Cinetaddr:NNN.NNN.NNN.253Bcast:NNN.NNN.NNN.255Mask:UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1RXpackets:2242346errors:0dropped:0overruns:0frame:0TXpackets:3616430errors:0dropped:0overruns:0carrier:0collisions:589902txqueuelen:100Interrupt:9Baseaddress:0xde80eth1Linkencap:EthernetHWaddr00:01:02:CD:55:38BROADCASTRUNNINGMULTICASTMTU:1500Metric:1RXpackets:65714errors:0dropped:0overruns:0frame:0TXpackets:1832954errors:0dropped:0overruns:0carrier:1collisions:500txqueuelen:100Interrupt:10Baseaddress:0xdc00eth2Linkencap:EthernetHWaddr00:01:02:C1:14:F1BROADCASTRUNNINGMULTICASTMTU:1500Metric:1RXpackets:2011596errors:0dropped:0overruns:0frame:0TXpackets:238126errors:0dropped:0overruns:0carrier:2collisions:666txqueuelen:100Interrupt:11Baseaddress:0xd880loLinkencap:LocalLoopbackinetaddr:Mask:UPLOOPBACKRUNNINGMTU:3924Metric:1RXpackets:1676447errors:0dropped:0overruns:0frame:0TXpackets:1676447errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:0使用Linux創(chuàng)建網(wǎng)橋式防火墻來源:L作者:Webmaster時(shí)間:2007-05-05點(diǎn)擊:[收藏][投稿]為了使網(wǎng)橋工作,需要安裝brcfg應(yīng)用??梢詮腗atthewGrant的linux路由器項(xiàng)目地址http://lrp.plain.co.nz/tarballs/bridgex_0.30.targz得到源代碼。編譯生成二進(jìn)制可執(zhí)行程序,并將其拷貝到/usr/sbin/brcfg下,然后執(zhí)行下面的命令來使網(wǎng)橋啟動(dòng)運(yùn)行:ifconfigeth1promiscupifconfigeth2promiscupbrcfgstartbrcfgdeviceeth1enablebrcfgdeviceeth2enable幾分鐘以后,當(dāng)網(wǎng)橋?qū)W習(xí)得到了兩端網(wǎng)端的mac地址范圍以后,將能實(shí)現(xiàn)在兩塊網(wǎng)卡之間透明地轉(zhuǎn)發(fā)數(shù)據(jù)報(bào)。防火墻配置防火墻本身是由ipchains軟件包來實(shí)現(xiàn)的,上面的內(nèi)核補(bǔ)丁添加了一個(gè)新的缺省規(guī)則鏈-bridgein,該鏈的規(guī)則作用于通過充當(dāng)網(wǎng)橋的接口的數(shù)據(jù)報(bào)。由于該鏈屬于輸入鏈,每個(gè)規(guī)則必須指定接口,也就是數(shù)據(jù)報(bào)是從哪個(gè)接口進(jìn)入系統(tǒng)的。每條鏈的缺省規(guī)則都被設(shè)置為ACCEPT,多條規(guī)則被加進(jìn)bridgein鏈來實(shí)現(xiàn)訪問策略,最后一條規(guī)則應(yīng)該是DENY來限制沒有明確指定允許的數(shù)據(jù)報(bào)。防火墻的訪問策略被設(shè)計(jì)為適用在如下的網(wǎng)絡(luò)拓樸中:防火墻的訪問策略所適用在的網(wǎng)絡(luò)拓樸該設(shè)計(jì)的突出特色是:*所有的公共服務(wù)器(HTTPD,FTP,SMTP,SSH)位于防火墻之外;*所有從Internet到內(nèi)部網(wǎng)絡(luò)的數(shù)據(jù)流均經(jīng)過防火墻;*從受保護(hù)的內(nèi)部網(wǎng)到公共服務(wù)器的數(shù)據(jù)流不做限制;*內(nèi)部受保護(hù)的網(wǎng)絡(luò)到Internet的數(shù)據(jù)流都被允許;*從公共服務(wù)器到受保護(hù)的內(nèi)部網(wǎng)絡(luò)的數(shù)據(jù)流進(jìn)行了一定的限制,只有那些實(shí)際需要的服務(wù)數(shù)據(jù)流才允許通過(輸出到內(nèi)部網(wǎng)絡(luò)的NFS、從公共郵件服務(wù)器到內(nèi)部網(wǎng)絡(luò)的SMTP數(shù)據(jù)、SSH);*從Internet發(fā)起到內(nèi)部網(wǎng)絡(luò)的數(shù)據(jù)連接被禁止。下面就是一個(gè)按照上面的原則生成ipchians規(guī)則的腳本:Listing2.AnnotatedScriptforBridgingFirewallSetup#!/bin/sh#####################################################################firewall.sh-setupipchainsrulesforabridgingfirewall#Copyright(c)2000UK/Canada/NetherlandsJointAstronomyCentre#Permissiontouse,copy,modify,distribute,andsellthissoftwareanditsdocumentationforanypurposeisherebygrantedwithoutfee,providedthattheabovecopyrightnoticeappearinallcopiesandthatboththatcopyrightnoticeandthispermissionnoticeappearinsupportingdocumentation,andthatthenameJointAstronomyCentrenotbeusedinadvertisingorpublicitypertainingtodistributionofthissoftwarewithoutspecific,writtenpriorpermission.#THISSOFTWAREISPROVIDED'AS-IS'.THEJOINTASTRONOMYCENTREDISCLAIMSALLWARRANTIESWITHREGARDTOTHISSOFTWARE,INCLUDINGWITHOUTLIMITATIONALLIMPLIEDWARRANTIESOFMERCHANTABILITY,FITNESSFORAPARTICULARPURPOSE,ORNONINFRINGEMENT.INNOEVENTSHALLTHEJOINTASTRONOMYCENTREBELIABLEFORANYDAMAGESWHATSOEVER,INCLUDINGSPECIAL,INCIDENTALORCONSEQUENTIALDAMAGES,INCLUDINGLOSSOFUSE,DATA,ORPROFITS,EVENIFADVISEDOFTHEPOSSIBILITYTHEREOF,ANDREGARDLESSOF

WHETHERINANACTIONINCONTRACT,TORTORNEGLIGENCE,ARISINGOUTOFORINCONNECTIONWITHTHEUSEORPERFORMANCEOFTHISSOFTWARE.#(There.Thatshouldsatisfythelawyers.InPlainEnglish,here'sthesoftware.Dowhateveryouwantwithit.Ifanythingbreaks,it'syourfaultandyourproblem.Don'tcomecryingtous.We'renotpayinganyoneforanything.)#######################################################################IPCHAINS=/sbin/ipchains#############################Definitions#############################firewallhost=N.N.N.N/32#EDIT-yourfirewalladdressheremynet=""#EDIT-yournetwork/maskhereAny="/0”localhost="/32"EXT_IF=eth2#EDIT-ThisistheinterfacewhichwillconnecttotheInternetINT_IF=eth1#EDIT-Thisistheinterfacewhichwillconnecttoyourprotectednetwork##########################################Public(outsidethefirewall)servers##########################################WWW_SERVER=#EDIT-addressofyourpublicWWWserverFTP_SERVER=#EDIT-addressofyourpublicFTPserverSMTP_SERVER=#EDIT-addressofyourpublicmailserverINTERNAL_SMTP=#EDIT-addressofyourinternalmailhubSSH_SERVER=#EDIT-addressofyourpubliclogin(SSH)serverNNTP_SERVER=#EDIT-addressofyourupstreamNewsserverINTERNAL_NTP=#EDIT-addressofyourinternalNTPserver#############################Setdefaultpolicies#############################$IPCHAINS-PinputACCEPT$IPCHAINS-PforwardACCEPT$IPCHAINS-PoutputACCEPT#############################Flushanyoldrules#############################$IPCHAINS-F#############################Create2newchains#############################$IPCHAINS-Npublic$IPCHAINS-NprivateSincethisisabridge,notarouter,youreallydon'tneedanyoftheseinputrulesforwardrulesoutputrules#############################Bridgechain-passpacketstoappropriatechainbasedontheirinputinterface#############################bridgeinrules$IPCHAINS-Abridgein-s$mynet-d$Any-i$INT_IF-jprivate$IPCHAINS-Abridgein-s$Any-d$mynet-i$EXT_IF-jpublicDenyanythingnotexplicitlymatchedinoneoftheotherchains$IPCHAINS-Abridgein-ptcp-s$Any-d$Any-jDENY-l$IPCHAINS-Abridgein-s$Any-d$Any-jDENY-l#############################"Public"rules-thesecontrolwho/whatgetstotalkthroughtheSSH_SERVER=#EDIT-addressofyourfirewallfromtheInternettoyourprotectednetwork#Theseareexamples-modifytosuityourownsecurityneeds#############################publicrulesICMP-allowecho-requestfromthe"public"serversbackintotheinternalnet.Doweneedthis?Inanycase,blockallecho-requestpacketsfromanyoneelse.Don'tbothertologpingattempts.AllowsomeoftheotherusefulICMPmessages$IPCHAINS-Apublic-picmp-s$mynet8-d$mynet-i$EXT_IF-jACCEPT$IPCHAINS-Apublic-picmp-s$Any8-d$mynet-i$EXT_IF-jDENYICMP-allowecho-replyfromanyone,sowecanpingout.$IPCHAINS-Apublic-picmp-s$mynet0-d$mynet-i$EXT_IF-jACCEPTICMP-allowdestination-unreachable$IPCHAINS-Apublic-picmp-s$Any3-d$mynet-i$EXT_IF-jACCEPTICMP-allowsource-quench$IPCHAINS-Apublic-picmp-s$Any4-d$mynet-i$EXT_IF-jACCEPTICMP-allowtime-exceeded$IPCHAINS-Apublic-picmp-s$Any11-d$mynet-i$EXT_IF-jACCEPTICMP-allowparameter-problem$IPCHAINS-Apublic-picmp-s$Any12-d$mynet-i$EXT_IF-jACCEPT#######################################Services#######################################SSH-AssumesyouhaveamachineontheoutsideofthefirewalltowhichuserscanloginviaSSH,then,onceauthenticated,connecttoanyoftheprotectedhosts$IPCHAINS-Apublic-ptcp-s$SSH_SERVER-d$mynetssh-i$EXT_IF-jACCEPTAllowrepliesfromanySSHserveranywherebackin-onlyifSYNnotset$IPCHAINS-Apublic-ptcp-s$Anyssh-d$mynet-i$EXT_IF-jACCEPT!-y#######################################Telnet-allowrepliesfromtelnetserversbackin-onlyifSYNnotset$IPCHAINS-Apublic-ptcp-s$Anytelnet-d$mynet-i$EXT_IF-jACCEPT!-y#######################################WWW-allowrepliesfromstandardHTTP/HTTPSservers-onlyifSYNnotset$IPCHAINS-Apublic-ptcp-s$Anywww-d$mynet-i$EXT_IF-jACCEPT!-y$IPCHAINS-Apublic-ptcp-s$Anyhttps-d$mynet-i$EXT_IF-jACCEPT!-y#######################################FTP-AllowrepliesfromexternalFTPservers-onlyifSYNnotset$IPCHAINS-Apublic-ptcp-s$Anyftp-d$mynet-i$EXT_IF-jACCEPT!-y$IPCHAINS-Apublic-ptcp-s$Anyftp-data-d$mynet-i$EXT_IF-jACCEPT!-y#######################################SMTP-onlyallowincomingEmailfromthe"public"servertotheinternalhub$IPCHAINS-Apublic-ptcp-s$SMTP_SERVER-d$INTERNAL_SMTPsmtp-i$EXT_IF-jACCEPT$IPCHAINS-Apublic-ptcp-s$SMTP_SERVERsmtp-d$INTERNAL_SMTP-i$EXT_IF-jACCEPT!-y#######################################WHOIS-allowrepliesfromanyWHOISserver$IPCHAINS-Apublic-ptcp-s$Anywhois-d$mynet1024:65535-i$EXT_IF-jACCEPT!-y#######################################Finger-allowrepliesfromanyfingerserver$IPCHAINS-Apublic-ptcp-s$Anyfinger-d$mynet1024:65535-i$EXT_IF-jACCEPT!-y#######################################Auth-allowIDENTreplies$IPCHAINS-Apublic-ptcp-s$Anyauth-d$mynet1024:65535-i$EXT_IF-jACCEPT!-y#######################################News-allowrepliesfromtheNNTPserver$IPCHAINS-Apublic-ptcp-s$NNTP_SERVERnntp-d$mynet1024:65535-i$EXT_IF-jACCEPT!-y#######################################NTP-letyourinternalNTPserversynchronizewithaclocksomewhere.Forbettersecurity,specifytheexternalNTPservers.$IPCHAINS-Apublic-pudp-s$Anyntp-d$INTERNAL_NTPntp-i$EXT_IF-jACCEPT#######################################DNS-allowDNSrepliesbackin$IPCHAINS-Apublic-pudp-s$Anydomain-d$mynet1024:65535-i$EXT_IF-jACCEPT$IPCHAINS-Apublic-ptcp-s$Anydomain-d$mynet1024:65535-i$EXT_IF-jACCEPT!-y########################################NFS-letinternalhostsmountdisksfromthe"public"servers.Doweneedthis?$IPCHAINS-Apublic-ptcp-s$mynet2049-d$mynet-i$EXT_IF-jACCEPT$IPCHAINS-Apublic-ptcp-s$mynet-d$mynet2049-i$EXT_IF-jACCEPT#######################################RPC-letthe"public"serverscontacttheportmapperoninternalhosts.Doweneedthis?$IPCHAINS-Apublic-pudp-s$mynet0:1023-d$mynetsunrpc-i$EXT_IF-jACCEPT#######################################UDP-AllowgeneralUDPtrafficbetween"public"and"protected"hosts.Doweneedthis?$IPCHAINS-Apublic-pudp-s$mynet0:1023-d$mynet-i$EXT_IF-jACCEPT$IPCHAINS-Apublic-pudp-s$mynet1024:65535-d$mynet-i$EXT_IF-jACCEPT#######################################Establishedconnectionsfromunprivilegedports$IPCHAINS-Apublic-ptcp-s$Any1024:65535-d$mynet-i$EXT_IF-jACCEPT!-yDeny(andlog!)everythingnotexplicitlyallowed$IPCHAINS-Apublic-s$Any-d$Any-i$EXT_IF-jDENY-l######################################"Private"rules-thesecontrolwhichinternalhostscantalkthroughthefirewall,andtowhom#Inmostcases,theseshouldbefairlyliberal.######################################privaterules######################################ICMP-Allowechorepliesbackouttothe"public"servers,aswellasallowingsomeofthemoreusefulmessagesbackouttoanyone.$IPCHAINS-Aprivate-picmp-s$mynet0-d$mynet-i$INT_IF-jACCEPTICMP-Allowecho-request$IPCHAINS-Aprivate-picmp-s$mynet8-d$Any-i$INT_IF-jACCEPTICMP-Allowdestination-unreachable$IPCHAINS-Aprivate-picmp-s$mynet3-d$Any-i$INT_IF-jACCEPTICMP-allowsource-quench$IPCHAINS-Aprivate-picmp-s$mynet4-d$Any-i$INT_IF-jACCEPTICMP-allowtime-exceeded$IPCHAINS-Aprivate-picmp-s$mynet11-d$Any-i$INT_IF-jACCEPTICMP-Allowparameter-problem$IPCHAINS-Aprivate-picmp-s$mynet12-d$Any-i$INT_IF-jACCEPT######################################Services######################################SMTP-restrictSMTPtoonlybetweenthe"public"serverandtheinternalmailhub.Loganyunauthorizedattempts$IPCHAINS-Aprivate-ptcp-s$INTERNAL_SMTP-d$SMTP_SERVERsmtp-i$INT_IF-jACCEPT$IPCHAINS-Aprivate-ptcp-s$mynet-d$Anysmtp-i$INT_IF-jDENY-l#####################################Prettymuchallowanythingelse.$IPCHAINS-Aprivate-ptcp-s$mynet0:1023-d$Any-i$INT_IF-jACCEPT$IPCHAINS-Aprivate-ptcp-s$mynet1024:65535-d$Any-i$INT_IF-jACCEPT$IPCHAINS-Aprivate-pudp-s$mynet0:1023-d$Any-i$INT_IF-jACCEPT$IPCHAINS-Aprivate-pudp-s$mynet1024:65535-d$Any-i$INT_IF-jACCEPT使用Linux創(chuàng)建網(wǎng)橋式防火墻來源:L作者:Webmaster時(shí)間:2007-05-05點(diǎn)擊:[收藏][投稿]若希望更多的了解如何定義ipchains規(guī)則,請(qǐng)參考IPCHAINSHOWTO:/mirrors/LDP/HOWTO/IPCHAINS-HOWTO.html.其他工具防火墻系統(tǒng)的一個(gè)有用的工具就是snort的入侵檢測(cè)系統(tǒng)(IDS),snort是通過定義一個(gè)數(shù)據(jù)報(bào)過濾規(guī)則集來檢測(cè)常見的網(wǎng)絡(luò)入侵行為。隨著新的入侵手段的出現(xiàn),snort的規(guī)則庫也在不斷更新,Snort可以被配置為發(fā)送告警到Log文件,或通過就email等方式通知管理員。它甚至可以配置為發(fā)現(xiàn)入侵行為時(shí)自動(dòng)添加阻塞規(guī)則來防止入侵進(jìn)一步進(jìn)行,雖然該特性還不夠完善。Snort及一些相關(guān)的腳本可以在/得到.Gfcc是一個(gè)非常不錯(cuò)的圖形方式察看及修改防火墻規(guī)則的工具??稍趇carus.autostock.co.kr下載該工具。啟動(dòng)配置橋和防火墻應(yīng)該在系統(tǒng)的網(wǎng)絡(luò)部分啟動(dòng)以后馬上啟動(dòng),下面的腳本將用來啟動(dòng)防火墻,設(shè)置和啟動(dòng)橋,最后再啟動(dòng)Snort。這里假設(shè)上面的防火墻腳本定義在/etc/firewall。本腳本應(yīng)該被安裝在/etc/rc.d/init.d/bridge。安裝該腳本以后,運(yùn)行chkconfigbridgeon來安裝適當(dāng)?shù)倪\(yùn)行級(jí)別鏈接。Listing3.ScriptforStartingtheFirewall#!/bin/bash#bridgeThisshellscripttakescareofinstallingbridgingfordsl#description:Usesbrcfgtostartbridgingandifconfigsethsprocessname:bridgeconfig:Sourcefunctionlibrary../etc/rc.d/init.d/functionsSourcenetworkingconfiguration../etc/sysconfig/networkSeehowwewerecalled.case"$1"instart)echo-n"Configuringfirewallrules:"/etc/firewallechoecho-n"Configuringbridge:"ifconfigeth1promiscupifconfigeth2promiscupbrcfgstartbrcfgdeviceeth1enablebrcfgdeviceeth2enableechoecho"StartingSnort:"/usr/local/bin/snort-c/usr/local/etc/snort/snort-lib-s-ieth2-Decho;;stop)#Stopdaemons.brcfgstopifconfigeth1-promiscdownifconfigeth2-promiscdown;;restart)$0stop$0start;;status)brcfg*)echo"Usage:bridge{start|stop|restart|status}exit1esacexit0Uses8.應(yīng)用一個(gè)包過濾橋在很多情況下都非常有用。它是一個(gè)實(shí)現(xiàn)在一個(gè)現(xiàn)有網(wǎng)絡(luò)中添加防火墻的快速且易于實(shí)現(xiàn)的方法,而無需修改網(wǎng)絡(luò)地址分配或者使用NAT。它同樣可以用于在局域網(wǎng)上創(chuàng)建受保護(hù)或受限制的子網(wǎng)。而且由于橋接口對(duì)外沒有IP地址,并且不運(yùn)行任何IP協(xié)議棧,因此很多常見的入侵攻擊及DOS攻擊都對(duì)它不會(huì)產(chǎn)生威脅。from:/tZ20020902/10/988690.html樓主netboys(笨小孩)2002-09-0210:36:41在Linux/Unix社區(qū)/系統(tǒng)維護(hù)與使用區(qū)提問我編譯了支持bridge的內(nèi)核2.4.28安了兩塊網(wǎng)卡(沒設(shè)IP)并ifconfigeth0promiscifconfigeth1promiscbrcfgstart但網(wǎng)橋并沒有啟動(dòng)。用lsmod查看,bridge模塊已經(jīng)加載,但使用為0用tcpdump兩塊網(wǎng)卡,都有流量,但不能實(shí)現(xiàn)轉(zhuǎn)發(fā)。用brcfg查看,輸出的第一行是:bridgingisDISABLEDSTPisENABLED問題點(diǎn)數(shù):100、回復(fù)次數(shù):9Top1樓yghwz(星際浪子)回復(fù)于2002-09-0211:19:50得分10LINUX的軟網(wǎng)橋,你還是別用了'直接拿LINUX做網(wǎng)關(guān)吧Top2樓netboys(笨小孩)回復(fù)于2002-09-0213:09:22得分0我們需要做網(wǎng)橋上的產(chǎn)品。所以要在網(wǎng)橋上測(cè)試Top3樓lyk42(無名小卒)回復(fù)于2002-09-0421:42:05得分10那用一塊網(wǎng)卡行不行呢Top樓dejoy(燕青)回復(fù)于2002-09-0422:36:27得分10UPTop樓yanlihong(㊣閆)回復(fù)于2002-09-0422:40:55得分30實(shí)在不好意思,以為自己能夠解決,經(jīng)過推敲,才發(fā)現(xiàn)自己愛莫能助幫你UP一下!Top樓xuemingjie(野驢)回復(fù)于2002-09-0508:51:09得分10upTop樓netboys(笨小孩)回復(fù)于2002-09-0510:47:33得分0網(wǎng)橋需要兩塊以上,一個(gè)進(jìn),一個(gè)出,網(wǎng)橋?qū)崿F(xiàn)透明轉(zhuǎn)發(fā),我沒設(shè)IP,對(duì)用戶來說,他如同網(wǎng)線。Top樓chairou(西樓)回復(fù)于2002-09-0512:51:10得分30BRIDGE關(guān)了,怎么STP會(huì)開的????你檢查一下你是否有2層環(huán)了??關(guān)了STP再看看。而且你怎么2快都在混雜模式下?你到底要做什么??NIDS還是透明FIREWALL??Top樓netboys(笨小孩)回復(fù)于2002-09-1016:35:46得分0不好意思,好久沒來了2層環(huán)是什么意思?我是實(shí)現(xiàn)透明轉(zhuǎn)發(fā),只用他做網(wǎng)關(guān),實(shí)際應(yīng)用時(shí),可能會(huì)對(duì)轉(zhuǎn)發(fā)的數(shù)據(jù)進(jìn)行一點(diǎn)處理。from:/2007/05/linux.htmllinux網(wǎng)橋配置詳細(xì)prerequisite:linuxhosttwointerfacecardsbridge-utilsinstalled(googleit,sourceforge)++|eth0=->|linuxhost||eth2=->++>ifconfigeth0down>ifconfigeth1down>brctladdbrbr0>brctladdifbr0eth0>brctladdifbr0ethl>ifconfigeth0>ifconfigethl>ifconfigbr0then,thevirtualinterface'br0'canbeusedfordhcpdtoserveipaddressonmulti-interface.from:/6414248.html淺析linux網(wǎng)橋設(shè)置MAC地址時(shí)的行為關(guān)鍵詞:linux網(wǎng)橋MAC先說現(xiàn)象brctladdbrbr0ifconfigbr0br0MACis00:00:00:00:00:00brctladdifbr0eth1(eth1isxx:xx:xx:xx:xx:33)ifconfigbr0br0MACisxx:xx:xx:xx:xx:33sameaseth1,autochangebrctladdifbr0eth2(eth2isxx:xx:xx:xx:xx:30)ifconfigbr0br0MACisxx:xx:xx:xx:xx:30sameaseth2,Foreth2lessthaneth1,autochangeifconfigeth2hwetherxx:xx:xx:xx:xx:50ifconfigbr0br0MACisxx:xx:xx:xx:xx:33sameaseth1,autochangeifconfigbr0hwetherxx:xx:xx:xx:xx:99ifconfigbr0br0MACisxx:xx:xx:xx:xx:33sameaseth1,NOTchangeifconfigbr0hwetherxx:xx:xx:xx:xx:33;sameaseth1ifconfigeth2hwetherxx:xx:xx:xx:xx:20;lessthaneth1ifconfigbr0br0MACisxx:xx:xx:xx:xx:33sameaseth1,'ifconfigbr0hw'NOTeffectiveifconfigeth1hwetherxx:xx:xx:xx:xx:50;upperop,wesetbr0=eth1'sMAC,nowwechangeeth1MACifconfigbr0br0MACisxx:xx:xx:xx:xx:20sameaseth2,autochange結(jié)論:br0如果沒有指定hwMAC,br0的MAC地址會(huì)根據(jù)bridge中port的變化,自動(dòng)選擇port中最小的一個(gè)MAC地址作為br0的MAC地址。br0只能指定port中有的interface的MAC作為br0的MAC地址。源代碼分析:sourcecodediris:linux-2.4.x/net/bridge-br_device.cbr_dev_setup()注冊(cè)了一些函數(shù),其中dev->set_mac_address=br_set_mac_address;〃這個(gè)就是ifconfigbr0hwether調(diào)用的函數(shù)了staticintbr_set_mac_address(structnet_device*dev,void*addr){structnet_bridge*br=dev->priv;structsockaddr*sa=(structsockaddr*)addr;。。。。。//here!copyMACaddrtobr->preferred_id.addrmemcpy(br->preferred_id.addr,sa->sa_data,ETH_ALEN);br_stp_recalculate_bridge_id(br);。。。。。}-br_stp_if.cstaticunsignedcharbr_mac_zero[6]={0,0,0,0,0,0};/*calledunderbridgelock*/voidbr_stp_recalculate_bridge_id(structnet_bridge*br){unsignedchar*addr;structnet_bridge_port*p;〃初始br0的MAC為00:00:00:00:00:00addr=br_mac_zero;p=br->port_list;while(p!=NULL){/*matchagainstpreferredaddressfirst*/if(memcmp(p->dev->dev_addr,br->preferred_id.addr,ETH_ALEN)==0){addr=p->dev->dev_addr;〃匹配port的MAC地址與首選MAC是否相符break;}if(addr==br_mac_zero||memcmp(p->dev->dev_addr,addr,ETH_ALEN)<0)〃尋找MAC最小的那一個(gè)addr=p->dev->dev_addr;p=p->next;}〃如果沒有Port的話,就為0;〃如果沒有設(shè)置首選MAC,就等于最小的那一個(gè)?!ㄈ绻O(shè)置了首選MAC,則首選MAC必須同其中一個(gè)port的MAC匹配,才等于首選MACif(memcmp(br->bridge_id.addr,addr,ETH_ALEN))br_stp_change_bridge_id(br,addr);}-什么時(shí)候會(huì)執(zhí)行br_stp_recalculate_bridge_id呢-inbr_device.c中br_set_mac_address()-inbr_if.c中br_del_if()&br_add_if()-inbr_notify.c中br_devic_event()的NETDEV_CHANGEADDR事件,該事件是任意port有修改addr就會(huì)觸發(fā)的看過代碼就很容易理解bridge在處理自身MAC地址時(shí)的行為了from:/pengge168/blog/item/6e6f91fc98718afbfd037f27.html在linux下配置網(wǎng)橋透明模式防火墻一、透明模式防火墻與透明代理的概念一般而言,防火墻的兩個(gè)網(wǎng)絡(luò)接口應(yīng)分屬兩個(gè)不同的網(wǎng)絡(luò),根據(jù)系統(tǒng)管理員定義的訪問規(guī)則在兩個(gè)接口之間轉(zhuǎn)發(fā)數(shù)據(jù)包,或者拒絕、丟棄數(shù)據(jù)包。實(shí)際上,防火墻不單單是訪問控制的功能,而且還充當(dāng)了路由器的角色。當(dāng)然,這并非有什么不妥當(dāng)?shù)牡胤?,但是?dāng)你企圖把你配置好的防火墻放入運(yùn)行網(wǎng)絡(luò),來保護(hù)現(xiàn)有系統(tǒng)安全的時(shí)候,你不得不重新考慮和更改你的網(wǎng)絡(luò)架構(gòu)。另外一個(gè)可能的麻煩是,當(dāng)防火墻發(fā)生意外時(shí),如果沒有防火墻的硬件備份的話,那么你將面臨巨大的心理壓力,因?yàn)榉阑饓Φ墓收希麄€(gè)網(wǎng)絡(luò)癱瘓了。假如你把防火墻配置成透明模式(可稱為偽網(wǎng)橋),就無需更改網(wǎng)絡(luò)架構(gòu),即使是防火墻不能工作了,要做的僅僅是拔出網(wǎng)線,把網(wǎng)線直接插在路由器的內(nèi)部接口就可以讓網(wǎng)絡(luò)正常工作,然后你就有時(shí)間慢慢恢復(fù)發(fā)生故障的防火墻。在防火墻廠商推薦產(chǎn)品的過程中,很多廠商往往會(huì)介紹自己的產(chǎn)品實(shí)現(xiàn)了透明模式和透明代理。那么究竟什么是透明模式和透明代理呢?他們之間又有何關(guān)系呢?下面我們將做具體分析。透明模式,顧名思義,首要的特點(diǎn)就是對(duì)用戶是透明的(Transparent),即用戶意識(shí)不到防火墻的存在。要想實(shí)現(xiàn)透明模式,防火墻必須在沒有IP地址的情況下工作,不需要對(duì)其設(shè)置IP地址,用戶也不知道防火墻的IP地址。防火墻作為實(shí)際存在的物理設(shè)備,其本身也起到路由的作用,所以在為用戶安裝防火墻時(shí),就需要考慮如何改動(dòng)其原有的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)或修改連接防火墻的路由表,以適應(yīng)用戶的實(shí)際需要,這樣就增加了工作的復(fù)雜程度和難度。但如果防火墻采用了透明模式,即采用無IP方式運(yùn)行,用戶將不必重新設(shè)定和修改路由,防火墻就可以直接安裝和放置到網(wǎng)絡(luò)中使用,如交換機(jī)一樣不需要設(shè)置IP地址。透明模式的防火墻就好象是一臺(tái)網(wǎng)橋(非透明的防火墻好象一臺(tái)路由器),網(wǎng)絡(luò)設(shè)備(包括主機(jī)、路由器、工作站等)和所有計(jì)算機(jī)的設(shè)置(包括IP地址和網(wǎng)關(guān))無須改變,同時(shí)解析所有通過它的數(shù)據(jù)包,既增加了網(wǎng)絡(luò)的安全性,又降低了用戶管理的復(fù)雜程度。而與透明模式在稱呼上相似的透明代理,和傳統(tǒng)代理一樣,可以比包過濾更深層次地檢查數(shù)據(jù)信息,比如FTP包的port命令等。同時(shí)它也是一個(gè)非??斓拇?,從物理上分離了連接,這可以提供更復(fù)雜的協(xié)議需要,例如帶動(dòng)態(tài)端口分配的H.323,或者一個(gè)帶有不同命令端口和數(shù)據(jù)端口的連接。這樣的通信是包過濾所無法完成的。防火墻使用透明代理技術(shù),這些代理服務(wù)對(duì)用戶也是透明的,用戶意識(shí)不到防火墻的存在,便可完成內(nèi)外網(wǎng)絡(luò)的通訊。當(dāng)內(nèi)部用戶需要使用透明代理訪問外部資源時(shí),用戶不需要進(jìn)行設(shè)置,代理服務(wù)器會(huì)建立透明的通道,讓用戶直接與外界通信,這樣極大地方便了用戶的使用。一般使用代理服務(wù)器時(shí),每個(gè)用戶需要在客戶端程序中指明要使用代理,自行設(shè)置Proxy參數(shù)(如在瀏覽器中有專門的設(shè)置來指明HTTP或FTP等的代理九而透明代理服務(wù),用戶不需要任何設(shè)置就可以使用代理服務(wù)器,簡(jiǎn)化了網(wǎng)絡(luò)的設(shè)置過程。透明代理的原理如下:假設(shè)A為內(nèi)部網(wǎng)絡(luò)客戶機(jī),B為外部網(wǎng)絡(luò)服務(wù)器,C為防火墻。當(dāng)A對(duì)B有連接請(qǐng)求時(shí),TCP連接請(qǐng)求被防火墻截取并加以監(jiān)控。截取后當(dāng)發(fā)現(xiàn)連接需要使用代理服務(wù)器時(shí),A和C之間首先建立連接,然后防火墻建立相應(yīng)的代理服務(wù)通道與目標(biāo)B建立連接,由此通過代理服務(wù)器建立A和目標(biāo)地址B的數(shù)據(jù)傳輸途徑。從用戶的角度看,A和B的連接是直接的,而實(shí)際上A是通過代理服務(wù)器C和B建立連接的。反之,當(dāng)B對(duì)A有連接請(qǐng)求時(shí)原理相同。由于這些連接過程是自動(dòng)的,不需要客戶端手工配置代理服務(wù)器,甚至用戶根本不知道代理服務(wù)器的存在,因而對(duì)用戶來說是透明的。代理服務(wù)器可以做到內(nèi)外地址的轉(zhuǎn)換,屏蔽內(nèi)部網(wǎng)的細(xì)節(jié),使非法分子無法探知內(nèi)部結(jié)構(gòu)。代理服務(wù)器提供特殊的篩選命令,可以禁止用戶使用容易造成攻擊的不安全的命令,從根本上抵御攻擊。防火墻使用透明代理技術(shù),還可以使防火墻的服務(wù)端口無法探測(cè)到,也就無法對(duì)防火墻進(jìn)行攻擊,大大提高了防火墻的安全性與抗攻擊性。透明代理避免了設(shè)置或使用中可能出現(xiàn)的錯(cuò)誤,降低了防火墻使用時(shí)固有的安全風(fēng)險(xiǎn)和出錯(cuò)概率,方便用戶使用。因此,透明代理與透明模式都可以簡(jiǎn)化防火墻的設(shè)置,提高系統(tǒng)安全性。但兩者之間也有本質(zhì)的區(qū)別:工作于透明模式的防火墻使用了透明代理的技術(shù),但透明代理并不是透明模式的全部,防火墻在非透明模式中也可以使用透明代理。二、環(huán)境搭建2.1.1硬件配置為了實(shí)現(xiàn)高效的防火墻和網(wǎng)絡(luò)檢測(cè),系統(tǒng)CPU必須足夠的強(qiáng)大和快速。系統(tǒng)需要三塊網(wǎng)卡,其中兩塊網(wǎng)卡支持網(wǎng)橋的實(shí)現(xiàn),另外一塊用來實(shí)現(xiàn)對(duì)防火墻的管理。(至少2塊網(wǎng)卡,可以把管理IP配置在橋接設(shè)備上)。磁盤容量并不是很重要,但是所有的log信息應(yīng)該被保存下來。若希望維護(hù)某些本地logging(用于某些配置和檢測(cè)工具),則需要確保擁有足夠的免費(fèi)空間一防火墻和入侵檢測(cè)記錄往往非常龐大。2.1.2安裝Linux當(dāng)系統(tǒng)安裝完畢并重新啟動(dòng)時(shí),編輯/etc/hosts.allow來只允許管理機(jī)通過SSH來連接進(jìn)入系統(tǒng),然后重新啟動(dòng)按照正常模式引導(dǎo)進(jìn)入系統(tǒng)。然后再將主以太接口連接到內(nèi)部網(wǎng)絡(luò)中。2.1.3創(chuàng)建支持網(wǎng)橋方式的內(nèi)核按照基本的內(nèi)核編譯步驟進(jìn)行,只不過需要關(guān)閉大多數(shù)的選項(xiàng)開關(guān),而僅僅打開一些必須的內(nèi)核編譯開關(guān)。下載最新的內(nèi)核,2.4可能需要下載在網(wǎng)橋模式下的時(shí)候讓內(nèi)核能正常支持netfilter的補(bǔ)丁bridge-nf,這個(gè)很重要,不打這個(gè)patch,iptables將無法對(duì)通過你網(wǎng)橋包做過濾,2.6就已經(jīng)自帶了,地址:/download.html,bridge-nf只支持最新版本的原始內(nèi)核,所以如果你不是對(duì)內(nèi)核很熟悉,請(qǐng)不要試圖在老版本內(nèi)核上安裝這個(gè)patch,因?yàn)槟憧赡芨菊也坏竭m合你內(nèi)核版本的補(bǔ)丁,也不要試圖在發(fā)行版自帶的內(nèi)核上打這個(gè)patch,因?yàn)閹缀跛蠰inux發(fā)行版都打了很多發(fā)行商認(rèn)為對(duì)用戶有益的patch,所以你可能根本沒辦法把bridgenf成功打到這些內(nèi)核的源碼中。cd/usr/src/linux-2.4.21patch-p1</path/to/ebtables-brnf-9_vs_2.4.30.diff.gz如果沒有報(bào)任何錯(cuò)誤,接下來就可以開始編譯內(nèi)核了,這里對(duì)如何編譯內(nèi)核不多做介紹,我們只介紹和我們工作需要相關(guān)的選項(xiàng)。執(zhí)彳亍makemeunconfig或者makexconfig進(jìn)入Networkingoptions選項(xiàng),選中Networkpacketfiltering(replacesipchains),只要選擇支持了Networkpacketfiltering就會(huì)自動(dòng)支持bridge-nf。另外還得選擇支持802.1dEthernetBridging,這樣我們的Linux才能作為網(wǎng)橋服務(wù)器,如果你想試試ebtables你可以根據(jù)自己的需要把802.1dEthernetBridging下面的ebt開頭的選項(xiàng)編譯成模塊。執(zhí)彳亍makedep;makebzImage;makemodules;makemodules_install來編譯新內(nèi)核,復(fù)制編譯好的內(nèi)核到/boot/vmlinuz-2.4.31,執(zhí)行mkinitrd命令生成新的initrd文件:mkinitrd/boot/initrd-2.4.31.img2.4.31修改grub.conf加入對(duì)新內(nèi)核的引導(dǎo)記入,重新啟動(dòng)用新編譯的內(nèi)核引導(dǎo)系統(tǒng),如果沒有意外,支持bridge-nf的內(nèi)核就編譯成功了對(duì)于2.6內(nèi)核只需要makemeunconfig,選擇選項(xiàng)后make,makemodules_install,makeinstall即可,其他系統(tǒng)自動(dòng)搞定,省去很多麻煩。2.1.4編譯bridge-utils要讓Linux實(shí)現(xiàn)網(wǎng)橋功能除了編譯支持網(wǎng)橋的內(nèi)核之外(802.1dEthernetBridging),還需要應(yīng)用軟件的支持,這個(gè)軟件就是bridge-utils,我們可以到/project/showfiles.phpfgroup_idn26089下載最新的版本,很多發(fā)行版已經(jīng)捆綁了這個(gè)軟件,如果你系統(tǒng)里有brctl這個(gè)命令的話,就是已經(jīng)安裝過這個(gè)軟件了。假設(shè)沒有安裝這個(gè)軟件,可以按照下面步驟進(jìn)行:下載最新的bridge-utils,本例中用的版本是1.0.6tarzxvfbridge-utils-1.0.6.tar.gzcdbridge-utils-1.0.6./configure--prefix=/usr(這一步可不需要,默認(rèn)的,可以看自帶的說明文檔)Make;makeinstall對(duì)于RPM用戶建議用包里的spec文件將bridge-utils編譯打包成RPM包,以方便維護(hù)升級(jí)管理:tarzxvfbridge-utils-1.0.6.tar.gzcdbridge-utils-1.0.6cpbridge-utils.spec/usr/src/redhat/SPECScpbridge-utils-1.0.6.tar.gz/usr/src/redhat/SOURCErpmbuild-ba/usr/src/redhat/SPECS/bridge-utils.speccd/usr/src/redhat/RPMS/i386rpm-Uvhbridge-utils-1.0.6-1.i386.rpmbridge-utils-devel-1.0.6-1.i386.rpm安裝bridge-utils結(jié)束三、配置Linux為網(wǎng)橋服務(wù)器裝好bridge-utils后就可以使用brctl命令來創(chuàng)建網(wǎng)橋設(shè)備了,首先交待一下測(cè)試的網(wǎng)絡(luò)環(huán)境,下面是測(cè)試環(huán)境的網(wǎng)絡(luò)拓?fù)鋱D,其中圖一是原始的網(wǎng)絡(luò)拓?fù)?,一共有三臺(tái)服務(wù)器,分別是Web服務(wù)器94,NTP服務(wù)器8和MySQL數(shù)據(jù)庫服務(wù)器9。三臺(tái)服務(wù)通過交換機(jī)連接到路由器設(shè)備上,網(wǎng)關(guān)地址為。現(xiàn)在我們要做的是在不改變?cè)瓉砭W(wǎng)絡(luò)結(jié)構(gòu)的情況,在路由器和交換機(jī)之間接入一臺(tái)Linux服務(wù)器作為網(wǎng)橋設(shè)備,并在這臺(tái)服務(wù)器上實(shí)現(xiàn)對(duì)以上三臺(tái)服務(wù)器的防火墻保護(hù)。圖二是加入網(wǎng)橋服務(wù)器后的拓?fù)?。網(wǎng)關(guān):交換機(jī)Web服務(wù)器94NTP服務(wù)器8MySQL服務(wù)器9互聯(lián)網(wǎng)圖一原始網(wǎng)絡(luò)結(jié)構(gòu)圖二接入網(wǎng)橋后的網(wǎng)絡(luò)結(jié)構(gòu)下面我們來看看如何在linux上配置網(wǎng)橋,使用的命令是brctl,在命令行下輸入brctl可以得到該命令的幫助,也可以用manbrctl來獲得更詳細(xì)的命令使用幫助,我的例子中只需要知道幾個(gè)常用的參數(shù):1如何創(chuàng)建網(wǎng)橋設(shè)備,2如何將網(wǎng)卡設(shè)備添加到網(wǎng)橋中,3如何從網(wǎng)橋中刪除網(wǎng)卡,4如何刪除網(wǎng)橋設(shè)備。創(chuàng)建網(wǎng)橋設(shè)備:brctladdbrbr0(創(chuàng)建一個(gè)叫br0的網(wǎng)橋設(shè)備)向br0中添加網(wǎng)卡eth0和eth1brctladdifeth0brctladdifeth1從網(wǎng)橋中刪除網(wǎng)卡eth0和eth1brctldelifeth0brctldelifeth1刪除網(wǎng)橋br0brctldelbrbr0在多數(shù)情況下,我們做網(wǎng)橋防火墻需要的是一臺(tái)三網(wǎng)卡的服務(wù),2個(gè)網(wǎng)卡做橋接,另外一個(gè)配置好ip地址作為管理接口,以便遠(yuǎn)程登陸網(wǎng)橋服務(wù)器對(duì)防火墻進(jìn)行管理。但是還有可選的選擇,比如只在網(wǎng)橋防火墻上配置串口,需要維護(hù)的時(shí)候通過串口線連接服務(wù)器,這種方式讓網(wǎng)橋服務(wù)器更加安全,因?yàn)榉?wù)器根本沒有IP地址,攻擊者對(duì)它根本無從下手。另外一種是直接把管理端口配置在br0設(shè)備上,這樣可以節(jié)約一塊網(wǎng)卡的費(fèi)用(雖然網(wǎng)卡根本不值錢,但是對(duì)于我這樣的窮人來說也是不小的費(fèi)用*八_八*),這種方式帶來的問題包括有安全隱患,因?yàn)榉?wù)器實(shí)際有了ip地址,以及性能上的影互聯(lián)網(wǎng)響,盡管影響可能不大。網(wǎng)關(guān):交換機(jī)Web服務(wù)器94NTP服務(wù)器8MySQL服務(wù)器9Linux網(wǎng)橋服務(wù)器在網(wǎng)橋上設(shè)置ip地址的命令如下:ifconfigbr071netmaskbroadcast55至此,網(wǎng)橋就配置好了,現(xiàn)在只要像上面圖二那樣把原來連接到交換機(jī)的網(wǎng)線連接到網(wǎng)橋服務(wù)器的eth0,把網(wǎng)橋服務(wù)器的eth1連接到交換機(jī)就ok了,測(cè)試一下把,現(xiàn)在無論是從外面還是從那三臺(tái)服務(wù)器本身訪問都是互通的,如果不能訪問,請(qǐng)檢查網(wǎng)線連接是否正確。四、配置防火墻策略上面的網(wǎng)絡(luò)拓?fù)滹@示三臺(tái)服務(wù)器分別對(duì)外提供web和ntp服務(wù),MySQL服務(wù)器只需要和web服務(wù)器連接,因此我們只需要對(duì)外開放TCP80TCP123UDP123端口,而對(duì)三臺(tái)服務(wù)器而,它們應(yīng)該可以無限制的訪問外網(wǎng)。本文不討論iptables的具體配置,大家可以在互聯(lián)網(wǎng)上查閱免費(fèi)的手冊(cè)和文檔資源。下面是針對(duì)圖二網(wǎng)絡(luò)結(jié)構(gòu)編寫的iptables腳本,不是很完善,僅供參考:Createtheinterfacebr0/usr/sbin/brctladdbrbr0AddtheEthernetinterfacetousewiththebridge/usr/sbin/brctladdifbr0eth0/usr/sbin/brctladdifbr0eth1StartuptheEthernetinterface/sbin/ifconfigeth0/sbin/ifconfigethConfigurethebridgeethernetThebridgewillbecorrectandinvisible(transparentfirewall).It'shiddeninatracerouteandyoukeepyourrealgatewayontheothercomputers.Nowifyouwantyoucanconfigagatewayonyourbridgeandchooseitasyournewgatewayfortheothercomputers./sbin/ifconfigbr071netmaskbroadcast55IhaveaddedthisinternalIPtocreatemyNATipaddradd/24devbr0/sbin/routeadddefaultgwiptables-FFORWARDiptables-PFORWARDDROPiptables-AFORWARD-s/-d/-mstate--stateINVALID-jDROPiptables-AFORWARD-mstate--stateESTABLISHED,RELATED-jACCEPTSomefunnyrulesbutnotinaclassicIptablessorry...LimitICMPiptables-AFORWARD-picmp-mlimit--limit4/s-jACCEPTMatchstring,agoodsimplemethodtoblocksomeVIRUSveryquickly#iptables-IFORWARD-jDROP-ptcp-s/0-mstring--string"cmd.exe"BlockallMySQLconnectionjusttobesureiptables-AFORWARD-ptcp-s0/0-d9--dport3306-jDROPLinuxMailServerRulesAllowFTP-DATA(20)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論