亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Linux服務器 > 正文

詳解Linux iptables 命令

2024-09-05 23:04:52
字體:
來源:轉載
供稿:網友

iptables 是 Linux 管理員用來設置 IPv4 數據包過濾條件和 NAT 的命令行工具。iptables 工具運行在用戶態,主要是設置各種規則。而 netfilter 則運行在內核態,執行那些設置好的規則。

查看 iptables 的鏈和規則

查看規則的命令格式為:

iptables [-t tables] [-L] [-nv]

-t :后面接 table ,例如 nat 或 filter ,若省略此項目,則使用默認的 filter
-L :列出某個 table 的所有鏈或某個鏈的規則
-n :直接顯示 IP,速度會快很多
-v :列出更多的信息,包括通過該規則的數據包總位數、相關的網絡接口等

列出 filter table INPUT 鏈的規則:

$ sudo iptables -L INPUT

列出 nat table 三條鏈的規則:

$ sudo iptables -t nat -L -n

列出 filter table 三條鏈的規則:

$ sudo iptables -L

Linux,iptables,命令

紅框中的內容為鏈的名稱及其默認策略,filter 表中所有鏈的默認策略都是 ACCEPT。紅框下面的行代表什么呢?

target:代表進行的動作,ACCEPT 是放行,REJECT 是拒絕,DROP 則是丟棄數據包。
port:代表使用的協議,主要有 tcp、udp 和 icmp 三種。
opt:額外的選項說明。
source:規則針對的來源 IP。
destination:規則針對的目標 IP。

因為默認情況下沒有添加自定義的規則,所以上圖中這些行下面都是空的。

清除本機防火墻規則

清除規則的命令格式如下:

iptables [-t tables] [-FXZ]

-F:清除所有已制定的規則
-X:刪除所有使用者自定義的 chain(其是 tables)
-Z:將所有的 chain 的計數與流量統計都清零

如果我們要制訂一套防火墻規則,一般會先清除現有的規則,然后從頭開始創建新的規則。下面讓我們清除本機 filter 表中的所有規則:

$ sudo iptables -F$ sudo iptables -X$ sudo iptables -Z

定義默認策略(policy)

如果一個數據包沒有匹配到一個鏈中的任何一個規則,那么將對該數據包執行這個鏈的默認策略(default policy),默認策略可以是 ACCEPT 或 DROP。
鏈中默認策略的存在使得我們在設計防火墻時可以有兩種選擇:

設置默認策略 DROP 所有的數據包,然后添加規則接受(ACCEPT)來自可信 IP 地址的數據包,或訪問我們的服務監聽的端口的數據包,比如 bittorrent、FTP 服務器、Web 服務器、Samba 文件服務器等等。

設置默認策略 ACCEPT 所有的數據包,然后添加規則丟棄(DROP)特定的數據包。比如來自一些惡意 IP 的數據包,或訪問某些端口的數據包,在這些端口上我們并沒有提供公開的服務。

一般情況下,上面的第一個選項用于 INPUT 鏈,因為我們希望對訪問的資源進行權限控制。而第二個選項常用于 OUTPUT 鏈,因為我們通常信任離開機器的數據包(該數據包來自本機)。

設置默認策略的命令格式如下:

iptables [-t table] -P [INPUT,OUTPUT,FORWARD] [ACCEPT,DROP]

-P 選項用來定義默認策略(Policy)。注意,這是大寫字母 P。ACCEPT 表示接受數據包,DROP 表示丟棄數據包。

一般情況下,我們會把 filter 表的 INPUT 鏈的默認策略制訂的嚴格一些,比如設為 DROP。而 FORWARD 和 OUTPUT 可以寬松些,設為 ACCEPT。比如我們可以通過下面的命令把 filter 表的 INPUT 鏈的默認策略設置為 DROP:

$ sudo iptables -P INPUT DROP

Linux,iptables,命令

添加規則

