iptables學(xué)習(xí)筆記

Iptable Study

最近經(jīng)常碰到iptables的問題。現(xiàn)在找個時間專門研究一下冗茸。

iptables是什么

iptables是Linux內(nèi)核默認(rèn)的防火墻。防火墻糕珊,其實(shí)說白了講歹颓,就是用于實(shí)現(xiàn)Linux下訪問控制的功能的怜浅,它分為硬件的或者軟件的防火墻兩種袁波。無論是在哪個網(wǎng)絡(luò)中人断,防火墻工作的地方一定是在網(wǎng)絡(luò)的邊緣耻蛇。而我們的任務(wù)就是需要去定義到底防火墻如何工作踪蹬,這就是防火墻的策略胞此,規(guī)則,以達(dá)到讓它對出入網(wǎng)絡(luò)的IP跃捣、數(shù)據(jù)進(jìn)行檢測漱牵。

對于TCP/IP的七層模型來講,我們知道第三層是網(wǎng)絡(luò)層疚漆,三層的防火墻會在這層對源地址和目標(biāo)地址進(jìn)行檢測酣胀。

iptables的前身叫ipfirewall (內(nèi)核1.x時代),這是一個作者從freeBSD上移植過來的,能夠工作在內(nèi)核當(dāng)中的娶聘,對數(shù)據(jù)包進(jìn)行檢測的一款簡易訪問控制工具闻镶。但是ipfirewall工作功能極其有限。當(dāng)內(nèi)核發(fā)展到2.x系列的時候丸升,軟件更名為ipchains铆农,它可以定義多條規(guī)則,將他們串起來狡耻,共同發(fā)揮作用顿涣,而現(xiàn)在,它叫做iptables酝豪,可以將規(guī)則組成一個列表,實(shí)現(xiàn)絕對詳細(xì)的訪問控制功能精堕。

iptables在內(nèi)核空間中的五個位置發(fā)生作用:

1.內(nèi)核空間中:從一個網(wǎng)絡(luò)接口進(jìn)來孵淘,到另一個網(wǎng)絡(luò)接口去的
2.數(shù)據(jù)包從內(nèi)核流入用戶空間的
3.數(shù)據(jù)包從用戶空間流出的
4.進(jìn)入/離開本機(jī)的外網(wǎng)接口
5.進(jìn)入/離開本機(jī)的內(nèi)網(wǎng)接口

這五個位置也被稱為五個鉤子函數(shù)(hook functions),也叫五個規(guī)則鏈。
1.PREROUTING (路由前)
2.INPUT (數(shù)據(jù)包流入口)
3.FORWARD (轉(zhuǎn)發(fā)管卡)
4.OUTPUT(數(shù)據(jù)包出口)
5.POSTROUTING(路由后)

防火墻策略

防火墻策略一般分為兩種歹篓,一種叫“通”策略瘫证,一種叫“堵”策略,通策略庄撮,默認(rèn)門是關(guān)著的背捌,必須要定義誰能進(jìn)。堵策略則是洞斯,大門是洞開的毡庆,但是你必須有身份認(rèn)證,否則不能進(jìn)烙如。所以我們要定義么抗,讓進(jìn)來的進(jìn)來,讓出去的出去亚铁,所以通蝇刀,是要全通,而堵徘溢,則是要選擇吞琐。

當(dāng)我們定義的策略的時候捆探,要分別定義多條功能,其中:定義數(shù)據(jù)包中允許或者不允許的策略站粟,filter過濾的功能黍图,而定義地址轉(zhuǎn)換的功能的則是nat選項(xiàng)。為了讓這些功能交替工作卒蘸,我們制定出了“表”這個定義雌隅,來定義、區(qū)分各種不同的工作功能和處理方式缸沃。

我們現(xiàn)在用的比較多個功能有3個:
1.filter:定義允許或者不允許的
2.nat:定義地址轉(zhuǎn)換
3.mangle:修改報(bào)文原數(shù)據(jù)

對于filter來講一般只能做在3個鏈上:INPUT 恰起,F(xiàn)ORWARD ,OUTPUT
對于nat來講一般也只能做在3個鏈上:PREROUTING 趾牧,OUTPUT 检盼,POSTROUTING
mangle是5個鏈都可以做:PREROUTING,INPUT翘单,F(xiàn)ORWARD吨枉,OUTPUT,POSTROUTING

規(guī)則的次序非常關(guān)鍵哄芜,誰的規(guī)則越嚴(yán)格貌亭,應(yīng)該放的越靠前,而檢查規(guī)則的時候认臊,是按照從上往下的方式進(jìn)行檢查的圃庭。

iptables定義規(guī)則的方式比較復(fù)雜:

格式:iptables [-t table] COMMAND chain CRETIRIA -j ACTION

-t table :filter nat mangle
COMMAND:定義如何對規(guī)則進(jìn)行管理
chain:指定你接下來的規(guī)則到底是在哪個鏈上操作的
CRETIRIA:指定匹配標(biāo)準(zhǔn)
-j ACTION :指定如何進(jìn)行處理

比如說,我定義一條規(guī)則:不允許172.16.0.0/24的進(jìn)行訪問失晴。

iptables -t filter -A INPUT -s 172.16.0.0/16 -p udp --dport 53 -j DROP

如果想拒絕的更徹底:

iptables -t filter -R INPUT 1 -s 172.16.0.0/16 -p udp --dport 53 -j REJECT

查看當(dāng)前已定義的規(guī)則:

iptables -L -n -v

iptables命令詳解

當(dāng)然可以通過man iptables來查看詳細(xì)的解釋剧腻。常用的命令選項(xiàng)有:

