防火墻 之 iptables語法介紹

1? 概述

設(shè)置防火墻策略有以下兩條原則:

A 任何不允許的訪問欢唾,應(yīng)該在請(qǐng)求到達(dá)時(shí)給予拒絕

B 規(guī)則在鏈接上的次序即為其檢查時(shí)的生效次序

.基于上述的原則镀琉,用以下7條規(guī)則進(jìn)行優(yōu)化

.1)安全放行所有入站和出站的狀態(tài)為ESTABLISHED狀態(tài)連接,如果狀態(tài)已經(jīng)是ESTABLISHED另萤,說明已經(jīng)建立連接了,這種規(guī)則建議放在靠前的規(guī)則,這樣速度回比較快不铆。

.2)謹(jǐn)慎放行入站的新請(qǐng)求

.3)有特殊目的限制訪問功能,要在放行規(guī)則之前加以拒絕裹唆。

.4)同類規(guī)則(訪問同一應(yīng)用)誓斥,匹配范圍小的放在前面,用于特殊處理

.5)不同類的規(guī)則(訪問不同應(yīng)用)品腹,匹配范圍大的放在前面

.6)應(yīng)該將那些可由一條規(guī)則能夠描述的多個(gè)規(guī)則合并為一條

.7)設(shè)置默認(rèn)策略岖食,建議白名單(只放行特定連接,DROP)舞吭,黑名單是放行ACCEPT

7.1)iptables-P泡垃,不建議

7.2)建議在規(guī)則的最后定義規(guī)則做為默認(rèn)策略

本文主要對(duì)iptables命令的語句的語法進(jìn)行簡(jiǎn)要介紹

2? 語法格式

.規(guī)則格式:iptables? [-t table] SUBCOMMAND chain [-m matchname? [per-match-options]] ?-j ?targetname[per-target-options]

其中,-t? 指定表table:raw,mangle, nat, filter羡鸥,默認(rèn)是filter蔑穴。-j是jump的意思

通過man 8 iptables查看iptables的man幫助文檔

iptables的命令主要有以下的格式

.iptables [-t table] {-A|-C|-D}chain rule-specification

#這里如果不指定表名,就是用默認(rèn)的filter

.iptables [-t table] -I chain[rulenum] rule-specification

.iptables [-t table] -R chainrulenum rule-specification

.iptables [-t table] -D chainrulenum

.iptables [-t table] -S [chain[rulenum]]

.iptables [-t table] {-F|-L|-Z}[chain [rulenum]] [options...]

.iptables [-t table] -N chain

.iptables [-t table] -X [chain]

.iptables [-t table] -P chain target

.iptables [-t table] -Eold-chain-name new-chain-name

.rule-specification = [matches...][target]

.match = -m matchname[per-match-options]

.target = -j targetname[per-target-options]

3? iptables 命令格式介紹

3.1 SUBCOMMAND

subcommand分為三個(gè)部分:1鏈管理惧浴,2查看存和,3規(guī)則管理

3.1.1、鏈管理:

-N:new,自定義一條新的規(guī)則鏈衷旅,自定義鏈捐腿,這里動(dòng)作如果是自定義鏈的話,表示和其他的鏈進(jìn)行關(guān)聯(lián)柿顶,達(dá)到靈活的控制

例子:

#定義一條新的鏈茄袖,名字為diy_chain

iptables -N diy_chain

#定義規(guī)則用于這條鏈上

iptables -A diy_chain -ptcp --tcp-flag ALL ALL -j REJECT

#將自定義的鏈和系統(tǒng)的默認(rèn)的鏈做關(guān)聯(lián),這里可以把自定義的鏈當(dāng)做是一個(gè)變量嘁锯,這個(gè)變量里定義了一組規(guī)則宪祥。通過-j選項(xiàng)來關(guān)聯(lián)聂薪。所以可以把常用的防火墻規(guī)則自定義為鏈。如果要使用蝗羊,只需要調(diào)用該自定義鏈即可藏澳,使用時(shí)把自定義和現(xiàn)有系統(tǒng)默認(rèn)的的鏈做關(guān)聯(lián),

iptables -A INPUT -jdiy_chain

或者,表示來說192.168.32.75的ip的包都關(guān)聯(lián)到INPUT鏈耀找,調(diào)用diy_chain這條自定義的鏈

iptables -A INPUT -s192.168.32.75? -j diy_chain

-X:delete翔悠,刪除自定義的空的規(guī)則鏈,要先清空規(guī)則后才能刪除涯呻,如果有調(diào)用關(guān)系凉驻,也要把調(diào)用的關(guān)系清掉,然后才能用-X刪除自定義的鏈

例子

先清空自定義鏈上的規(guī)則

iptables -F diy_chain

然后清空調(diào)用的系統(tǒng)鏈的綁定复罐,

iptables -D INPUT -jdiy_chain

最后才能刪除自定義鏈

iptables -X diy_chain

-P:Policy涝登,設(shè)置默認(rèn)策略;對(duì)filter表中的鏈而言效诅,其默認(rèn)策略有:

ACCEPT:接受

DROP:丟棄

