iptables實(shí)例學(xué)習(xí)_第1頁
iptables實(shí)例學(xué)習(xí)_第2頁
iptables實(shí)例學(xué)習(xí)_第3頁
iptables實(shí)例學(xué)習(xí)_第4頁
iptables實(shí)例學(xué)習(xí)_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、iptables 實(shí)例 學(xué)習(xí)iptables實(shí)例學(xué)習(xí)2010-06-01 22:06設(shè)定規(guī)則iptables-p INPUT DROP iptables-p OUTPUT ACCEPT iptables-p FORWARD DROP1、防止外網(wǎng)用內(nèi)網(wǎng)IP欺騙iptables-t nat-A PREROUTING-i eth0-s /8-j DROP iptables-t nat-A PREROUTING-i eth0-s /12-j DROP iptables-t nat-A PREROUTING-i eth0-s /16-j DROP

2、查看nat規(guī)則iptables-t nat-L2、如果想取消上面所加的規(guī)則:iptables-F-t nat iptables-X-t nat iptables-Z-t nat3、阻止一個(gè)IP連接本機(jī)iptables-t filter-A INPUT-s -i eth0-j DROP4、查看本機(jī)的IPTABLES的所填規(guī)則iptables-L-n5、清除filter中所有的規(guī)則連接iptables-F清除filter中使用者自定義連接中的規(guī)則iptables-X6、保存所修改的iptables規(guī)則/etc/rc.d/init.d/iptables save重新啟動ipta

3、bles服務(wù)service iptables restart7、關(guān)閉不安全的端口連接本機(jī)iptables-A OUTPUT-p tcp-sport 31337-j DROP iptables-A OUTPUT-p tcp-dport 31337-j DROP8、開啟所需要的端口22 iptables-A INPUT-p tcp-dport 22-j ACCEPT iptables-A OUTPUT-p tcp-sport 22-j ACCEPT 80 iptables-A OUTPUT-p tcp-sport 80-j ACCEPT iptables-A INPUT-p tcp-dport 8

4、0-j ACCEPT9、禁止一個(gè)IP或者一個(gè)IP段訪問服務(wù)器端口服務(wù)80端口iptabl es-t filter-I INPUT 2-s /24-p tcp-dport http-j DROPFTP端口iptables-t filter-I INPUT 2-s -p tcp-dport ftp-j DROP用iptables-ADC來指定鏈的規(guī)則,-A添加-D刪除-C修改iptables-RIchain rule num rule-specificationoption用iptables-RI通過規(guī)則的順序指定iptables-D chain rul

5、e numoption刪除指定規(guī)則iptables-LFZchainoption用iptables-LFZ鏈名選項(xiàng)iptables-NXchain用-NX指定鏈iptables-P chain targetoptions指定鏈的默認(rèn)目標(biāo)iptables-E old-chain-name new-chain-name-E舊的鏈名新的鏈名用新的鏈名取代舊的鏈名說明Iptalbes是用來設(shè)置、維護(hù)和檢查Linux內(nèi)核的IP包過濾規(guī)則的??梢远x不同的表,每個(gè)表都包含幾個(gè)內(nèi)部的鏈,也能包含用戶定義的鏈。每個(gè)鏈都是一個(gè)規(guī)則列表,對對應(yīng)的包進(jìn)行匹配:每條規(guī)則指定應(yīng)當(dāng)如何處理與之相匹配的包。這被稱作targ

