iptables 數據包在用戶空間的狀態

Table 4-1. 數據包在用戶空間的狀態
State(狀態) Explanation(註釋)
NEW NEW說明這個包是咱們看到的第一個包。意思就是,這是conntrack模塊看到的某個鏈接第一個包,它即將被匹配了。好比,咱們看到一個SYN 包,是咱們所留意的鏈接的第一個包,就要匹配它。第一個包也可能不是SYN包,但它仍會被認爲是NEW狀態。這樣作有時會致使一些問題,但對某些狀況是有很是大的幫助的。例如,在咱們想恢復某條從其餘的防火牆丟失的鏈接時,或者某個鏈接已經超時,但實際上並未關閉時。
ESTABLISHED ESTABLISHED已經注意到兩個方向上的數據傳輸,並且會繼續匹配這個鏈接的包。處於ESTABLISHED狀態的鏈接是很是容易理解的。只要發送並接到應答,鏈接就是ESTABLISHED的了。一個鏈接要從NEW變爲ESTABLISHED,只須要接到應答包便可,無論這個包是發往防火牆的,仍是要由防火牆轉發的。ICMP的錯誤和重定向等信息包也被看做是ESTABLISHED,只要它們是咱們所發出的信息的應答。
RELATED RELATED是個比較麻煩的狀態。當一個鏈接和某個已處於ESTABLISHED狀態的鏈接有關係時,就被認爲是RELATED的了。換句話說,一個鏈接要想是RELATED的,首先要有一個ESTABLISHED的鏈接。這個ESTABLISHED鏈接再產生一個主鏈接以外的鏈接,這個新的鏈接就是RELATED的了,固然前提是conntrack模塊要能理解RELATED。ftp是個很好的例子,FTP-data 鏈接就是和FTP-control有RELATED的。還有其餘的例子,好比,經過IRC的DCC鏈接。有了這個狀態,ICMP應答、FTP傳輸、DCC等才能穿過防火牆正常工做。注意,大部分還有一些UDP協議都依賴這個機制。這些協議是很複雜的,它們把鏈接信息放在數據包裏,而且要求這些信息能被正確理解。
INVALID INVALID說明數據包不能被識別屬於哪一個鏈接或沒有任何狀態。有幾個緣由能夠產生這種狀況,好比,內存溢出,收到不知屬於哪一個鏈接的ICMP 錯誤信息。通常地,咱們DROP這個狀態的任何東西。
相關文章
相關標籤/搜索