iptables 學習

工作機制

基礎(chǔ)說明
iptables并不是真正的防火墻亚脆、它只是位于用戶空間的一個命令行工具, netfilter 才是真正的安全框架型酥、iptables只是將我們定義的規(guī)則轉(zhuǎn)交給netfilter. 
netfilter 是Linux操作系統(tǒng)核心層的一個數(shù)據(jù)包處理模塊
規(guī)則鏈名稱

規(guī)則鏈名稱包括以下5個查乒、也被稱為5個鉤子函數(shù):

INPUT鏈: 處理輸入數(shù)據(jù)包

OUTPUT鏈: 處理輸出數(shù)據(jù)包

FORWARD鏈: 處理轉(zhuǎn)發(fā)數(shù)據(jù)

PREROUTING鏈: 用于目的地址轉(zhuǎn)換(DNAT)

POSTROUTING鏈: 用于源地址轉(zhuǎn)換(SNAT)

報文流向
本機到某進程: prerouting -> input
本機轉(zhuǎn)發(fā): prerouting -> forward -> postrouting (直接在內(nèi)核空間轉(zhuǎn)發(fā))
本機進程發(fā)出(通常為響應(yīng)報文): output -> postrouting
即: 當啟用你過來防火墻功能時玛迄、報文需要經(jīng)過不同的關(guān)卡(鏈)蓖议、但根據(jù)情況的不同、會經(jīng)過不同的鏈
為什么稱為鏈
防火墻的作用就在于對經(jīng)過的報文進行規(guī)則匹配纺阔、然后執(zhí)行對應(yīng)的動作修然、但是每個關(guān)卡上可能有很多規(guī)則、這些規(guī)則按照配置順序從上到下執(zhí)行玻靡、看起來就像是一個鏈
這么多的鏈都放了一系列的規(guī)則中贝、但是有些很類似邻寿、比如A類規(guī)則是對ip或者短褲過濾; B類規(guī)則是修改報文... , 那么這些類似功能的規(guī)則能不能放在一起呢 ?
答案是可以的、iptables提供了如下規(guī)則的分類(表):
filter表: 負責過濾功能 , 防火墻; 內(nèi)核模塊 iptable_filter
nat表: 網(wǎng)絡(luò)地址轉(zhuǎn)換; 內(nèi)核模塊: iptable_nat
mangle表: 解析報文瘟则、修改報文枝秤、并重新封裝 內(nèi)核模塊: iptable_mangle
raw表: 關(guān)閉nat表上啟用的連接追蹤機制; 內(nèi)核模塊: iptable_raw

當這些表處于同一條鏈時優(yōu)先級如下:
raw -> mangle -> nat -> filter
防火墻的策略

: 默認不允許淀弹、需要定義誰可以進入

: 默認允許、但需要證明自己的身份

filter功能: 定義允許或者不允許的策略, 工作在 input / output / forward 鏈

nat選項: 定義地址轉(zhuǎn)換功能, 工作在 prerouting / output / postrouting 鏈

為了讓這些功能都工作菌赖、制定了的定義, 來區(qū)分不同的工作功能和處理方式

常用功能

filter 定義允許或者不允許琉用、工作在 input, output, forward 鏈上

nat 定義地址轉(zhuǎn)換, 工作在 prerouting, output, postrouting 鏈上

mangle 修改報文原數(shù)據(jù), 5個鏈都可以工作

注意: 設(shè)置多個規(guī)則鏈時、要把規(guī)則嚴格的放在前邊奴紧、因為它是從上到下檢查的~

規(guī)則動作

accept: 接收數(shù)據(jù)包

drop: 丟棄數(shù)據(jù)包

redirect: 重定向晶丘、映射浅浮、透明代理

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

dnat: 目標地址轉(zhuǎn)換

masquerade: ip偽裝(nat), 用于ADSL

log: 日志記錄

思考:

其實iptables就是幫我們實現(xiàn)了網(wǎng)絡(luò)包選擇、地址轉(zhuǎn)換专执、報文修改這些功能他炊、為了實現(xiàn)這些功能已艰、它劃分了很多鏈、包括 prerouting凿叠、input盒件、forward舱禽、output、postrouting, 定義了規(guī)則動作 accept翔始、drop里伯、redirect、snat脖镀、dnat蜒灰、log、masquerade來實現(xiàn)這些功能.

實例