6、et(目標(biāo)),也可以跳向同一個(gè)表內(nèi)的用戶定義的鏈。TARGETS防火墻的規(guī)則指定所檢查包的特征,和目標(biāo)。如果包不匹配,將送往該鏈中下一條規(guī)則檢查;如果匹配,那么下一條規(guī)則由目標(biāo)值確定.該目標(biāo)值可以是用戶定義的鏈名,或是某個(gè)專用值,如ACCEPT通過,DROP刪除,QUEUE排隊(duì),或者RETURN返回。ACCEPT表示讓這個(gè)包通過。DROP表示將這個(gè)包丟棄。QUEUE表示把這個(gè)包傳遞到用戶空間。RETURN表示停止這條鏈的匹配,到前一個(gè)鏈的規(guī)則重新開始。如果到達(dá)了一個(gè)內(nèi)建的鏈(的末端),或者遇到內(nèi)建鏈的規(guī)則是RETURN,包的命運(yùn)將由鏈準(zhǔn)則指定的目標(biāo)決定。TABLES當(dāng)前有三個(gè)表(哪個(gè)表是當(dāng)前表

7、取決于內(nèi)核配置選項(xiàng)和當(dāng)前模塊)。-t table這個(gè)選項(xiàng)指定命令要操作的匹配包的表。如果內(nèi)核被配置為自動加載模塊,這時(shí)若模塊沒有加載,(系統(tǒng))將嘗試(為該表)加載適合的模塊。這些表如下:filter,這是默認(rèn)的表,包含了內(nèi)建的鏈INPUT(處理進(jìn)入的包)、FORWORD(處理通過的包)和OUTPUT(處理本地生成的包)。nat,這個(gè)表被查詢時(shí)表示遇到了產(chǎn)生新的連接的包,由三個(gè)內(nèi)建的鏈構(gòu)成:PREROUTING(修改到來的包)、OUTPUT(修改路由之前本地的包)、POSTROUTING(修改準(zhǔn)備出去的包)。mangle這個(gè)表用來對指定的包進(jìn)行修改。它有兩個(gè)內(nèi)建規(guī)則:PREROUTING(修改路

8、由之前進(jìn)入的包)和OUTPUT(修改路由之前本地的包)。OPTIONS這些可被iptables識別的選項(xiàng)可以區(qū)分不同的種類。COMMANDS這些選項(xiàng)指定執(zhí)行明確的動作:若指令行下沒有其他規(guī)定,該行只能指定一個(gè)選項(xiàng).對于長格式的命令和選項(xiàng)名,所用字母長度只要保證iptables能從其他選項(xiàng)中區(qū)分出該指令就行了。-A-append在所選擇的鏈末添加一條或更多規(guī)則。當(dāng)源(地址)或者/與目的(地址)轉(zhuǎn)換為多個(gè)地址時(shí),這條規(guī)則會加到所有可能的地址(組合)后面。-D-delete從所選鏈中刪除一條或更多規(guī)則。這條命令可以有兩種方法:可以把被刪除規(guī)則指定為鏈中的序號(第一條序號為1),或者指定為要匹配的規(guī)則

9、。-R-replace從選中的鏈中取代一條規(guī)則。如果源(地址)或者/與目的(地址)被轉(zhuǎn)換為多地址,該命令會失敗。規(guī)則序號從1開始。-I-insert根據(jù)給出的規(guī)則序號向所選鏈中插入一條或更多規(guī)則。所以,如果規(guī)則序號為1,規(guī)則會被插入鏈的頭部。這也是不指定規(guī)則序號時(shí)的默認(rèn)方式。-L-list顯示所選鏈的所有規(guī)則。如果沒有選擇鏈,所有鏈將被顯示。也可以和z選項(xiàng)一起使用,這時(shí)鏈會被自動列出和歸零。精確輸出受其它所給參數(shù)影響。-F-flush清空所選鏈。這等于把所有規(guī)則一個(gè)個(gè)的刪除。-Z-zero把所有鏈的包及字節(jié)的計(jì)數(shù)器清空。它可以和-L配合使用,在清空前察看計(jì)數(shù)器,請參見前文。-N-new-cha

