国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

Linux防火墻之IPtables概念與用法
2005-10-27   

防火墻典型的設置是有兩個網卡,一個流入,一個流出。iptables讀取流入和流出的數據包的報頭,然后將它們與規劃集(ruleset)相比較,然后將可接受的數據包從一個網卡轉發至另外一個網卡。對于被拒絕的數據包,可以被丟棄或者按照你所定義的方式來處理。
通過向防火墻提供有關對來自某個源、到某個目的地或具有特定協議類型的信息包要做些什么的指令的規則,控制信息包的過濾。通過使用iptables系統提供的特殊命令 iptables,建立這些規則,并將其添加到內核空間的特定信息包過濾表內的鏈中。關于添加、除去、編輯規則的命令的一般語法如下:
iptables [-t table] command [match] [target]
現實中,為了易讀,我們一般都用這種語法。大部分規則都是按這種語法寫的,因此,如果看到別人寫的規則,你很可能會發現用的也是這種語法。
如果不想用標準的表,就要在[table]處指定表名。一般情況下沒有必要指定使用的表,因為iptables 默認使用filter表來執行所有的命令。也沒有必要非得在這里指定表名,實際上幾乎可在規則的任何地方指定表名。當然,把表名放在開始處已經是約定俗成的標準。盡管命令總是放在開頭,或者是直接放在表名后面,我們也要考慮到底放在哪兒易讀。
“command”告訴程序該做什么,比如:插入一個規則,還是在鏈的末尾增加一個規則,還是刪除一個規則。下面會仔細地介紹。
“match”細致地描述了包的某個特點,以使這個包區別于其它所有的包。在這里,我們可以指定包的來源IP 地址、網絡接口、端口、協議類型,或者其他什么。下面我們將會看到許多不同的match。
最后是數據包的目標所在“target”。若數據包符合所有的match,內核就用target來處理它,或者說把包發往target。比如,我們可以讓內核把包發送到當前表中的其他鏈(可能是我們自己建立的),或者只是丟棄這個包而不做任何處理,或者向發送者返回某個特殊的應答。下面我們來逐個討論這些選項:
表(table)
[-t table]選項允許使用標準表之外的任何表。表是包含僅處理特定類型信息包的規則和鏈的信息包過濾表。有三種可用的表選項:filter、nat 和 mangle。該選項不是必需的,如果未指定,則filter用作缺省表。下面介紹各表實現的功能。
filter
filter 表用來過濾數據包,我們可以在任何時候匹配包并過濾它們。我們就是在這里根據包的內容對包做DROP或ACCEPT的。當然,我們也可以預先在其他地方做些過濾,但是這個表才是設計用來過濾的。幾乎所有的target都可以在這兒使用。
nat
nat表的主要用處是網絡地址轉換,即Network Address Translation,縮寫為NAT。做過NAT操作的數據包的地址就被改變了,當然這種改變是根據我們的規則進行的。屬于一個流的包只會經過這個表一次。
如果第一個包被允許做NAT或Masqueraded,那么余下的包都會自動地被做相同的操作。也就是說,余下的包不會再通過這個表,一個一個的被NAT,而是自動地完成。這就是我們為什么不應該在這個表中做任何過濾的主要原因。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并沒有真正地改動數據包,它只是在內核空間為包設了一個標記。防火墻內的其他的規則或程序(如tc)可以使用這種標記對包進行過濾或高級路由。這個表有五個內建的鏈: PREROUTING,POSTROUTING, OUTPUT,INPUT和 FORWARD。
PREROUTING在包進入防火墻之后、路由判斷之前改變包,POSTROUTING是在所有路由判斷之后。 OUTPUT在確定包的目的之前更改數據包。INPUT在包被路由到本地之后,但在用戶空間的程序看到它之前改變包。注意,mangle表不能做任何NAT,它只是改變數據包的TTL,TOS或MARK,而不是其源目的地址。NAT是在nat表中操作的,以下是mangle表中僅有的幾種操作:
◆ TOS
◆ TTL
◆ MARK
TOS操作用來設置或改變數據包的服務類型域。這常用來設置網絡上的數據包如何被路由等策略。 注意這個操作并不完善,有時得不所愿。它在Internet上還不能使用,而且很多路由器不會注意到這個域值。換句話說,不要設置發往Internet的包,除非你打算依靠TOS來路由,比如用iproute2。
TTL操作用來改變數據包的生存時間域,我們可以讓所有數據包只有一個特殊的TTL。它的存在有一個很好的理由,那就是我們可以欺騙一些ISP。為什么要欺騙他們呢?因為他們不愿意讓我們共享 一個連接。
那些ISP會查找一臺單獨的計算機是否使用不同的TTL,并且以此作為判斷連接是否被共享的標志。
MARK用來給包設置特殊的標記。iproute2能識別這些標記,并根據不同的標記(或沒有標記) 決定不同的路由。用這些標記我們可以做帶寬限制和基于請求的分類。
命令(command)
命令中必要的組成部分command是iptables命令的最重要部分。它告訴 iptables 命令要做什么,例如,插入規則、將規則添加到鏈的末尾或刪除規則。
在使用iptables時,如果必須的參數沒有輸入就按了回車,那么它就會給出一些提示信息,告訴你需要哪些參數等。iptables的選項-v用來顯示iptables的版本,-h給出語法的簡短說明。
匹配(match)
iptables命令的可選match部分指定信息包與規則匹配所應具有的特征(如源和目的地地址、協議等)。可把它們歸為五類:第一類是generic matches(通用的匹配),適用于所有的規則;第二類是TCP matches,顧名思義,這只能用于TCP包;第三類是UDP matches, 當然它只能用在UDP包上了;第四類是ICMP matches ,針對ICMP包的;第五類比較特殊,針對的是狀態,指所有者和訪問的頻率限制等。在此,只介紹通用匹配,熟悉了通用匹配,其它的幾種也就比較容易理解了。
目標(target)
我們已經知道,目標是由規則指定的操作,那些與規則匹配的信息包執行這些操作。除了允許用戶定義的目標之外,還有許多可用的目標選項。用于建立高級規則的目標,如LOG、REDIRECT、MARK、MIRROR 和MASQUERADE等。
狀態機制
狀態機制是iptables中特殊的一部分,其實它不應該叫狀態機制,因為它只是一種連接跟蹤機制。但是,很多人都認可狀態機制這個名字。連接跟蹤可以讓netfilter知道某個特定連接的狀態。運行連接跟蹤的防火墻稱作帶有狀態機制的防火墻,以下簡稱為狀態防火墻。狀態防火墻比非狀態防火墻要安全,因為它允許我們編寫更嚴密的規則。
在iptables里,包是和被跟蹤連接的四種不同狀態有關的。它們是NEW、ESTABLISHED、RELATED和INVALID。使用--state匹配操作,我們能很容易地控制“誰或什么能發起新的會話”。
所有在內核中由netfilter的特定框架做的連接跟蹤稱作conntrack(就是connection tracking的首字母縮寫)。conntrack可以作為模塊安裝,也可以作為內核的一部分。大部分情況下,我們需要更詳細的連接跟蹤。因此,conntrack中有許多用來處理TCP、UDP或ICMP協議的部件。這些模塊從數據包中提取詳細的、唯一的信息,因此能保持對每一個數據流的跟蹤。這些信息也告知conntrack流當前的狀態。例如,UDP流一般由他們的目的地址、源地址、目的端口和源端口唯一確定。
在以前的內核里,我們可以打開或關閉重組功能。然而,自從iptables和netfilter,尤其是連接跟蹤被引入內核,這個選項就被取消了。因為沒有包的重組,連接跟蹤就不能正常工作。現在重組已經整合入conntrack,并且在conntrack啟動時自動啟動。不要關閉重組功能,除非你要關閉連接跟蹤。
除了本地產生的包由OUTPUT鏈處理外,所有連接跟蹤都是在PREROUTING鏈里進行處理的,意思就是說iptables會在PREROUTING鏈里重新計算所有的狀態。如果我們發送一個流的初始化包,狀態就會在OUTPUT鏈里被設置為NEW,當我們收到回應的包時,狀態就會在PREROUTING鏈里被設置為ESTABLISHED。如果第一個包不是本地產生的,那就會在PREROUTING鏈里被設置為NEW狀態。綜上所述,所有狀態的改變和計算都是在nat表中的PREROUTING鏈和OUTPUT鏈里完成的。
正如前面說的,包的狀態依據IP所包含的協議不同而不同,但在內核外部,也就是用戶空間里,只有4種狀態:NEW、ESTABLISHED、RELATED和INVALID。它們主要是和狀態匹配一起使用。
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的。
INVALID
INVALID說明數據包不能被識別屬于哪個連接或沒有任何狀態。有幾個原因可以產生這種情況,比如,內存溢出,收到不知屬于哪個連接的ICMP錯誤信息。一般地,我們DROP這個狀態的任何東西。
這些狀態可以一起使用,以便匹配數據包。這可以使我們的防火墻非常強壯和有效。以前,我們經常打開1024以上的所有端口來放行應答的數據。現在,有了狀態機制,就不需再這樣了。因為我們可以只開放那些有應答數據的端口,其他的都可以關閉。這樣就安全多了。