這個(gè)不修改這個(gè)策略胀滚。這個(gè)策略用iptables-F清空不了。需要用該命令用iptables -A INPUTACCEPT來修改策略乱投。

例子

iptables -A INPUT DROP

-E:重命名自定義鏈咽笼;引用計(jì)數(shù)不為0的自定義鏈不能夠被重命名,也不能被刪除

3.1.2戚炫、查看:

-L:list,列出指定鏈上的所有規(guī)則剑刑,本選項(xiàng)須置后,如果有dns双肤,則會(huì)把ip解析成url施掏。加-n就不會(huì)解析

-n:numberic,以數(shù)字格式顯示地址和端口號(hào)

-v:verbose茅糜,詳細(xì)信息

-vv更詳細(xì)

-x:exactly七芭,顯示計(jì)數(shù)器結(jié)果的精確值,而非單位轉(zhuǎn)換后的易讀值

--line-numbers:顯示規(guī)則的序號(hào),默認(rèn)編號(hào)不顯示蔑赘,需要自己加狸驳,順序?qū)Ψ阑饓碚f很關(guān)鍵

常用組合:

--vnL

--vvnxL? --line-numbers

-S selected,以iptables-save命令格式顯示鏈上規(guī)則

注意系統(tǒng)默認(rèn)的防火墻規(guī)則是放在文件/etc/sysconfig/iptables里,寫入這個(gè)文件的防火墻策略是可以被保存的缩赛,當(dāng)啟動(dòng)防火墻服務(wù)的時(shí)候耙箍,默認(rèn)就會(huì)添加這些防火墻策略

3.1.3、規(guī)則管理:

-A:append酥馍,追加

-I:insert,插入辩昆,要指明插入至的規(guī)則編號(hào),默認(rèn)為第一條物喷,注意卤材,這里-I如果要指定數(shù)字,不能比當(dāng)前防火墻規(guī)則最大的數(shù)字還大峦失,但是可以等于最大的編號(hào)扇丛,因?yàn)檫@個(gè)-I選項(xiàng)默認(rèn)是插入中間的規(guī)則,往前插入尉辑。

-D:delete帆精,刪除

(1)指明規(guī)則序號(hào)

如iptables -D INPUT 3

刪掉第三條規(guī)則

(2)指明規(guī)則本身

iptables -D INPUT -s1.1.1.7 -j ACCEPT

-R:replace,替換指定鏈上的指定規(guī)則編號(hào)

#替換掉變化為3的策略

iptables -R INPUT 3 -s1.1.1.8 -j ACCEPT

-F:flush隧魄,清空指定的規(guī)則鏈

#清空FORWARD鏈的策略卓练,如果不指定。默認(rèn)是清空INPUT鏈

iptables -F FORWARD

-Z:zero购啄,置零

iptables的每條規(guī)則都有兩個(gè)計(jì)數(shù)器襟企,-Z會(huì)將這兩個(gè)計(jì)數(shù)器都清零

(1)匹配到的報(bào)文的個(gè)數(shù)

(2)匹配到的所有報(bào)文的大小之和

.chain:PREROUTING,INPUT狮含,F(xiàn)ORWARD顽悼,OUTPUT,POSTROUTING

3.2匹配條件

基本:通用的几迄,PARAMETERS蔚龙,無需加載模塊,由iptables/netfilter自行提供