10、in根據(jù)給出的名稱建立一個(gè)新的用戶定義鏈。這必須保證沒有同名的鏈存在。-X-delete-chain刪除指定的用戶自定義鏈。這個(gè)鏈必須沒有被引用,如果被引用,在刪除之前你必須刪除或者替換與之有關(guān)的規(guī)則。如果沒有給出參數(shù),這條命令將試著刪除每個(gè)非內(nèi)建的鏈。-P-policy設(shè)置鏈的目標(biāo)規(guī)則。-E-rename-chain根據(jù)用戶給出的名字對指定鏈進(jìn)行重命名,這僅僅是修飾,對整個(gè)表的結(jié)構(gòu)沒有影響。TARGETS參數(shù)給出一個(gè)合法的目標(biāo)。只有非用戶自定義鏈可以使用規(guī)則,而且內(nèi)建鏈和用戶自定義鏈都不能是規(guī)則的目標(biāo)。-h Help.幫助。給出當(dāng)前命令語法非常簡短的說明。PARAMETERS參數(shù)以下參數(shù)構(gòu)成

11、規(guī)則詳述,如用于add、delete、replace、append和check命令。-p-protocal!protocol規(guī)則或者包檢查(待檢查包)的協(xié)議。指定協(xié)議可以是tcp、udp、icmp中的一個(gè)或者全部,也可以是數(shù)值,代表這些協(xié)議中的某一個(gè)。當(dāng)然也可以使用在/etc/protocols中定義的協(xié)議名。在協(xié)議名前加上!表示相反的規(guī)則。數(shù)字0相當(dāng)于所有all。Protocol all會匹配所有協(xié)議,而且這是缺省時(shí)的選項(xiàng)。在和check命令結(jié)合時(shí),all可以不被使用。-s-source!address/mask指定源地址,可以是主機(jī)名、網(wǎng)絡(luò)名和清楚的IP地址。mask說明可以是網(wǎng)絡(luò)掩碼或清

12、楚的數(shù)字,在網(wǎng)絡(luò)掩碼的左邊指定網(wǎng)絡(luò)掩碼左邊1的個(gè)數(shù),因此,mask值為24等于。在指定地址前加上!說明指定了相反的地址段。標(biāo)志-src是這個(gè)選項(xiàng)的簡寫。-d-destination!address/mask指定目標(biāo)地址,要獲取詳細(xì)說明請參見-s標(biāo)志的說明。標(biāo)志-dst是這個(gè)選項(xiàng)的簡寫。-j-jump target-j目標(biāo)跳轉(zhuǎn)指定規(guī)則的目標(biāo);也就是說,如果包匹配應(yīng)當(dāng)做什么。目標(biāo)可以是用戶自定義鏈(不是這條規(guī)則所在的),某個(gè)會立即決定包的命運(yùn)的專用內(nèi)建目標(biāo),或者一個(gè)擴(kuò)展(參見下面的EXTENSIONS)。如果規(guī)則的這個(gè)選項(xiàng)被忽略,那么匹配的過程不會對包產(chǎn)生影響,不過規(guī)則的

13、計(jì)數(shù)器會增加。-i-in-interface!namei-進(jìn)入的(網(wǎng)絡(luò))接口!名稱這是包經(jīng)由該接口接收的可選的入口名稱,包通過該接口接收(在鏈INPUT、FORWORD和PREROUTING中進(jìn)入的包)。當(dāng)在接口名前使用!說明后,指的是相反的名稱。如果接口名后面加上+,則所有以此接口名開頭的接口都會被匹配。如果這個(gè)選項(xiàng)被忽略,會假設(shè)為+,那么將匹配任意接口。-o-out-interface!name-o-輸出接口名稱這是包經(jīng)由該接口送出的可選的出口名稱,包通過該口輸出(在鏈FORWARD、OUTPUT和POSTROUTING中送出的包)。當(dāng)在接口名前使用!說明后,指的是相反的名稱。如果接口名后