熱詞搜索:

上一篇:新手:忘記密碼并不可怕
下一篇:使用IPtables搭建防火墻的規則

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
成人av手机在线观看| 色婷婷久久综合| 99久久er热在这里只有精品15 | 日韩精品一二区| 欧美日韩黄色影视| 免费观看91视频大全| 欧美电视剧免费全集观看| 美女视频黄久久| 国产日韩欧美综合一区| 欧美性色黄大片| 免费欧美日韩国产三级电影| 久久青草欧美一区二区三区| 波多野结衣91| 天堂影院一区二区| 亚洲精品一区二区精华| 色综合久久88色综合天天6 | 欧美日韩免费视频| 老司机精品视频线观看86 | 五月天精品一区二区三区| 日韩欧美国产一区二区三区| 不卡一二三区首页| 亚洲一二三四在线观看| 欧美大黄免费观看| 91久久精品网| 国产成人午夜电影网| 亚洲高清在线精品| 欧美国产精品v| 日韩一区二区电影| 91久久线看在观草草青青| 另类小说综合欧美亚洲| 亚洲欧美日韩国产中文在线| 亚洲精品一区二区三区99| 欧洲生活片亚洲生活在线观看| 看国产成人h片视频| 一区二区三区在线播放| 国产区在线观看成人精品| 欧美一区二区三区男人的天堂| 91小视频免费看| 国产成人av电影| 奇米888四色在线精品| 亚洲伦理在线精品| 国产精品久久久久一区二区三区共| 717成人午夜免费福利电影| 色综合久久99| 91香蕉视频mp4| 成人午夜短视频| 国产一区日韩二区欧美三区| 日本中文一区二区三区| 午夜欧美大尺度福利影院在线看 | 国产精品一色哟哟哟| 手机精品视频在线观看| 亚洲精品成人a在线观看| 日韩一区有码在线| 国产精品成人网| 国产精品伦理一区二区| 国产免费观看久久| 久久久久久久久久久黄色| 日韩欧美国产三级电影视频| 欧美一区二区三区视频在线 | 国产精品免费视频观看| 欧美国产亚洲另类动漫| 国产精品欧美久久久久无广告 | 最新不卡av在线| 国产精品久久午夜夜伦鲁鲁| 国产精品嫩草影院com| 欧美国产禁国产网站cc| 国产精品美女www爽爽爽| 中文乱码免费一区二区| 中文字幕va一区二区三区| 国产精品日日摸夜夜摸av| 亚洲精品中文在线影院| 一级做a爱片久久| 五月天婷婷综合| 韩国女主播成人在线观看| 国产一区二区三区在线观看精品| 国产精品一区二区久激情瑜伽 | 欧美久久久久久久久中文字幕| 欧美美女网站色| 精品黑人一区二区三区久久| 久久久久久久久久美女| 1000部国产精品成人观看| 亚洲国产精品麻豆| 久久国产精品色婷婷| 高清在线不卡av| 欧美在线观看一区二区| 日韩欧美成人一区| 中文字幕国产一区| 亚洲超碰精品一区二区| 韩国欧美一区二区| 91久久久免费一区二区| 精品入口麻豆88视频| 亚洲视频一区二区免费在线观看| 亚洲狠狠爱一区二区三区| 精品无人码麻豆乱码1区2区| 99久久精品免费看| 日韩女优电影在线观看| 亚洲欧洲日韩女同| 久久se精品一区二区| 99re这里只有精品6| 欧美一级久久久| 亚洲免费观看高清完整版在线| 奇米一区二区三区av| 91蜜桃在线观看| 久久香蕉国产线看观看99| 玉足女爽爽91| 国产成人免费视频网站高清观看视频| 在线免费观看视频一区| 欧美精品一区二区久久久| 亚洲综合另类小说| 成人性生交大片免费看中文网站| 7777女厕盗摄久久久| 亚洲天堂2014| 国产一区二区91| 91精品国产综合久久精品 | 国产精品免费视频网站| 极品少妇xxxx精品少妇偷拍| 欧美系列在线观看| 日韩美女视频一区二区| 国产成人在线视频网站| 国产精品99久久久| 日韩欧美黄色影院| 日本成人在线网站| 欧美日韩高清一区| 伊人色综合久久天天人手人婷| 亚洲一区av在线| 国产成人亚洲综合色影视| 久久亚洲精品国产精品紫薇| 国产欧美日韩在线观看| 久久精品国产一区二区三| 97精品国产露脸对白| 国产精品视频一区二区三区不卡 | 久久电影网电视剧免费观看| 欧美日本在线一区| 亚洲成人免费影院| 在线不卡a资源高清| 五月天激情小说综合| 欧美日韩国产高清一区二区| 亚洲午夜精品网| 91精品久久久久久蜜臀| 免费人成精品欧美精品| 日韩欧美电影一二三| 国产一区二区电影| 国产精品三级视频| 91久久国产最好的精华液| 亚洲综合视频在线观看| 欧美在线观看一二区| 丝袜美腿成人在线| 欧美精品一区二区三区视频| 国产美女精品在线| 中文字幕一区二区日韩精品绯色| 91在线视频播放地址| 亚洲h在线观看| 精品剧情在线观看| 不卡免费追剧大全电视剧网站| 《视频一区视频二区| 欧美日韩精品电影| 黑人巨大精品欧美一区| 国产精品久久久爽爽爽麻豆色哟哟 | 成人黄色片在线观看| 一区二区三区av电影| 91精品在线观看入口| 国产一区二区三区精品欧美日韩一区二区三区 | 国产精品天美传媒| 欧美日韩一级片在线观看| 老色鬼精品视频在线观看播放| 中文字幕av一区 二区| 在线观看网站黄不卡| 精品夜夜嗨av一区二区三区| 国产精品久久久久久久久免费樱桃| 日本韩国欧美一区二区三区| 免费xxxx性欧美18vr| 中文字幕日本乱码精品影院| 美女久久久精品| 亚洲色图20p| 日韩精品一区二区三区视频| 国产成人av电影在线观看| 亚洲综合免费观看高清完整版在线| 精品国产乱码久久久久久浪潮 | 尤物在线观看一区| 久久久久久毛片| 欧美精品少妇一区二区三区| yourporn久久国产精品| 奇米影视一区二区三区| 一区二区三区成人| 国产精品欧美久久久久一区二区 | 欧美一区二区三区精品| 99精品久久99久久久久| 国产九色sp调教91| 日本欧美肥老太交大片| 亚洲乱码国产乱码精品精可以看 | www.爱久久.com| 久久国产三级精品| 日韩成人一级片| 亚洲成人av一区二区| 日韩毛片一二三区| 国产精品久久久久久妇女6080| 亚洲精品在线免费观看视频| 日韩色视频在线观看| 91精品福利在线一区二区三区 | 欧美日韩国产精品成人|