成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iptables的基礎知識-iptables中的狀態檢測

運維 系統運維
iptables的基礎知識-iptables中的狀態檢測:iptabels被認為是Linux中實現包過濾功能的第四代應用程序。iptables包含在Linux2.4以后的內核中。本文介紹的是iptables的基礎知識-iptables中的狀態檢測。

iptables狀態

  問題:什么是iptable狀態

  首先讓我們看一下服務器/客戶機的交互原理。服務器提供某特定功能的服務總是由特定的后臺程序提供的。在TCP/IP網絡中,常常把這個特定的服務綁定到特定的TCP或UDP端口。之后,該后臺程序就不斷地監聽(listen)該端口,一旦接收到符合條件的客戶端請求,該服務進行TCP握手后就同客戶端建立一個連接,響應客戶請求。與此同時,再產生一個該綁定的拷貝,繼續監聽客戶端的請求。

  舉一個例子:假設網絡中有一臺服務器A(IP地址為1.1.1.1)提供WWW服務,另有客戶機B(2.2.2.2)、C(3.3.3.3)。首先,服務器A運行提供WWW服務的后臺程序(比如Apache)并且把該服務綁定到端口80,也就是說,在端口80進行監聽。當B發起一個連接請求時,B將打開一個大于1024的連接端口(1024內為已定義端口),假設為1037。A在接收到請求后,用80端口與B建立連接以響應B的請求,同時產生一個80端口綁定的拷貝,繼續監聽客戶端的請求。假如A又接收到C的連接請求(設連接請求端口為1071),則A在與C建立連接的同時又產生一個80端口綁定的拷貝繼續監聽客戶端的請求。如下所示,因為系統是以源地址、源端口、目的地址、目的端口來標識一個連接的,所以在這里每個連接都是唯一的。

  服務器 客戶端

  連接1:1.1.1.1:80 <=> 2.2.2.2:1037

  連接2:1.1.1.1:80 <=> 3.3.3.3:1071

  從上邊我們可以看出,每個網絡連接包括以下信息:源地址、目的地址、源端口和目的端口,叫作套接字對(socket pairs);協議類型、連接狀態(TCP協議)和超時時間等。iptable防火墻把這些信息叫作狀態(stateful),能夠檢測每個連接狀態的防火墻叫作狀態包過濾防火墻。它除了能夠完成簡單包過濾防火墻的包過濾工作外,還在自己的內存中維護一個跟蹤連接狀態的表,比簡單包過濾防火墻具有更大的安全性。這連接跟蹤的表是/proc/net/ip_conntrack(conntrack就是connection tracking 的首字母縮寫),能容納多少記錄是被一個變量控制的。默認值取決于你的內存大小,128MB可以包含8192條目錄,256MB是16376條。你也可以在/proc/sys/net/ipv4/ip_conntrack_max里查看、設置。

  注意:必須要加載ip_conntrack模塊后才可以看到/proc/net/ip_conntrack表。可以用modprobe ip_conntrack來加載。

  每一種特定的服務都有自己特定的端口,一般說來小于1024的端口多為服務器保留端口,這些端口分配給眾所周知的服務(如WWW、FTP等等),從512到1024的端口通常保留給特殊的UNIX TCP/IP應用程序,具體情況請參考/etc/services文件或RFC1700。

  iptables中的狀態檢測功能是由state選項來實現iptable的。對這個選項,在iptables的手冊頁中有以下描述:

  state

  這個模塊能夠跟蹤分組的連接狀態(即狀態檢測)。

  格式:--state XXXXX

  這里,state是一個用逗號分割的列表,表示要匹配的連接狀態。

  在iptables中有四種狀態:NEW,ESTABLISHED,RELATED,INVALID。

  NEW,表示這個分組需要發起一個連接,或者說,分組對應的連接在兩個方向上都沒有進行過分組傳輸。NEW說明這個包是我們看到的第一個包。意思就是,這是conntrack模塊看到的某個連接第一個包,它即將被匹配了。比如,我們看到一個SYN包,是我們所留意的連接的第一個包,就要匹配它。第一個包也可能不是SYN包,但它仍會被認為是NEW狀態。比如一個特意發出的探測包,可能只有RST位,但仍然是NEW。

  ESTABLISHED,表示分組對應的連接已經進行了雙向的分組傳輸,也就是說連接已經建立,而且會繼續匹配這個連接的包。處于ESTABLISHED狀態的連接是非常容易理解的。只要發送并接到應答,連接就是ESTABLISHED的了。一個連接要從NEW變為ESTABLISHED,只需要接到應答包即可,不管這個包是發往防火墻的,還是要由防火墻轉發的。ICMP的錯誤和重定向等信息包也被看作是ESTABLISHED,只要它們是我們所發出的信息的應答。

  RELATED,表示分組要發起一個新的連接,但是這個連接和一個現有的連接有關,例如:FTP的數據傳輸連接和控制連接之間就是RELATED關系。RELATED是個比較麻煩的狀態。當一個連接和某個已處于ESTABLISHED狀態的連接有關系時,就被認為是RELATED的了。換句話說,一個連接要想是RELATED的,首先要有一個ESTABLISHED的連接。這個ESTABLISHED連接再產生一個主連接之外的連接,這個新的連接就是RELATED的了,當然前提是conntrack模塊要能理解RELATED。ftp是個很好的例子,FTP-data連接就是和FTP-control有RELATED的。還有其他的例子,

  INVAILD,表示分組對應的連接是未知的,說明數據包不能被識別屬于哪個連接或沒有任何狀態。有幾個原因可以產生這種情況,比如,內存溢出,收到不知屬于哪個連接的ICMP錯誤信息。一般地,我們DROP這個狀態的任何東西。

  這些狀態可以一起使用,以便匹配數據包。這可以使我們的防火墻非常強壯和有效。以前,我們經常打開1024以上的所有端口來放行應答的數據。現在,有了狀態機制,就不需再這樣了。因為我們可以只開放那些有應答數據的端口,其他的都可以關閉。這樣就安全多了。

  上一節:iptables的基礎知識-防火墻的介紹。下一節:iptables中TCP的三次握手

