iptables----sport、dport解釋

之前一直對iptables的sport、dport不清楚,因此這裏記錄一下。linux

(1)清理防火牆:服務器

iptables -F iptables -X iptables -Z

(2)iptables命令選項輸入順序:tcp

iptables -t 表名 <-A/I/D/R> 規則鏈名 [規則號] <-i/o 網卡名> -p 協議名 <-s 源IP/源子網> --sport 源端口 <-d 目標IP/目標子網> --dport 目標端口 -j 動做

表名包括:spa

  • raw:高級功能,如:網址過濾。
  • mangle:數據包修改(QOS),用於實現服務質量。
  • net:地址轉換,用於網關路由器。
  • filter:包過濾,用於防火牆規則。

規則鏈名包括:.net

  • INPUT鏈:處理輸入數據包。
  • OUTPUT鏈:處理輸出數據包。
  • PORWARD鏈:處理轉發數據包。
  • PREROUTING鏈:用於目標地址轉換(DNAT),路由前。
  • POSTOUTING鏈:用於源地址轉換(SNAT),路由後。
  •  

動做包括:翻譯

  • accept:接收數據包。
  • DROP:丟棄數據包。
  • REDIRECT:重定向、映射、透明代理。
  • SNAT:源地址轉換。
  • DNAT:目標地址轉換。
  • MASQUERADE:IP假裝(NAT),用於ADSL。
  • LOG:日誌記錄。

iptables裏面的dport和sport代理

首先先來翻譯一下dport和sport的意思:日誌

dport:目的端口 
sport:來源端口 
初學iptables比較容易迷糊,可是我儘可能用通俗的語言給你講解。blog

dport 和sport字面意思來講很好理解,一個是數據要到達的目的端口,一個是數據來源的端口。ip

可是在使用的時候要分具體狀況來對待,這個具體狀況就是你的數據包的流動行爲方式。(INPUT仍是OUTPUT)

好比你的例子:/sbin/iptables -A INPUT -p tcp –dport 80 -j ACCEPT 
注意裏面的INPUT參數,這個表明你的這條數據包的進行的 「進入」 操做! 
那麼你的這條數據包能夠這麼描述: 
1.這是一條從外部進入內部本地服務器的數據。 
2.數據包的目的(dport)地址是80,就是要訪問我本地的80端口。 
3.容許以上的數據行爲經過。 
總和:容許外部數據訪問個人本地服務器80端口。

再看第2條列子:/sbin/iptables -A INPUT -p tcp –sport 80 -j ACCEPT 
1.這是一條從外部進入內部本地服務器的數據。 
2.數據包的來源端口是(sport)80,就是對方的數據包是80端口發送過來的。 
3.容許以上數據行爲。 
總結:容許外部的來自80端口的數據訪問個人本地服務器。

input方式總結: dport指本地,sport指外部。

若是你的數據包是(OUTPUT)行爲,那麼就是另一種理解方式: 
好比: 
/sbin/iptables -A OUTPUT -p tcp –dport 80 -j ACCEPT 
1.這是一條從內部出去的數據。 
2.出去的目的(dport)端口是80。 
3.容許以上數據行爲。

output行爲總結:dport只外部,sport指本地。

 

推薦博客:

http://www.zsythink.net/archives/1199

相關文章
相關標籤/搜索