欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
iptables詳解(轉)
(2011-12-19 21:41:42)
標簽: 雜談
分類(lèi): 操作系統
轉了篇好文,就缺這種條理清晰的好文吶~~~~~~~~~~~~~~~~~~~~~轉后慢慢消化,
http://blog.sina.com.cn/s/blog_6aad8abe01011u7c.html
Netfilter包含有三種表,三種表下共包含有五種鏈,鏈下面包含各種規則。即表包含若干鏈,鏈包含若干規則。
(一)三種表為:filter   nat  mangle
1、filter:處理與本機有關(guān)的數據包,是默認表,包含有三種鏈:input   output forward
2、nat表:與本機無(wú)關(guān)。主要處理源與目的地址IP和端口的轉換。有三種鏈:prerouting  postrouting output
3、mangle表:用于高級路由信息包,如包頭內有更改(如tos改變包的服務(wù)類(lèi)型,ttl包的生存時(shí)間,mark特殊標記)。有兩種鏈:prerouting  output  (kernel  2.4.18后又加了兩種鏈:input forward)這種表很少使用。
(二)五種鏈
1、prerouting:進(jìn)入netfilter后的數據包在進(jìn)入路由判斷前執行的規則。改變包。
2、Input:當經(jīng)過(guò)路由判斷后,要進(jìn)入本機的數據包執行的規則。
3、output:由本機產(chǎn)生,需向外發(fā)的數據包執行的規則。
4、forward:經(jīng)過(guò)路由判斷后,目的地不是本機的數據包執行的規則。與nat 和 mangle表相關(guān)聯(lián)很高,與本機沒(méi)有關(guān)聯(lián)。
5、postrouting:經(jīng)過(guò)路由判斷后,發(fā)送到網(wǎng)卡接口前。即數據包準備離開(kāi)netfilter時(shí)執行的規則。
上圖中,運行中的守護進(jìn)程,是指本機。Input的包都會(huì )發(fā)到本機。本機處理后再經(jīng)output 發(fā)出去。
(三)數據包進(jìn)入netfilter后的經(jīng)過(guò)圖:
1、數據包進(jìn)入linux服務(wù)器入接口,接口把數據包發(fā)往netfilter,數據包就此進(jìn)入netfilter。
2、經(jīng)prerouting處理,(如是否需要更改數據包的源IP地址等)
3、數據包到路由,路由通過(guò)路由表判斷數據包的目的地。如果目的地是本機,就把數據包轉給intput處理后進(jìn)入本機。如果目的地不是本機,則把數據包轉給forward處理。
4、數據包通過(guò)forward處理后,再轉給postrouting處理,(是否有目標地址需要改變等),處理后數據包就出了netfilter,到linux服務(wù)器出接口,就出了linux服務(wù)器。
5、如果數據包進(jìn)了本機后經(jīng)過(guò)處理需要外發(fā)數據包,或本機自身有數據包需要外發(fā),就把數據包發(fā)給output鏈進(jìn)行處理后,轉給postrouting處理后,出linux服務(wù)器。進(jìn)入外面的花花世界。
(四)規則的執行順序
當數據包進(jìn)入netfilter,就會(huì )和里面的規則進(jìn)行對比。規則是有順序的。
先和規則1對比,如果和規則1相匹配,被規則1接受(accept),則數據將不再和后面的規則進(jìn)行對比。如果不匹配,則按順序和后面的規則進(jìn)行對比,直到被接受。如果所有的規則都不匹配,則進(jìn)行默認策略操作,以決定數據包的去向。所以規則的順序很重要。
IPTABLE主要是理解上面的內容,一些詳細參數可以見(jiàn)附件中的指南。
二、iptalbe語(yǔ)法及參數
iptable [-t table] command [chain] [match][-j target]
注釋?zhuān)篿ptable [-t 表名] -命令 [鏈接] [匹配] [-j 動(dòng)作/目標]
(一) table  (表)
1、filter表:默認用filter表執行所有的命令。只操作與本機有關(guān)的數據包。
2、nat表:主要用于NAT地址轉換。只有數據流的第一個(gè)數據包被這個(gè)鏈匹配,后面的包會(huì )自動(dòng)做相同的處理。
分為:DNAT(目標地址轉換)、SNAT(源地址轉換)、MASQUERADE
(1)DNAT操作主要用在這樣一種情況,你有一個(gè)合法的IP地址,要把對防火墻的訪(fǎng)問(wèn) 重定向到其他的機子上(比如DMZ)。也就是說(shuō),我們改變的是目的地址,以使包能重路由到某臺主機。
(2)SNAT 改變包的源地址,這在極大程度上可以隱藏你的本地網(wǎng)絡(luò )或者DMZ等。內網(wǎng)到外網(wǎng)的映射。
(3)MASQUERADE 的作用和SNAT完全一樣,只是計算機的負荷稍微多一點(diǎn)。因為對每個(gè)匹配的包,MASQUERADE都要查找可用的IP地址,而不象SNAT用的IP地址是配置好的。當然,這也有好處,就是我們可以使用通過(guò)PPP、 PPPOE、SLIP等撥號得到的地址,這些地址可是由ISP的DHCP隨機分配的。
3、mangle表:用來(lái)改變數據包的高級特性,一般不用。
(二) command(命令)詳解
1、 -A或者--append     //將一條或多條規則加到鏈尾
2、 -D或者--delete     //從鏈中刪除該規則
3、 -R或者--replace   //從所選鏈中替換一條規則
4、 -L或者--list       //顯示鏈的所有規則
5、 -I或者--inset     //根據給出的規則序號,在鏈中插入規則。按序號的順序插入,如是 “1”就插入鏈首
6、 -X或者--delete-chain  //用來(lái)刪除用戶(hù)自定義鏈中規則。必須保證鏈中的規則都不在使用時(shí)才能刪除鏈。如沒(méi)有指定鏈,將刪除所有自定義鏈中的規則。
7、 -F或者--flush        //清空所選鏈中的所有規則。如指定鏈名,則刪除對應鏈的所有規則。如沒(méi)有指定鏈名,則刪除所有鏈的所有規則。
8、 -N或者--new-chain      //用命令中所指定的名字創(chuàng )建一個(gè)新鏈。
9、 -P或者--policy        //設置鏈的默認目標,即策略。 與鏈中任何規則都不匹配的信息包將強制使用此命令中指定的策略。
10、-Z或者--zero        //將指定鏈中的所有規則的包字節計數器清零。
(三) match 匹配
分為四大類(lèi):通用匹配、隱含匹配、顯示匹配、針對非正常包的匹配
1、通用匹配
無(wú)論我們使用何種協(xié)議,裝入何種擴展,通用匹配都可以使用。不需要前提條件
(1) -p(小寫(xiě))或--protocol
用來(lái)檢查某些特定協(xié)議。協(xié)議有TCP\UDP\ICMP三種??捎枚禾柗珠_(kāi)這三種協(xié)議的任何組合。也可用“!”號進(jìn)行取反,表示除該協(xié)議外的剩下的協(xié)議。也可用all表示全部協(xié)議。默認是all,但只代表tcp\udp\icmp三種協(xié)議。
$ iptable -A INPUT -p TCP,UDP
$ iptable -A INPUT -p ! ICMP     //這兩種表示的意思為一樣的。
(2) -s 或 --source
以Ip源地址匹配包。根據源地址范圍確定是否允許或拒絕數據包通過(guò)過(guò)濾器??墒褂?“!”符號。    默認是匹配所有ip地址。
可是單個(gè)Ip地址,也可以指定一個(gè)網(wǎng)段。  如: 192.168.1.1/255.255.255.255  表示一個(gè)地址。  192.168.1.0/255.255.255.0  表示一個(gè)網(wǎng)段。
(3) -d  或 --destination
用目的Ip地址來(lái)與它們匹配。與  source 的格式用法一樣
(4)  -i
以包進(jìn)入本地所使用的網(wǎng)絡(luò )接口來(lái)匹配包。只能用INPUT \ FORWARD \PREROUTING 三個(gè)鏈中。用在其他任何鏈中都會(huì )出錯。
可使用“+”  “!”兩種符號。
只用一個(gè)“+"號,表示匹配所有的包,不考慮使用哪個(gè)接口。如: iptable -A INPUT  -i +  //表匹配所有的包。
放在某類(lèi)接口后面,表示所有此類(lèi)接口相匹配。如:    iptable  -A INPUT -i eth+   //表示匹配所有ethernet 接口。
(5)  -o
以數據包出本地所使用的網(wǎng)絡(luò )接口來(lái)匹配包。與-i一樣的使用方法。
只能用OUTPUT \ FORWARD \POSTROUTING 三個(gè)鏈中。用在其他任何鏈中都會(huì )出錯。
可使用“+”  “!”兩種符號。
(6)  -f  (或  --fragment )
用來(lái)匹配一個(gè)被分片的包的第二片或以后的部分。因一個(gè)數據包被分成多片以后,只有第一片帶有源或目標地址。后面的都不帶 ,所以只能用這個(gè)來(lái)匹配??煞乐顾槠?。
2、隱含匹配
這種匹配是隱含的,自動(dòng)的載入內核的。如我們使用 --protocol tcp  就可以自動(dòng)匹配TCP包相關(guān)的特點(diǎn)。
分三種不同協(xié)議的隱含匹配:tcp   udp  icmp
2.1   tcp match
tcp match 只能隱含匹配TCP包或流的細節。但必須有  -p tcp 作為前提條件。
(2.1.1)  TCP --sport
基于tcp包的源端口匹配包  ,不指定此項則表示所有端口。
iptable -A INPUT -p  TCP  --sport   22:80    //TCP源端口號22到80之間的所有端口。
iptable -A INPUT -p  TCP  --sport   22:      //TCP源端口號22到65535之間的所有端口。
(2.1.2)  TCP --dport
基于tcp包的目的端口來(lái)匹配包。   與--sport端口用法一樣。
(2.1.3)  TCP --flags
匹配指定的TCP標記。
iptable  -p  TCP --tcp-flags  SYN,FIN,ACK   SYN
2.2   UDP match
(2.1.1)  UDP --sport
基于UDP包的源端口匹配包  ,不指定此項則表示所有端口。
(2.1.1)  UDP --dport
基于UDP包的目的端口匹配包  ,不指定此項則表示所有端口。
2.3   icmp match
icmp --icmp-type
根據ICMP類(lèi)型包匹配。類(lèi)型 的指定可以使用十進(jìn)制數或相關(guān)的名字,不同的類(lèi)型,有不同的ICMP數值表示。也可以用“!”取反。
例:      iptable  -A INPUT  -p icmp-imcp-type 8
3、顯示匹配
顯示匹配必須用  -m裝 載。
(1)limit match
必須用 -m limit 明確指出。  可以對指定的規則的匹配次數加以限制。即,當某條規則匹配到一定次數后,就不再匹配。也就是限制可匹配包的數量。這樣可以防止DOS攻擊。
限制方法: 設定對某條規則 的匹配最大次數。設一個(gè)限定值 。 當到達限定值以后,就停止匹配。但有個(gè)規定,在超過(guò)限制次數后,仍會(huì )每隔一段時(shí)間再增加一次匹配次數。但增加的空閑匹配數最大數量不超過(guò)最大限制次數。
--limit rate
最大平均匹配速率:可賦的值有'/second', '/minute', '/hour', or '/day'這樣的單位,默認是3/hour。
--limit-burst number
待匹配包初始個(gè)數的最大值:若前面指定的極限還沒(méi)達到這個(gè)數值,則概數字加1.默認值為5
iptable -A INPUT -m limit --limt 3/hour    //設置最大平均匹配速率。也就是單位時(shí)間內,可匹配的數據包個(gè)數。   --limt 是指定隔多 長(cháng)時(shí)間發(fā)一次通行證。
iptable -A INPUT  -m limit --limit-burst 5  //設定剛開(kāi)始發(fā)放5個(gè)通行證,也最多只可匹配5個(gè)數據包。
(2) mac match
只能匹配MAC源地址?;诎腗AC源地址匹配包
iptable -A  INPUT -m mac  --mac-source   00:00:eb:1c:24     //源地址匹配些MAC地址
(3)  mark match
以數據包被 設置的MARK來(lái)匹配包。這個(gè)值由  MARK TARGET 來(lái)設置的。
(4)  multiport match
這個(gè)模塊匹配一組源端口或目標端口,最多可以指定15個(gè)端口。只能和-p tcp 或者 -p udp 連著(zhù)使用。
多端口匹配擴展讓我們能夠在一條規則里指定不連續的多個(gè)端口。如果沒(méi)有這個(gè)擴展,我們只能按端口來(lái)寫(xiě)規則了。這只是標準端口匹配的增強版。不能在一條規則里同時(shí)用標準端口匹配和多端口匹配。
三個(gè)選項:   --source-port   ;  --destination-port  ;   --port
iptable  -A INPUT  -p TCP   -m  multiport  --source-port 22,28,115
iptable  -A INPUT  -p TCP   -m  multiport  --destination-port 22,28,115
iptable  -A INPUT  -p TCP   -m  multiport  --port 22,28,115
(5) state match
狀態(tài)匹配擴展要有內核里的連接跟蹤代碼的協(xié)助。因為是從連接跟蹤機制得到包的狀態(tài)。這樣不可以了解所處的狀態(tài)。
(6)  tos match
根據TOS字段匹配包,用來(lái)控制優(yōu)先級。
(7)   ttl match
根據IP頭里的TTL字段來(lái)匹配包。
用來(lái)更改包的TTL,有些ISP根據TTL來(lái)判斷是不是有多臺機器共享連接上網(wǎng)。
iptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-set 64
iptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-dec 1
# 離開(kāi)防火墻的時(shí)候實(shí)際上TTL已經(jīng)-2了,因為防火墻本身要-1一次。
iptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-inc 1
# 離開(kāi)防火墻的時(shí)候不增不減,tracert就不好用了,呵呵。
(8) owner match
基于包的生成者(即所有者或擁有者)的ID來(lái)匹配包。
owner 可以是啟動(dòng)進(jìn)程的用戶(hù)的ID,或用戶(hù)所在的級的ID或進(jìn)程的ID,或會(huì )話(huà)的ID。此只能用在OUTPUT 中。
此模塊設為本地生成包匹配包創(chuàng )建者的不同特征。而且即使這樣一些包(如ICMP ping應答)還可能沒(méi)有所有者,因此永遠不會(huì )匹配。
--uid-owner userid
如果給出有效的user id,那么匹配它的進(jìn)程產(chǎn)生的包。
--gid-owner groupid
如果給出有效的group id,那么匹配它的進(jìn)程產(chǎn)生的包。
--sid-owner seessionid
根據給出的會(huì )話(huà)組匹配該進(jìn)程產(chǎn)生的包。
( 四) targets/jump
指由規則指定的操作,對與規則匹配的信息包執行什么動(dòng)作。
1、accept
這個(gè)參數沒(méi)有任何選項。指定  -j accept 即可。
一旦滿(mǎn) 足匹配不再去匹配表或鏈內定義的其他規則。但它還可能會(huì )匹配其他表和鏈內的規則。即在同一個(gè)表內匹配后就到上為止,不往下繼續。
2、drop
-j drop   當信息包與規則完全匹配時(shí),將丟棄該 包。不對它做處理。并且不向發(fā)送者返回任何信息。也不向路由器返回信息。
3、reject
與drop相同的工作方式,不同的是,丟棄包后,會(huì )發(fā)送錯誤信息給發(fā)送方。
iptables -A FORWARD -p TCP --dport 22 -j REJECT --reject-with icmp-net-unreachable
4、DNAT
用在prerouting鏈上。
做目的網(wǎng)絡(luò )地址轉換的。就是重寫(xiě)目的的IP地址。
如果一個(gè)包被匹配,那么和它屬于同一個(gè)流的所有的包都會(huì )被自動(dòng)轉換。然后可以被路由到正確的主機和網(wǎng)絡(luò )。
也就是如同防火墻的外部地址映射。把外部地址映射到內部地址上。
iptables -t nat   -A PREROUTING   -d 218.104.235.238 -p TCP  --dport 110,125    -j DNAT --to-destination  192.168.9.1
//把所有訪(fǎng)問(wèn)218.104.235.238地址  110.125端口的包全部轉發(fā)到 192.168.9.1上。
--to-destination   //目的地重寫(xiě)
5、SNAT
用在nat 表的postrouting鏈表。這個(gè)和DNAT相反。是做源地址轉換。就是重寫(xiě)源地址IP。 常用在內部網(wǎng)到外部網(wǎng)的轉換。
--to-source
iptables -t nat POSTROUTING  -o eth0 -p tcp  -j SNAT --to-source 218.107.248.127  //從eth0接口往外發(fā)的數據包都把源地址重寫(xiě)為218.107.248.127
********************
iptables -t nat -A PREROUTING -p tcp -d 15.45.23.67 --dport 80 -j DNAT --to-destination 192.168.1.9
# 將所有的訪(fǎng)問(wèn)15.45.23.67:80端口的數據做DNAT發(fā)到192.168.1.9:80
如果和192.168.1.9在同一內網(wǎng)的機器要訪(fǎng)問(wèn)15.45.23.67,防火墻還需要做設置,改變源IP為防火墻內網(wǎng)IP 192.168.1.1。否則數據包直接發(fā)給內網(wǎng)機器,對方將丟棄。
iptables -t nat -A POSTROUTING -p tcp --dst 15.45.23.67 --dport 80 -j SNAT --to-source 192.168.1.1
# 將所有的訪(fǎng)問(wèn)15.45.23.67:80端口的數據包源IP改為192.168.1.1
如果防火墻也需要訪(fǎng)問(wèn)15.45.23.67:80,則需要在OUTPUT鏈中添加,因為防火墻自己發(fā)出的包不經(jīng)過(guò)PREROUTING。
iptables -t nat -A OUTPUT --dst 15.45.23.67 --dport 80 -j DNAT --to-destination 192.168.1.9
********************
6、MASQUERADE
masquerade 的作用和 SNAT的作用是一樣的。 區別是,他不需要指定固定的轉換后的IP地址。專(zhuān)門(mén)用來(lái)設計動(dòng)態(tài)獲取IP地址的連接的。
MASQUERADE的作用是,從服務(wù)器的網(wǎng)卡上,自動(dòng)獲取當前ip地址來(lái)做NAT
如家里的ADSL上網(wǎng),外網(wǎng)的IP地址不是固定的,你無(wú)法固定的設定NAT轉換后的IP地址。這時(shí)就需要用masquerade來(lái)動(dòng)態(tài)獲取了。
iptables -t nat -A POSTROUTING  -s 192.168.1.0/24 -j masquerade      //即把192.168.1.0 這個(gè)網(wǎng)段的地址都重寫(xiě)為動(dòng)態(tài)的外部IP地址。
7、REDIRECT
只能在NAT表中的PREROUTING  OUTPUT 鏈中使用
在防火墻所在的機子內部轉發(fā)包或流到另一個(gè)端口。比如,我們可以把所有去往端口HTTP的包REDIRECT到HTTP proxy(例如squid),當然這都發(fā)生在我們自己的主機內部。
--to-ports
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
不使用這個(gè)選項,目的端口不會(huì )被改變。
指定一個(gè)端口,如--to-ports 8080
指定端口范圍,如--to-ports 8080-8090
8、RETURN
顧名思義,它使包返回上一層,順序是:子鏈——>父鏈——>缺省的策略。具體地說(shuō),就是若包在子鏈中遇到了RETURN,則返回父鏈的下一條規則繼續進(jìn)行條件的比較,若是在父鏈(或稱(chēng)主鏈,比如INPUT)中遇到了RETURN,就要被缺省的策略(一般是ACCEPT或DROP)操作了。(譯者注:這很象C語(yǔ)言中函數返回值的情況)
9、MIRROR
顛倒IP頭中的源地址與目的地址,再轉發(fā)。
10、LOG
在內核空間記錄日志,dmesg等才能看。
11、ULOG
在用戶(hù)空間記錄日志。
(五)IP轉發(fā)功能
打開(kāi)轉發(fā)IP功能(IP forwarding):
echo "1" > /proc/sys/net/ipv4/ip_forward
如果使用PPP、DHCP等動(dòng)態(tài)IP,需要打開(kāi):
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
iptables全面詳解(圖文并茂含命令指南)
iptables 原理及應用詳解(轉)
iptables詳解加實(shí)例
防火墻iptables詳解
[原創(chuàng )首發(fā)]Linux防火墻iptables設置基礎
iptables防火墻配置詳解
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久