我們可以通過規則來匹配數據包,具體的匹配條件包括 IP、網段、網絡接口(interface)和傳輸協議(tcp、udp 等)。

添加規則的命令格式如下:

iptables [-AI chain] [-io interface] [-p 協議] [-s 來源 IP] [-d 目標 IP] -j [ACCEPT,DROP,REJECT,LOG]
-A:針對某個規則鏈添加一條規則,新添加的規則排在現有規則的后面。
-I:針對某個規則鏈插入一條規則,可以為新插入的規則指定在鏈中的序號。如果不指定序號,則新的規則會變成第一條規則。
-i:指定數據包進入的那個網絡接口,比如 eth0、lo 等,需要與 INPUT 鏈配合使用。
-o: 指定傳出數據包的那個網絡接口,需要與 OUTPUT 鏈配合使用。
-p: 指定此規則適用于那種網絡協議(常用的協議有 tcp、udp、icmp,all 指適用于所有的協議)。
-s:指定數據包的來源 IP/網段,可以指定單個 IP,如 192.168.1.100,也可以指定一個網段,如 192.168.1.0/24。還可以通過 !表示非的意思,如 ! 192.168.1.0/24 表示除了 192.168.1.0/24 之外的數據包。
-d:指定數據包的目標 IP/網段,其它與 -s 選項相同。
-j:指定匹配成功后的行為,主要有 ACCEPT、DROP、REJECT 和 LOG。

下面我們來看幾個例子。

放開本機接口 lo:

$ sudo iptables -A INPUT -i lo -j ACCEPT

上面的命令假設 lo 接口是可以信任的設備,所有進出該接口的數據包都會被接受。

注意,上面的命令中并沒有設置 -s、-d 等參數,其實沒有指定的參數表示該參數是任何值都可以被接受。

完全放開某個接口

和 lo 接口類似,如果你完全信任某個接口,可以像設置 lo 一樣設置它:

$ sudo iptables -A INPUT -i eth1 -j ACCEPT

只接受來自內網中某個網段的數據包:

$ sudo iptables -A INPUT -i eth2 -s 192.168.10.0/24 -j ACCEPT

接受/丟棄來自指定 IP 的數據包:

$ sudo iptables -A INPUT -i eth3 -s 192.168.100.5 -j ACCEPT$ sudo iptables -A INPUT -i eth3 -s 192.168.100.6 -j DROP

然后看看 filter 表的規則:

$ sudo iptables -L -v

Linux,iptables,命令

iptables-save 命令提供了另外一種風格的輸出:

$ sudo iptables-save

Linux,iptables,命令

在規則中使用端口號

在我們添加的規則中,很多時候需要指定網絡協議(tcp、udp 等)及相關的端口號,其基本命令格式如下:

iptables [-AI chain] [-io interface] [-p tcp,udp] [-s 來源 IP] [--sport 端口范圍] [-d 目標 IP] [--dport 端口范圍] -j [ACCEPT,DROP,REJECT]
--sport:限制來源的端口號,可以是單個端口,也可以是一個范圍,如 1024:1050
--dport:限制目標的端口號。

注意,因為只有 tcp 協議和 udp 協議使用了端口號,所以在使用 --sport 和 --dport 時,一定要指定協議的類型(-p tcp 或 -p udp)。

下面來看幾個例子。

丟棄所有通過 tcp 協議訪問本機 21 端口的數據包:

$ sudo iptables -A INPUT -i eth0 -p tcp --dport 21 -j DROP

丟棄來自 192.168.1.0/24 的 1024:65535 端口的訪問本機 ssh 端口的數據包:

$ sudo iptables -A INPUT -i eth0 -p tcp -s 192.168.1.0/24 --sport 1024:65535 --dport ssh -j DROP

常見的插件模塊

在 linux kernel 2.2 以前使用 ipchains 管理防火墻時,必須針對數據包的進、出方向進行控制。

