中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iptables常用命令和實例復習

發布時間:2020-07-14 18:06:21 來源:網絡 閱讀:653 作者:時大偉1999 欄目:安全技術

 一、IPTABLES的簡介

1. 簡介

IPTABLES/netfilter(http://www.netfilter.org) 其實大多數人都認為iptableslinux系統上的一個服務,其實不是的. 我們linux系統上的服務比如說httpd服務在啟動起來的時候,是不是在后臺啟動一個相應的服務進程且在網卡上監聽一個端口,iptables卻不然,那么iptables到底是什么呢?其實iptables只是一個工具而已.我們的linux系統有用戶空間,和內核空間,iptables有兩個組件,一是netfilter, netfilter組件只是用來過濾防火墻規則,及作出相應的處理機制的,它是集成在內核中的一部分,也就是說它是工作在內核空間的,那么大家都知道用戶是不可能直接跟內核空間打交道的,那么netfilter只是工作在內核空間對規則進行處理的,那么規則從何而來呢? 是從iptables的第二個組件iptables而來的,我們上面說了IPTABLES只是一個工作在用戶空間的一個工具而已,那么用戶就使用這個工具的一個命令來跟工作在內核空間中的netfiter組件打交道的.其實IPTABLES防火墻就是這樣的.

 

二、IPTABLES的表和鏈

IPTABLES常用的表和鏈有三個filter nat mangle, 和五個鏈 INPUT OUTPUT FORWARE POSTROUTING PREROUTING, 下面來介紹下它們的各個功能呢個功能,

1.filter

filter表主要是過濾數據包,IPTABLES幾乎所有的數據包過濾都在此表中實現的,filter表也是IPTABLES中默認的表,此表中還包含三個鏈如下

1.1 INPUT

過濾所有的目標地址是本機的數據包

1.2 OUTPUT

過濾所有從本機出去的數據包

1.3 FORWORD

過濾所有從本機路過的數據包

 

2.nat

nat表主要是用于做網絡地址轉換(NAT) IPTABLES中可以做SNAT(源地址轉換),DNAT(目標地址轉換),PNAT(即跟SNAT差不多,不一樣的是SNAT的源地址是固定的,PNAT的源地址是不固定的,當使用ppp pppoe的方式連接互聯網的時候一般適應這中) nat表中包含兩個鏈如下

2.1 PREROUTING

在數據包到達防火墻的時候改變目標地址 DNAT應用于此鏈.

2.2 OUTPUT

可以改變本地產生的數據包的目標地址

2.3 POSTROUTING

在數據包離開防火墻的時候改變源地址,SNAT應用于次鏈

 

3. mangle

mangle表主要是修改數據包頭部信息,此表中包含以下5條鏈

3.1 PREROUTING,

在數據包進入防火墻之后,也稱為路由前,

3.2 POSTROUTING,

在數據包確定目標地址后,也稱為路由后,

3.3 OUTPUT

從本機出去的時間包路由前

3.4 INPUT

數據包進入本機后,路由后

3.5 FORWARD

第一次路由判斷之后,最后一次路由判斷之前改變數據包

 

三、IPABLES的狀態

IPTABLES的狀態跟蹤連接有4,分別是,NEW,ESTABLISHED,RELATED,INVALID,除了從本機出去的數據包有nat表的OUTPUT鏈處理外,其他說有的狀態跟蹤都在nat表中的PREROUTING鏈中處理,下面來說下4種狀態是什么,

1,NEW狀態

NEW狀態的數據包說明這個數據包是收到的第一個數據包,

2,ESTABLISHED狀態,

只要發送并接到應答,一個數據包的狀態就從NEW變為ESTABLEISHED,而且該狀態會繼續匹配這個連接后繼數據包,

3,RELATED狀態

當一個數據包的狀態處于ESTABLSHED狀態的連接有關系的時候,就會被認為是RELATED,也就是說一個鏈接想要是RELATED狀態,首先要有一個ESTABLISHED的連接,

4,INVALID狀態

不能被識別屬于哪個連接狀態或沒有任何關系的狀態,一般這中數據包要被拒絕的

 

四、IPTABLES命令的使用詳解

iptablesRHEL的系統上默認安裝的, IPTABLES的命令選項主要分為這么幾大類,規則管理,鏈管理,默認管理,查看,匹配條件,處理動作,基本應該就這些了吧,下面來一一說名,

1.規則管理類

#iptables -A 添加一條新規則

#iptables -I 插入一條新規則 -I 后面加一數字表示插入到哪行

#iptables -D 刪除一條新規則 -D 后面加一數字表示刪除哪行

#iptables -R 替換一條新規則 -R 后面加一數字表示替換哪行

2.鏈管理類

#iptables -F 清空鏈中的所有規則

#iptables -N 新建一個鏈

#iptables -X 刪除一個自定義鏈,刪除之前要保證次鏈是空的,而且沒有被引用

#iptables -E 重命名鏈

3.默認管理類

#iptables -P 設置默認策略

4.查看類

#iptables -L 查看規則 -L還有幾個子選項如下

#iptables -L -n 以數字的方式顯示

#iptables -L -v 顯示詳細信息

#iptables -L -x 顯示精確信息

#iptables -L --line-numbers 顯示行號

5.條件匹配類

5.1 基本匹配

條件匹配也可以使用 ! 取反

-s 源地址

-d 目標地址

-p 協議{tcp|udp|icmp}

-i 從哪個網絡接口進入,比如 -i eth0

-o 從哪個網絡接口出去,比如 -o eth0

5.2擴展匹配

5.2.1隱含擴展匹配

-p {tcp|udp} --sport 指定源端口

-p {tcp|udp} --dport 指定目標端口

5.2.2顯示擴展匹配

-m state --state 匹配狀態的

-m mutiport --source-port 端口匹配 ,指定一組端口

-m limit --limit 3/minute 每三分種一次

-m limit --limit-burst 5 只匹配5個數據包

-m string --string --algo bm|kmp --string "xxxx" 匹配字符串

-m time --timestart 8:00 --timestop 12:00 表示從哪個時間到哪個時間段

-m time --days 表示那天

-m mac --mac-source xx:xx:xx:xx:xx:xx 匹配源MAC地址

-m layer7 --l7proto qq 表示匹配騰訊qq 當然也支持很多協議,這個默認是沒有的,需要我們給內核打補丁并重新編譯內核及iptables才可以使用 -m layer7 這個顯示擴展匹配,

6,處理動作類

-j ACCEPT 允許

-j REJECT 拒絕

-j DROP 拒絕并提示信息

-j SNAT 源地址轉換

-j DNAT 目標地址轉換

-j REDIRECT 重定向

-j MASQUERAED 地址偽裝

-j LOG --log-prefix "說明信息,自己隨便定義" 記錄日志

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

秦安县| 汨罗市| 广德县| 四川省| 伽师县| 蓬溪县| 边坝县| 上犹县| 科尔| 西林县| 搜索| 分宜县| 乌兰浩特市| 平利县| 绍兴市| 兴宁市| 梅河口市| 浏阳市| 南丹县| 临夏县| 博野县| 嵊泗县| 恩施市| 鲁甸县| 内江市| 新余市| 新昌县| 玉树县| 斗六市| 洛扎县| 濮阳县| 昔阳县| 都兰县| 临颍县| 龙胜| 吴川市| 集贤县| 怀集县| 宝坻区| 罗甸县| 新平|