清空當前所有規(guī)則和計數(shù)
iptables -F # 清空所有防火墻規(guī)則
iptables -X # 刪除用戶自定義的空鏈
iptables -Z # 清空計數(shù)
配置允許ssh端口連接
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT
# 22: ssh端口 -s 192.168.1.0/24 被允許的網(wǎng)段盈匾、 -j accept 接受這種類型的請求
允許本地回環(huán)地址可以正常使用
iptables -A INPUT -i lo -j accept
iptables -A INPUT -o lo -j accept
設(shè)置默認規(guī)則
iptables -P INPUT DROP # 配置默認的不讓進
iptables -P FORWARD DROP # 默認的不允許轉(zhuǎn)發(fā)
iptables -P OUTPUT ACCEPT # 默認的可以出去
配置白名單
iptables -A INPUT -p all -s 192.168.1.0/24 -j ACCEPT  # 允許機房內(nèi)網(wǎng)機器可以訪問
iptables -A INPUT -p all -s 192.168.140.0/24 -j ACCEPT  # 允許機房內(nèi)網(wǎng)機器可以訪問
iptables -A INPUT -p tcp -s 183.121.3.7 --dport 3380 -j ACCEPT 
# 允許183.121.3.7訪問本機的3380端口
開啟相應(yīng)的服務(wù)端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 開啟80端口,因為web對外都是這個端口
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT # 允許被ping
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # 已經(jīng)建立的連接得讓它進來
保存規(guī)則到配置文件
cp /etc/sysconfig/iptables /etc/sysconfig/iptables.bak # 任何改動之前先備份未巫,請保持這一優(yōu)秀的習慣
iptables-save > /etc/sysconfig/iptables
cat /etc/sysconfig/iptables
列出已設(shè)置規(guī)則
iptables -L [-t 表名] [鏈名]

iptables -L -t nat                  # 列出 nat 上面的所有規(guī)則
#            ^ -t 參數(shù)指定叙凡,必須是 raw密末, nat握爷,filter,mangle 中的一個
iptables -L -t nat  --line-numbers  # 規(guī)則帶編號
iptables -L INPUT

iptables -L -nv  # 查看严里,這個列表看起來更詳細
端口映射
iptables -t nat -A PREROUTING -d 210.14.67.127 -p tcp --dport 2222  -j DNAT --to-dest 192.168.188.115:22
# 將本機的 2222端口 映射到虛擬機的 22端口
防止SYN洪水攻擊
iptables -A INPUT -p tcp --syn -m limit --limit 5/second -j ACCEPT

寫在最后

iptables --help 可以看到更多的選項新啼、可以看到每一個選項的解釋、本文列出了一些簡單使用刹碾、歡迎指正燥撞、交流~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市迷帜,隨后出現(xiàn)的幾起案子物舒,更是在濱河造成了極大的恐慌,老刑警劉巖戏锹,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異锦针,居然都是意外死亡荠察,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進店門奈搜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來割粮,“玉大人,你說我怎么就攤上這事媚污∫ㄆ埃” “怎么了?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵耗美,是天一觀的道長京髓。 經(jīng)常有香客問我航缀,道長,這世上最難降的妖魔是什么堰怨? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任芥玉,我火速辦了婚禮,結(jié)果婚禮上备图,老公的妹妹穿的比我還像新娘灿巧。我一直安慰自己,他們只是感情好揽涮,可當我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布抠藕。 她就那樣靜靜地躺著,像睡著了一般蒋困。 火紅的嫁衣襯著肌膚如雪盾似。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天雪标,我揣著相機與錄音零院,去河邊找鬼。 笑死村刨,一個胖子當著我的面吹牛告抄,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播嵌牺,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼玄妈,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了髓梅?” 一聲冷哼從身側(cè)響起拟蜻,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎枯饿,沒想到半個月后酝锅,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡奢方,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年搔扁,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蟋字。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡稿蹲,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出鹊奖,到底是詐尸還是另有隱情苛聘,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站设哗,受9級特大地震影響唱捣,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜网梢,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一震缭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧战虏,春花似錦拣宰、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至啸盏,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間骑祟,已是汗流浹背回懦。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留次企,地道東北人怯晕。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像缸棵,于是被迫代替她去往敵國和親舟茶。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,527評論 2 349

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

  • iptables是Linux系統(tǒng)提供的一個強大的防火墻工具堵第,可以實現(xiàn)包過濾吧凉、包重定向、NAT轉(zhuǎn)換等功能踏志。iptab...
    Mr蘿卜閱讀 2,713評論 0 6
  • 參考 第九章阀捅、防火墻與 NAT 服務(wù)器 不同Linux內(nèi)核,有不同的報文過濾軟件 Linux Kernal 2.0...
    書上得來終覺淺閱讀 437評論 0 0
  • Linux 網(wǎng)絡(luò)數(shù)據(jù)包處理流程 iptables 用法 注意事項iptables 設(shè)置是有順序的针余,如果數(shù)據(jù)包滿足前...
    ALvin_l閱讀 3,457評論 0 6
  • 簡介 ??當主機收到一個數(shù)據(jù)包后饲鄙,數(shù)據(jù)包先在內(nèi)核空間中處理,若發(fā)現(xiàn)目的地址是自身圆雁,則傳到用戶空間中交給對應(yīng)的應(yīng)用程...
    看點書閱讀 376評論 0 0
  • 每次修改iptables為子設(shè)備做轉(zhuǎn)發(fā)上網(wǎng)都要瞎搜索很久忍级,iptables太踏馬的復雜了,這次搜索完我一定要寫點東...
    楊楓mind閱讀 129評論 0 0