比如要連接到遠程主機的 22 端口時,必須設置兩條規則:

本機的 1024:65535 端口到遠程的 22 端口必須放行(OUTPUT chain);
遠程主機 22 端口到本機的 1024:65535 端口必須放行(INPUT chain);

這是很麻煩的,比如你要連接 10 臺遠程主機的 22 端口,即便你本機的 OUTPUT 設置為 ACCEPT,
你依然需要添加 10 條 INPUT ACCEPT 規則接受來自這 10 臺遠程主機的 22 端口的數據包(INPUT 的默認策略為 DROP)。

iptables 則解決了這個問題,它會通過一個狀態模塊來分析:這個想要進入的數據包是不是對自己已發送請求的響應?如果判斷是對自己請求的響應,就放行這個數據包。

使用狀態模塊的基本命令格式如下:

iptables -A INPUT [-m state] [--state INVALID,ESTABLISHED,NEW,RELATED]
-m:指定 iptables 的插件模塊,常見的模塊有:
    state:狀態模塊
    mac:處理網卡硬件地址(hardware address)的模塊
--state:指定數據包的狀態,常見的狀態有:
    INVALID:無效的數據包狀態
    ESTABLISHED:已經連接成功的數據包狀態
    NEW:想要新建立連接的數據包狀態
    RELATED:這個最常用,它表示該數據包與我們主機發送出去的數據包有關

下面來看幾個例子。

只要是已建立連接或相關的數據包接受:

$ sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

只要是不合法的數據包就丟棄:

$ sudo iptables -A INPUT -m state --state INVALID -j DROP

保存 iptables 的配置

注意,我們通過 iptables 命令設置的規則都保存在內存中,也就是說系統重啟的話所有的配置都會丟失。

我們可以通過 iptables-save 命令把 iptables 的配置保存到文件中:

$ sudo touch /etc/iptables.conf$ sudo chmod 666 /etc/iptables.conf$ sudo iptables-save > /etc/iptables.conf

在需要時再通過 iptables-restore 命令把文件中的配置信息導入:

$ sudo iptables-restore < /etc/iptables.conf

總結

iptables 是一個比較復雜的命令,本文只是介紹了一些最基本的用法。接下來我們會介紹如何通過 iptables 構建基本的防火墻配置以及 NAT 服務器。

參考:

netfilter/iptables doc

iptables man page

Ubuntu IptablesHowTo

Iptables Tutorial

總結