14、面加上+,則所有以此接口名開頭的接口都會被匹配。如果這個(gè)選項(xiàng)被忽略,會假設(shè)為+,那么將匹配所有任意接口。!-f,-fragment!-f-分片這意味著在分片的包中,規(guī)則只詢問第二及以后的片。自那以后由于無法判斷這種把包的源端口或目標(biāo)端口(或者是ICMP類型的),這類包將不能匹配任何指定對他們進(jìn)行匹配的規(guī)則。如果!說明用在了-f標(biāo)志之前,表示相反的意思。OTHER OPTIONS其他選項(xiàng)還可以指定下列附加選項(xiàng):-v-verbose-v-詳細(xì)詳細(xì)輸出。這個(gè)選項(xiàng)讓list命令顯示接口地址、規(guī)則選項(xiàng)(如果有)和TOS(Type of Service)掩碼。包和字節(jié)計(jì)數(shù)器也將被顯示,分別用K、M、G(前

15、綴)表示1000、1,000,000和1,000,000,000倍(不過請參看-x標(biāo)志改變它),對于添加,插入,刪除和替換命令,這會使一個(gè)或多個(gè)規(guī)則的相關(guān)詳細(xì)信息被打印。-n-numeric-n-數(shù)字?jǐn)?shù)字輸出。IP地址和端口會以數(shù)字的形式打印。默認(rèn)情況下,程序試顯示主機(jī)名、網(wǎng)絡(luò)名或者服務(wù)(只要可用)。-x-exact-x-精確擴(kuò)展數(shù)字。顯示包和字節(jié)計(jì)數(shù)器的精確值,代替用K,M,G表示的約數(shù)。這個(gè)選項(xiàng)僅能用于-L命令。-line-numbers當(dāng)列表顯示規(guī)則時(shí),在每個(gè)規(guī)則的前面加上行號,與該規(guī)則在鏈中的位置相對應(yīng)。MATCH EXTENSIONS對應(yīng)的擴(kuò)展iptables能夠使用一些與模塊匹配的

16、擴(kuò)展包。以下就是含于基本包內(nèi)的擴(kuò)展包,而且他們大多數(shù)都可以通過在前面加上!來表示相反的意思。tcp當(dāng)-protocol tcp被指定,且其他匹配的擴(kuò)展未被指定時(shí),這些擴(kuò)展被裝載。它提供以下選項(xiàng):-source-port!port:port源端口或端口范圍指定。這可以是服務(wù)名或端口號。使用格式端口:端口也可以指定包含的(端口)范圍。如果首端口號被忽略,默認(rèn)是0,如果末端口號被忽略,默認(rèn)是65535,如果第二個(gè)端口號大于第一個(gè),那么它們會被交換。這個(gè)選項(xiàng)可以使用-sport的別名。-destionation-port!port:port目標(biāo)端口或端口范圍指定。這個(gè)選項(xiàng)可以使用-dport別名來代替

17、。-tcp-flags!mask comp匹配指定的TCP標(biāo)記。第一個(gè)參數(shù)是我們要檢查的標(biāo)記,一個(gè)用逗號分開的列表,第二個(gè)參數(shù)是用逗號分開的標(biāo)記表,是必須被設(shè)置的。標(biāo)記如下:SYN ACK FIN RST URG PSH ALL NONE。因此這條命令:iptables-A FORWARD-p tcp-tcp-flags SYN,ACK,FIN,RST SYN只匹配那些SYN標(biāo)記被設(shè)置而ACK、FIN和RST標(biāo)記沒有設(shè)置的包。!-syn只匹配那些設(shè)置了SYN位而清除了ACK和FIN位的TCP包。這些包用于TCP連接初始化時(shí)發(fā)出請求;例如,大量的這種包進(jìn)入一個(gè)接口發(fā)生堵塞時(shí)會阻止進(jìn)入的TCP連接

