真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

Linux防火墻是什么

這篇文章主要為大家展示了“Linux防火墻是什么”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Linux防火墻是什么”這篇文章吧。

創(chuàng)新互聯(lián)于2013年開始,先為舞陽等服務建站,舞陽等地企業(yè),進行企業(yè)商務咨詢服務。為舞陽企業(yè)網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。

 構筑Linux防火墻之什么是Linux防火墻
防火墻典型的設置是有兩個網卡,一個流入,一個流出。iptables讀取流入和流出的數據包的報頭,然后將它們與規(guī)劃集(ruleset)相比較,然后將可接受的數據包從一個網卡轉發(fā)至另外一個網卡。對于被拒絕的數據包,可以被丟棄或者按照你所定義的方式來處理。
通過向防火墻提供有關對來自某個源、到某個目的地或具有特定協(xié)議類型的信息包要做些什么的指令的規(guī)則,控制信息包的過濾。通過使用iptables系統(tǒng)提供的特殊命令 iptables,建立這些規(guī)則,并將其添加到內核空間的特定信息包過濾表內的鏈中。關于添加、除去、編輯規(guī)則的命令的一般語法如下:


iptables [-t table] command [match] [target]
           


現(xiàn)實中,為了易讀,我們一般都用這種語法。大部分規(guī)則都是按這種語法寫的,因此,如果看到別人寫的規(guī)則,你很可能會發(fā)現(xiàn)用的也是這種語法。
如果不想用標準的表,就要在[table]處指定表名。一般情況下沒有必要指定使用的表,因為iptables 默認使用filter表來執(zhí)行所有的命令。也沒有必要非得在這里指定表名,實際上幾乎可在規(guī)則的任何地方指定表名。當然,把表名放在開始處已經是約定俗成的標準。盡管命令總是放在開頭,或者是直接放在表名后面,我們也要考慮到底放在哪兒易讀。
“command”告訴程序該做什么,比如:插入一個規(guī)則,還是在鏈的末尾增加一個規(guī)則,還是刪除一個規(guī)則。下面會仔細地介紹。
“match”細致地描述了包的某個特點,以使這個包區(qū)別于其它所有的包。在這里,我們可以指定包的來源IP 地址、網絡接口、端口、協(xié)議類型,或者其他什么。下面我們將會看到許多不同的match。
最后是數據包的目標所在“target”。若數據包符合所有的match,內核就用target來處理它,或者說把包發(fā)往target。比如,我們可以讓內核把包發(fā)送到當前表中的其他鏈(可能是我們自己建立的),或者只是丟棄這個包而不做任何處理,或者向發(fā)送者返回某個特殊的應答。下面我們來逐個討論這些選項:

表(table)
[-t table]選項允許使用標準表之外的任何表。表是包含僅處理特定類型信息包的規(guī)則和鏈的信息包過濾表。有三種可用的表選項:filter、nat 和 mangle。該選項不是必需的,如果未指定,則filter用作缺省表。下面介紹各表實現(xiàn)的功能。
filter
filter 表用來過濾數據包,我們可以在任何時候匹配包并過濾它們。我們就是在這里根據包的內容對包做DROP或ACCEPT的。當然,我們也可以預先在其他地方做些過濾,但是這個表才是設計用來過濾的。幾乎所有的target都可以在這兒使用。
nat
nat表的主要用處是網絡地址轉換,即Network Address Translation,縮寫為NAT。做過NAT操作的數據包的地址就被改變了,當然這種改變是根據我們的規(guī)則進行的。屬于一個流的包只會經過這個表一次。
如果第一個包被允許做NAT或Masqueraded,那么余下的包都會自動地被做相同的操作。也就是說,余下的包不會再通過這個表,一個一個的被NAT,而是自動地完成。這就是我們?yōu)槭裁床粦撛谶@個表中做任何過濾的主要原因。PREROUTING 鏈的作用是在包剛剛到達防火墻時改變它的目的地址,如果需要的話。OUTPUT鏈改變本地產生的包的目的地址。
POSTROUTING鏈在包就要離開防火墻之前改變其源地址此表僅用于NAT,也就是轉換包的源或目標地址。注意,只有流的第一個包會被這個鏈匹配,其后的包會自動被做相同的處理。實際的操作分為以下幾類:
◆ DNAT
◆ SNAT
◆ MASQUERADE
DNAT操作主要用在這樣一種情況,你有一個合法的IP地址,要把對防火墻的訪問 重定向到其他的機子上(比如DMZ)。也就是說,我們改變的是目的地址,以使包能重路由到某臺主機。
SNAT改變包的源地址,這在極大程度上可以隱藏你的本地網絡或者DMZ等。一個很好的例子是我們知道防火墻的外部地址,但必須用這個地址替換本地網絡地址。有了這個操作,防火墻就 能自動地對包做SNAT和De-SNAT(就是反向的SNAT),以使LAN能連接到Internet。
如果使用類似 192.168.0.0/24這樣的地址,是不會從Internet得到任何回應的。因為IANA定義這些網絡(還有其他的)為私有的,只能用于LAN內部。
MASQUERADE的作用和MASQUERADE完全一樣,只是計算機 的負荷稍微多一點。因為對每個匹配的包,MASQUERADE都要查找可用的IP地址,而不象SNAT用的IP地址是配置好的。當然,這也有好處,就是我們可以使用通過PPP、 PPPOE、SLIP等撥號得到的地址,這些地址可是由ISP的DHCP隨機分配的。
Mangle
這個表主要用來mangle數據包。我們可以改變不同的包及包頭的內容,比如 TTL,TOS或MARK。 注意MARK并沒有真正地改動數據包,它只是在內核空間為包設了一個標記。防火墻內的其他的規(guī)則或程序(如tc)可以使用這種標記對包進行過濾或高級路由。這個表有五個內建的鏈: PREROUTING,POSTROUTING, OUTPUT,INPUT和 FORWARD。
PREROUTING在包進入防火墻之后、路由判斷之前改變包,POSTROUTING是在所有路由判斷之后。 OUTPUT在確定包的目的之前更改數據包。INPUT在包被路由到本地之后,但在用戶空間的程序看到它之前改變包。注意,mangle表不能做任何NAT,它只是改變數據包的TTL,TOS或MARK,而不是其源目的地址。NAT是在nat表中操作的,以下是mangle表中僅有的幾種操作:
◆ TOS
◆ TTL
◆ MARK
TOS操作用來設置或改變數據包的服務類型域。這常用來設置網絡上的數據包如何被路由等策略。 注意這個操作并不完善,有時得不所愿。它在Internet上還不能使用,而且很多路由器不會注意到這個域值。換句話說,不要設置發(fā)往Internet的包,除非你打算依靠TOS來路由,比如用iproute2。
TTL操作用來改變數據包的生存時間域,我們可以讓所有數據包只有一個特殊的TTL。它的存在有一個很好的理由,那就是我們可以欺騙一些ISP。為什么要欺騙他們呢?因為他們不愿意讓我們共享 一個連接。
那些ISP會查找一臺單獨的計算機是否使用不同的TTL,并且以此作為判斷連接是否被共享的標志。
MARK用來給包設置特殊的標記。iproute2能識別這些標記,并根據不同的標記(或沒有標記) 決定不同的路由。用這些標記我們可以做帶寬限制和基于請求的分類。

以上是“Linux防火墻是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


網頁標題:Linux防火墻是什么
標題來源:http://weahome.cn/article/jpicej.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部