擴(kuò)展:需要加載擴(kuò)展模塊(/usr/lib64/xtables/*.so)映胁,方可生效木羹。其中擴(kuò)展分為顯示擴(kuò)展隱式擴(kuò)展

關(guān)于匹配條件,參見博客http://www.reibang.com/p/6fe53c3416b3

3.3處理動(dòng)作Target

.-j ?targetname?[per-target-options]

簡(jiǎn)單:

ACCEPT解孙,DROP

擴(kuò)展:

REJECT:--reject-with:icmp-port-unreachable默認(rèn)

RETURN:返回調(diào)用鏈

REDIRECT:端口重定向

LOG:記錄日志坑填,dmesg,非中斷target,本身不拒絕和允許,放在拒絕和允許規(guī)則前并將日志記錄在/var/log/messages系統(tǒng)日志中

--log-level level級(jí)別:emerg, alert, crit,error, warning, notice, info or debug

--log-prefix prefix日志前綴妆距,用于區(qū)別不同的日志穷遂,最多29個(gè)字符

.示例:

表示將172.18.50.73發(fā)過來的主機(jī),訪問端口80,21,22,23端口記錄日志娱据,同時(shí)給日志報(bào)頭加上"cent7c tocent6E:這些關(guān)鍵字

iptables -A INPUT -s172.18.50.73 -p tcp -m multiport --dports 80,21,22,23 -m state --state NEW -jLOG --log-prefix "cent7c to cent6E:"

MARK:做防火墻標(biāo)記

DNAT:目標(biāo)地址轉(zhuǎn)換

SNAT:源地址轉(zhuǎn)換

MASQUERADE:地址偽裝

...

自定義鏈

4? 防火墻規(guī)則啟用和保存

4.1 規(guī)則有效期限:

使用iptables命令定義的規(guī)則蚪黑,手動(dòng)刪除之前,其生效期限為kernel存活期限

4.2? 保存防火墻規(guī)則:

保存規(guī)則至指定的文件

CentOS 6

serviceiptablessave

將規(guī)則覆蓋保存至/etc/sysconfig/iptables文件中

CentOS 7可用下面方法保存規(guī)則

iptables-S > /PATH/TO/SOME_RULES_FILE

iptables-save >/PATH/TO/SOME_RULES_FILE

-S這個(gè)選項(xiàng)不會(huì)保存策略中剩,只是把防火墻策略中的列表顯示出來忌穿,要保存,需要重定向

加載默認(rèn)規(guī)則

.CentOS 6:

service iptablesrestart

會(huì)自動(dòng)從/etc/sysconfig/iptables重新載入規(guī)則

.CentOS 7重新載入預(yù)存規(guī)則文件中規(guī)則:

iptables-restore

例子:iptables-restore< /root/iptables.rule1

-n, --noflush:不清除原有規(guī)則

-t, --test:僅分析生成規(guī)則集结啼,但不提交

4.3? 開機(jī)啟動(dòng)

CentOS 6

設(shè)置開機(jī)啟動(dòng)項(xiàng)

chkconfig iptables on

. CentOS 7

開機(jī)自動(dòng)重載規(guī)則文件中的規(guī)則:

.(1)用腳本保存各iptables命令掠剑;讓此腳本開機(jī)后自動(dòng)運(yùn)行

/etc/rc.d/rc.local文件中添加腳本路徑

/PATH/TO/SOME_SCRIPT_FILE

.(2)用規(guī)則文件保存各規(guī)則,開機(jī)時(shí)自動(dòng)載入此規(guī)則文件中的規(guī)則

/etc/rc.d/rc.local文件添加

iptables-restore

.(3)自定義Unit? File郊愧,進(jìn)行iptables-restore

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末朴译,一起剝皮案震驚了整個(gè)濱河市井佑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌眠寿,老刑警劉巖躬翁,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異盯拱,居然都是意外死亡盒发,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門狡逢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來宁舰,“玉大人,你說我怎么就攤上這事奢浑÷瑁” “怎么了?”我有些...
    開封第一講書人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵雀彼,是天一觀的道長(zhǎng)印荔。 經(jīng)常有香客問我,道長(zhǎng)详羡,這世上最難降的妖魔是什么仍律? 我笑而不...
    開封第一講書人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮实柠,結(jié)果婚禮上水泉,老公的妹妹穿的比我還像新娘。我一直安慰自己窒盐,他們只是感情好草则,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蟹漓,像睡著了一般炕横。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上葡粒,一...
    開封第一講書人閱讀 49,031評(píng)論 1 285
  • 那天份殿,我揣著相機(jī)與錄音,去河邊找鬼嗽交。 笑死卿嘲,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的夫壁。 我是一名探鬼主播拾枣,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了梅肤?” 一聲冷哼從身側(cè)響起司蔬,我...
    開封第一講書人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎姨蝴,沒想到半個(gè)月后葱她,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡似扔,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了搓谆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片炒辉。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖泉手,靈堂內(nèi)的尸體忽然破棺而出黔寇,到底是詐尸還是另有隱情,我是刑警寧澤斩萌,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布缝裤,位于F島的核電站,受9級(jí)特大地震影響颊郎,放射性物質(zhì)發(fā)生泄漏憋飞。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一姆吭、第九天 我趴在偏房一處隱蔽的房頂上張望榛做。 院中可真熱鬧,春花似錦内狸、人聲如沸检眯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽锰瘸。三九已至,卻和暖如春昂灵,著一層夾襖步出監(jiān)牢的瞬間避凝,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工眨补, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留恕曲,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓渤涌,卻偏偏與公主長(zhǎng)得像佩谣,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子实蓬,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 1.安全技術(shù) (1)入侵檢測(cè)與管理系統(tǒng)(Intrusion Detection Systems): 特點(diǎn)是不阻斷任...
    尛尛大尹閱讀 2,459評(píng)論 0 2
  • 防火墻的概念iptables的簡(jiǎn)介iptables命令網(wǎng)絡(luò)防火墻NATfirewalld服務(wù) 一茸俭、防火墻的概念 (...
    哈嘍別樣閱讀 1,813評(píng)論 0 1
  • 一.防火墻概念 (一)安全技術(shù)介紹 (1) 入侵檢測(cè)與管理系統(tǒng)(Intrusion Detection Syste...
    楠人幫閱讀 1,477評(píng)論 0 3
  • iptables俗稱防火墻吊履,或許我們已經(jīng)不在陌生,但是作為openstack基礎(chǔ)调鬓,這里還是對(duì)其做一些補(bǔ)充艇炎,了解更多...
    ximitc閱讀 1,790評(píng)論 0 8
  • 這兩天寫了一兩個(gè)爬蟲程序,也逐漸熟悉了爬蟲的基本知識(shí)腾窝∽鹤伲可以很方面地寫一兩個(gè)小程序,為自己服務(wù)O(∩_∩)O虹脯。比如驴娃,...
    SCQ000閱讀 836評(píng)論 0 51