18、,而出去的TCP連接不會受到影響。這等于-tcp-flags SYN,RST,ACK SYN。如果-syn前面有!標(biāo)記,表示相反的意思。-tcp-option!number匹配設(shè)置了TCP選項(xiàng)的。udp當(dāng)protocol udp被指定,且其他匹配的擴(kuò)展未被指定時(shí),這些擴(kuò)展被裝載,它提供以下選項(xiàng):-source-port!port:port源端口或端口范圍指定。詳見TCP擴(kuò)展的-source-port選項(xiàng)說明。-destination-port!port:port目標(biāo)端口或端口范圍指定。詳見TCP擴(kuò)展的-destination-port選項(xiàng)說明。icmp當(dāng)protocol icmp被指定,且其他

19、匹配的擴(kuò)展未被指定時(shí),該擴(kuò)展被裝載。它提供以下選項(xiàng):-icmp-type!typename這個(gè)選項(xiàng)允許指定ICMP類型,可以是一個(gè)數(shù)值型的ICMP類型,或者是某個(gè)由命令iptables-p icmp-h所顯示的ICMP類型名。mac-mac-source!address匹配物理地址。必須是XX:XX:XX:XX:XX這樣的格式。注意它只對來自以太設(shè)備并進(jìn)入PREROUTING、FORWORD和INPUT鏈的包有效。limit這個(gè)模塊匹配標(biāo)志用一個(gè)標(biāo)記桶過濾器一一定速度進(jìn)行匹配,它和LOG目標(biāo)結(jié)合使用來給出有限的登陸數(shù).當(dāng)達(dá)到這個(gè)極限值時(shí),使用這個(gè)擴(kuò)展包的規(guī)則將進(jìn)行匹配.(除非使用了!標(biāo)記)-l

20、imit rate最大平均匹配速率:可賦的值有/second,/minute,/hour,or/day這樣的單位,默認(rèn)是3/hour。-limit-burst number待匹配包初始個(gè)數(shù)的最大值:若前面指定的極限還沒達(dá)到這個(gè)數(shù)值,則概數(shù)字加1.默認(rèn)值為5 multiport這個(gè)模塊匹配一組源端口或目標(biāo)端口,最多可以指定15個(gè)端口。只能和-p tcp或者-p udp連著使用。-source-portport,port如果源端口是其中一個(gè)給定端口則匹配-destination-portport,port如果目標(biāo)端口是其中一個(gè)給定端口則匹配-portport,port若源端口和目的端口相等并與某個(gè)

21、給定端口相等,則匹配。mark這個(gè)模塊和與netfilter過濾器標(biāo)記字段匹配(就可以在下面設(shè)置為使用MARK標(biāo)記)。-mark value/mask匹配那些無符號標(biāo)記值的包(如果指定mask,在比較之前會給掩碼加上邏輯的標(biāo)記)。owner此模塊試為本地生成包匹配包創(chuàng)建者的不同特征。只能用于OUTPUT鏈,而且即使這樣一些包(如ICMP ping應(yīng)答)還可能沒有所有者,因此永遠(yuǎn)不會匹配。-uid-owner userid如果給出有效的user id,那么匹配它的進(jìn)程產(chǎn)生的包。-gid-owner groupid如果給出有效的group id,那么匹配它的進(jìn)程產(chǎn)生的包。-sid-owner se

22、essionid根據(jù)給出的會話組匹配該進(jìn)程產(chǎn)生的包。state此模塊,當(dāng)與連接跟蹤結(jié)合使用時(shí),允許訪問包的連接跟蹤狀態(tài)。-state state這里state是一個(gè)逗號分割的匹配連接狀態(tài)列表??赡艿臓顟B(tài)是:INVALID表示包是未知連接,ESTABLISHED表示是雙向傳送的連接,NEW表示包為新的連接,否則是非雙向傳送的,而RELATED表示包由新連接開始,但是和一個(gè)已存在的連接在一起,如FTP數(shù)據(jù)傳送,或者一個(gè)ICMP錯(cuò)誤。unclean此模塊沒有可選項(xiàng),不過它試著匹配那些奇怪的、不常見的包。處在實(shí)驗(yàn)中。tos此模塊匹配IP包首部的8位tos(服務(wù)類型)字段(也就是說,包含在優(yōu)先位中)。-