-P:設(shè)置默認(rèn)策略的(設(shè)定默認(rèn)門是關(guān)著的還是開著的)如:iptables -P INPUT (DROP|ACCEPT)
-F: FLASH,清空規(guī)則鏈的(注意每個鏈的管理權(quán)限)
-N:NEW 支持用戶新建一個鏈,比如:iptables -N inbound_tcp_web 表示附在tcp表上用于檢查web的涂屁。
-X:用于刪除用戶自定義的空鏈
-Z:清空鏈
-A:追加
-I num : 插入书在,把當(dāng)前規(guī)則插入為第幾條
-R num:Replays替換/修改第幾條規(guī)則
-D num:刪除,明確指定刪除第幾條規(guī)則
-L:查看規(guī)則詳細(xì)信息拆又,比如"iptables -L -n -v"

iptables實(shí)例

禁止客戶機(jī)訪問不健康網(wǎng)站
【例1】添加iptables規(guī)則禁止用戶訪問域名為www.sexy.com的網(wǎng)站儒旬。

iptables -I FORWARD -d www.sexy.com -j DROP

【例2】添加iptables規(guī)則禁止用戶訪問IP地址為20.20.20.20的網(wǎng)站。

iptables -I FORWARD -d 20.20.20.20 -j DROP

禁止某些客戶機(jī)上網(wǎng)
【例1】添加iptables規(guī)則禁止IP地址為192.168.1.X的客戶機(jī)上網(wǎng)帖族。

iptables -I FORWARD -s 192.168.1.X -j DROP

【例2】添加iptables規(guī)則禁止192.168.1.0子網(wǎng)里所有的客戶機(jī)上網(wǎng)义矛。

iptables -I FORWARD -s 192.168.1.0/24 -j DROP

禁止客戶機(jī)訪問某些服務(wù)
【例1】禁止192.168.1.0子網(wǎng)里所有的客戶機(jī)使用FTP協(xié)議下載。

iptables -I FORWARD -s 192.168.1.0/24 -p tcp –dport 21 -j DROP

【例2】禁止192.168.1.0子網(wǎng)里所有的客戶機(jī)使用Telnet協(xié)議連接遠(yuǎn)程計(jì)算機(jī)盟萨。

iptables -I FORWARD -s 192.168.1.0/24 -p tcp –dport 23 -j DROP

強(qiáng)制訪問指定的站點(diǎn)
【例】強(qiáng)制所有的客戶機(jī)訪問192.168.1.x這臺Web服務(wù)器凉翻。

iptables -t nat -I PREROUTING -i eth0 -p tcp –dport 80 -j DNAT –to-destination 192.168.1.x:80

禁止使用ICMP協(xié)議
【例】禁止Internet上的計(jì)算機(jī)通過ICMP協(xié)議ping到NAT服務(wù)器的ppp0接口,但允許內(nèi)網(wǎng)的客戶機(jī)通過ICMP協(xié)議ping的計(jì)算機(jī)捻激。

iptables -I INPUT -i ppp0 -p icmp -j DROP

發(fā)布內(nèi)部網(wǎng)絡(luò)服務(wù)器
【例1】發(fā)布內(nèi)網(wǎng)10.0.0.3主機(jī)的Web服務(wù)制轰,Internet用戶通過訪問防火墻的IP地址即可訪問該主機(jī)的Web服務(wù)前计。

iptables -t nat -I PREROUTING -p tcp –dport 80 -j DNAT –to-destination 10.0.0.3:80

【例2】發(fā)布內(nèi)網(wǎng)10.0.0.3主機(jī)的終端服務(wù)(使用的是TCP協(xié)議的3389端口),Internet用戶通過訪問防火墻的IP地址訪問該機(jī)的終端服務(wù)垃杖。

iptables -t nat -I PREROUTING -p tcp –dport 3389 -j DNAT –to-destination 10.0.0.3:3389

參考文獻(xiàn):
http://blog.chinaunix.net/uid-26495963-id-3279216.html
http://www.linuxso.com/linuxpeixun/10332.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末男杈,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子调俘,更是在濱河造成了極大的恐慌伶棒,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件彩库,死亡現(xiàn)場離奇詭異肤无,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)骇钦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進(jìn)店門宛渐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人眯搭,你說我怎么就攤上這事窥翩。” “怎么了鳞仙?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵寇蚊,是天一觀的道長。 經(jīng)常有香客問我棍好,道長仗岸,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任梳玫,我火速辦了婚禮,結(jié)果婚禮上右犹,老公的妹妹穿的比我還像新娘提澎。我一直安慰自己,他們只是感情好念链,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布盼忌。 她就那樣靜靜地躺著,像睡著了一般掂墓。 火紅的嫁衣襯著肌膚如雪谦纱。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天君编,我揣著相機(jī)與錄音跨嘉,去河邊找鬼。 笑死吃嘿,一個胖子當(dāng)著我的面吹牛祠乃,可吹牛的內(nèi)容都是我干的梦重。 我是一名探鬼主播,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼亮瓷,長吁一口氣:“原來是場噩夢啊……” “哼琴拧!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起嘱支,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤蚓胸,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后除师,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體沛膳,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年馍盟,在試婚紗的時候發(fā)現(xiàn)自己被綠了于置。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,739評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡贞岭,死狀恐怖八毯,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情瞄桨,我是刑警寧澤话速,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站芯侥,受9級特大地震影響泊交,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜柱查,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一廓俭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧唉工,春花似錦研乒、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至谣膳,卻和暖如春竿报,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背继谚。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工烈菌, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓僧界,卻偏偏與公主長得像侨嘀,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子捂襟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,647評論 2 354

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