以上所述是小編給大家介紹的Linux iptables 命令,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美尤物巨大精品爽| 国产精品视频久| 中文字幕久久久av一区| 日韩亚洲第一页| 日韩专区在线播放| 亚洲欧美国产高清va在线播| 一区二区在线视频| 国产精品综合网站| 亚洲激情免费观看| 81精品国产乱码久久久久久| 国产不卡av在线免费观看| 91九色国产在线| 2019中文字幕全在线观看| 欧美成人激情在线| 成人av在线亚洲| 欧美丰满少妇xxxxx| 欧美三级欧美成人高清www| 亚洲国产精品免费| 国产日韩欧美日韩大片| 最近2019中文字幕第三页视频| www.久久久久| 国产精品久久久久久影视| 欧美视频裸体精品| 亚洲欧美国产日韩天堂区| 日韩成人av网址| 久久久久久久久久国产精品| 欧美野外猛男的大粗鳮| 神马久久久久久| 最近2019中文字幕大全第二页| 91久久精品国产91性色| 久久精品久久久久电影| 深夜福利国产精品| 久久成人亚洲精品| 久久不射热爱视频精品| 欧美黄网免费在线观看| 91精品视频在线看| 日韩免费电影在线观看| 91av在线网站| 亚洲日韩第一页| 国产成人亚洲综合91精品| 亚洲精品97久久| 日韩av电影手机在线| 久久久久久久久久久国产| 91av在线不卡| 欧美贵妇videos办公室| 亚洲国产精品va在看黑人| 国产精品电影网站| 久久成人综合视频| 91精品国产综合久久男男| 亚洲人成网在线播放| 日韩av影院在线观看| 超碰精品一区二区三区乱码| 欧美色视频日本高清在线观看| 亚洲欧美色婷婷| 日韩高清有码在线| 亚洲国产精品网站| 欧美精品videosex极品1| 国产女人18毛片水18精品| 亚洲大尺度美女在线| 精品成人av一区| 日韩视频免费看| 国产精品第一页在线| 亚洲成人精品久久| 欧美高跟鞋交xxxxhd| 国产一区二区三区网站| 久久久亚洲天堂| 欧美激情网友自拍| 26uuu日韩精品一区二区| 日韩在线观看免费高清完整版| 在线观看日韩欧美| 97av在线播放| 97国产精品人人爽人人做| 国产亚洲欧洲高清| 97在线精品视频| 久久久久久国产精品三级玉女聊斋| 欧美日韩国产va另类| 日韩欧美a级成人黄色| 日韩国产精品视频| 久久精品国产一区二区电影| 韩国国内大量揄拍精品视频| 精品丝袜一区二区三区| 日韩欧美国产高清91| 亚洲欧美日韩中文在线制服| 在线a欧美视频| 国产精品吊钟奶在线| 成人黄色av播放免费| 中文字幕av一区二区| 国产精品对白刺激| 亚洲欧美成人网| 日韩精品免费观看| 成人欧美在线观看| 日韩美女激情视频| 国模极品一区二区三区| 日韩av免费看网站| 欧美成人免费大片| 亚洲va码欧洲m码| 国产精品一香蕉国产线看观看| 在线观看欧美视频| 欧美乱妇高清无乱码| 国产精品影院在线观看| 亚洲国产精品电影在线观看| 中文字幕在线看视频国产欧美在线看完整| 日韩欧美成人免费视频| 欧美中文字幕视频在线观看| 久久久国产在线视频| 欧美专区日韩视频| 日本精品久久中文字幕佐佐木| 日韩色av导航| 91视频国产一区| 狠狠色香婷婷久久亚洲精品| 国产视频精品在线| 中文字幕日韩欧美在线视频| 国产成人涩涩涩视频在线观看| 久久成人一区二区| 亚洲国内精品在线| 中文字幕一精品亚洲无线一区| 久久综合免费视频| 狠狠色狠狠色综合日日五| 亚洲一二在线观看| 热久久免费视频精品| 91啪国产在线| 欧美激情国产日韩精品一区18| 国产999视频| 中文字幕视频在线免费欧美日韩综合在线看| 懂色av影视一区二区三区| 在线亚洲国产精品网| 欧美性理论片在线观看片免费| 亚洲欧美日韩国产精品| 久久琪琪电影院| 色综合老司机第九色激情| 精品久久久一区| 国内自拍欧美激情| 日韩欧美aⅴ综合网站发布| 91视频88av| 91理论片午午论夜理片久久| 欧美性受xxxx黑人猛交| 国内精品伊人久久| 91禁外国网站| 国产又爽又黄的激情精品视频| 日韩视频在线一区| 亚洲精品视频网上网址在线观看| 亚洲成人性视频| 亚洲最大福利视频网站| 亚洲国产精品人久久电影| 国产精品视频在线播放| 久久国产精品偷| 日日骚久久av| 日韩欧美一区二区三区| 亚洲天堂av在线播放| 最新亚洲国产精品| 成人免费大片黄在线播放| 美女久久久久久久| 日本精品久久久久久久| 久久精视频免费在线久久完整在线看| 国产精品视频久| 国产精品麻豆va在线播放| 丰满岳妇乱一区二区三区| 欧美主播福利视频| 亚洲高清一区二| 97高清免费视频| 国产精品久久久久久久久久久不卡| 97精品视频在线| 亚洲福利在线视频| 亚洲福利精品在线|