23、tos tos這個(gè)參數(shù)可以是一個(gè)標(biāo)準(zhǔn)名稱,(用iptables-m tos-h察看該列表),或者數(shù)值。TARGET EXTENSIONS iptables可以使用擴(kuò)展目標(biāo)模塊:以下都包含在標(biāo)準(zhǔn)版中。LOG為匹配的包開啟內(nèi)核記錄。當(dāng)在規(guī)則中設(shè)置了這一選項(xiàng)后,linux內(nèi)核會通過printk()打印一些關(guān)于全部匹配包的信息(諸如IP包頭字段等)。-log-level level記錄級別(數(shù)字或參看syslog.conf(5)。-log-prefix prefix在紀(jì)錄信息前加上特定的前綴:最多14個(gè)字母長,用來和記錄中其他信息區(qū)別。-log-tcp-sequence記錄TCP序列號。如果記錄能被用

24、戶讀取那么這將存在安全隱患。-log-tcp-options記錄來自TCP包頭部的選項(xiàng)。-log-ip-options記錄來自IP包頭部的選項(xiàng)。MARK用來設(shè)置包的netfilter標(biāo)記值。只適用于mangle表。-set-mark mark REJECT作為對匹配的包的響應(yīng),返回一個(gè)錯(cuò)誤的包:其他情況下和DROP相同。此目標(biāo)只適用于INPUT、FORWARD和OUTPUT鏈,和調(diào)用這些鏈的用戶自定義鏈。這幾個(gè)選項(xiàng)控制返回的錯(cuò)誤包的特性:-reject-with type Type可以是icmp-net-unreachable、icmp-host-unreachable、icmp-port-n

25、reachable、icmp-proto-unreachable、icmp-net-prohibited或者icmp-host-prohibited,該類型會返回相應(yīng)的ICMP錯(cuò)誤信息(默認(rèn)是port-unreachable)。選項(xiàng)echo-reply也是允許的;它只能用于指定ICMP ping包的規(guī)則中,生成ping的回應(yīng)。最后,選項(xiàng)tcp-reset可以用于在INPUT鏈中,或自INPUT鏈調(diào)用的規(guī)則,只匹配TCP協(xié)議:將回應(yīng)一個(gè)TCP RST包。TOS用來設(shè)置IP包的首部八位tos。只能用于mangle表。-set-tos tos你可以使用一個(gè)數(shù)值型的TOS值,或者用iptables-j

26、 TOS-h來查看有效TOS名列表。MIRROR這是一個(gè)試驗(yàn)示范目標(biāo),可用于轉(zhuǎn)換IP首部字段中的源地址和目標(biāo)地址,再傳送該包,并只適用于INPUT、FORWARD和OUTPUT鏈,以及只調(diào)用它們的用戶自定義鏈。SNAT這個(gè)目標(biāo)只適用于nat表的POSTROUTING鏈。它規(guī)定修改包的源地址(此連接以后所有的包都會被影響),停止對規(guī)則的檢查,它包含選項(xiàng):-to-source-:port-port可以指定一個(gè)單一的新的IP地址,一個(gè)IP地址范圍,也可以附加一個(gè)端口范圍(只能在指定-p tcp或者-p udp的規(guī)則里)。如果未指定端口范圍,源端口中512以下的(端口)會被安置為其他的512以下的端口;512到1024之間的端口會被安置為1024以下的,其他端口會被安置為1024或以上。如果可能,端口不會被修改。-to-destiontion-:port-port可以指定一個(gè)單一的新的IP地址,一個(gè)IP地址范圍,也可以附加一個(gè)端口范圍(只能在指定-p tcp或者-p udp的規(guī)則里)。如果未指定端口范圍,目

溫馨提示

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

評論

0/150

提交評論