【編輯推薦】

IPtables防火墻使用技巧(超實用)

Linux下Iptables端口轉發功能的解決

四種NAT的iptables實現

責任編輯:zhaolei 來源: netren
相關推薦

2011-03-16 11:17:56

IptablesICMP

2011-03-18 09:26:13

Iptables規則

2011-03-16 11:15:12

2011-03-18 08:52:23

Iptables

2011-03-18 09:26:14

iptableslimit

2011-03-16 11:06:55

Iptables防火墻

2011-03-18 09:26:13

IptablesTOS

2011-08-22 10:52:30

iptables狀態

2023-07-14 15:10:17

PythonAsyncIO庫

2023-07-04 07:31:06

MapReduce數據處理編程模型

2011-03-14 14:40:11

iptables編譯

2013-10-22 15:48:35

2021-11-05 15:31:01

UbuntuLinux

2011-11-04 17:26:12

2013-03-27 15:56:05

Android開發Andriod繪圖

2011-03-16 14:38:55

iptables命令

2011-03-16 14:55:36

關閉iptables

2011-03-15 09:59:54

2011-03-15 09:59:54

2011-03-16 09:30:47

iptables過濾
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 能看的av| 日韩二区三区 | 蜜臀网 | 国产精品亚洲成在人线 | 亚洲欧美精品在线 | 日韩久久精品视频 | 色婷婷综合久久久中字幕精品久久 | 免费在线播放黄色 | 国产精久久久久久久妇剪断 | 国产精品av久久久久久毛片 | 精品欧美乱码久久久久久 | 免费的av网站 | 黑人中文字幕一区二区三区 | 可以看黄的视频 | 久久国产欧美日韩精品 | 一级毛片免费完整视频 | 日韩成人免费视频 | 久久久久久色 | 国产精品久久久爽爽爽麻豆色哟哟 | 国产日韩欧美在线一区 | 国产情侣激情 | a黄视频| 中文字幕亚洲欧美 | 国产亚洲一区二区三区在线观看 | 精品福利在线 | 亚洲综合色自拍一区 | 亚洲国产精品一区 | 亚洲一区二区电影在线观看 | 亚洲欧洲一区二区 | 欧美色综合 | 日日摸日日碰夜夜爽亚洲精品蜜乳 | 久久久久久久一级 | 国产精品成人品 | 99在线免费视频 | 久久视频精品 | 欧美一区二区免费 | 欧美日韩在线一区二区三区 | 成人av观看| 亚洲成人精品 | 久久久精品一区二区三区 | 91原创视频 |