iptables與netfilter基礎(chǔ)與示例

    該怎么描述防火墻的實(shí)現(xiàn)呢?既然說不明白那就不說了,自己領(lǐng)悟吧!

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),安溪企業(yè)網(wǎng)站建設(shè),安溪品牌網(wǎng)站建設(shè),網(wǎng)站定制,安溪網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,安溪網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

一、防火墻是什么?

    通過一些規(guī)則在網(wǎng)絡(luò)數(shù)據(jù)報文必經(jīng)的幾個鉤子上做端口的限制,實(shí)現(xiàn)數(shù)據(jù)過濾的功能。

二、數(shù)據(jù)報文傳輸?shù)穆窂绞窃鯓拥模?/p>

   1、 客戶端發(fā)出數(shù)據(jù)報文---->到達(dá)服務(wù)器的網(wǎng)絡(luò)接口-----(判斷目標(biāo)是服務(wù)器自己)將報文送入內(nèi)核處理---->將處理好的數(shù)據(jù)報文轉(zhuǎn)發(fā)出去---->通過網(wǎng)絡(luò)接口發(fā)還給客戶端

   2、客戶端發(fā)出數(shù)據(jù)報文---->到達(dá)服務(wù)器的網(wǎng)絡(luò)接口-----(判斷目標(biāo)不是服務(wù)器)將數(shù)據(jù)轉(zhuǎn)發(fā)出去---->通過網(wǎng)絡(luò)接口送去目標(biāo)地址

iptables與netfilter基礎(chǔ)與示例

三、哪些地方是數(shù)據(jù)流必經(jīng)的點(diǎn)?

    1.報文進(jìn)入網(wǎng)卡,但是還沒有經(jīng)過路由,這個點(diǎn)叫做prerouting

    2.報文經(jīng)過路由后送入內(nèi)核之前,這個點(diǎn)叫做input

    3.路由功能節(jié)點(diǎn),這個點(diǎn)叫forward

    4.報文由內(nèi)核處理完畢,發(fā)送給路由之前,這個點(diǎn)叫output

    5.報文經(jīng)過路由后,就要經(jīng)過網(wǎng)卡發(fā)送出去,這個點(diǎn)叫postrouting

    這些點(diǎn)在專業(yè)術(shù)語中稱為hooks funcation即鉤子函數(shù),因?yàn)樗械臄?shù)據(jù)流必經(jīng)這五個點(diǎn),所以我們的防火墻規(guī)則寫在這5個點(diǎn)上就可以了。

iptables與netfilter基礎(chǔ)與示例

四、有哪些規(guī)則可以防火?

    這就要談一下防火墻的歷史了,最開始linux是沒有防火墻設(shè)計的,基于安全的考慮OpenBSD最先將防火墻的概念在其unix內(nèi)核中實(shí)現(xiàn)。后來linux的維護(hù)者看到有這么好的東西,就把它移植到linux的內(nèi)核中去了,最開始這個規(guī)則叫做firewall,但是其太簡陋了,只能起到數(shù)據(jù)報文過濾filter的功能。隨著時間的發(fā)展其功能得到了非常多的擴(kuò)展,比如實(shí)現(xiàn)了nat、mangle、raw等功能,所以后來給這些功能統(tǒng)一一起來起了個好聽的名字——netfilter,怎么樣?好聽吧......

    netfilter叫做規(guī)則,它有四種功能:

             1.filter 過濾

             2.nat    網(wǎng)絡(luò)地址轉(zhuǎn)換

             3.mangle 修改數(shù)據(jù)報文首部的可修改信息

             4.raw    關(guān)閉net表上啟動的連接追蹤功能

五、什么是鏈?chain?

    在一個鉤子上添加了很多規(guī)則功能,這些規(guī)則功能連起來就叫chain。但是有些功能只有在特定的鉤子上才起作用,下面是五個鏈的對應(yīng)表:

preroutingrawmanglenat
inputmanglefilter

outputrawmanglenatfilter
forwardmanglefilter

postroutingmanglenat

    鏈上面的規(guī)則檢查是要按順序檢查的:

            1.同類規(guī)則匹配范圍小的方上面

            2.不同類規(guī)則,匹配次數(shù)頻繁的方上面

            3.應(yīng)該設(shè)定默認(rèn)的規(guī)則 

六、什么是表?table

    每個功能都對應(yīng)幾個鏈,把這些鏈排起來就是表,下面是四個功能表:

 

filterinputforwardoutput

natpreroutingoutput
postrouting

mangle

preroutinginputoutputforwardpostrouting
rawpreroutingoutput


 

七、上面所說的規(guī)則功能怎么添加到linux中?

    iptables是一個接口,也是一個工具,可以讓程序員使用命令行模式輸入設(shè)定的規(guī)則到指定的hooks funcation上,實(shí)現(xiàn)防火墻的功能。

    格式:

    # iptables [-t TABLE] SUBCOMMAND CHAIN CRETERIA -j TARGET

            TABLE: filter, nat, mangle, raw

            SUBCOMMAND:

                  -P   設(shè)置鏈的默認(rèn)處理 #iptables -P INPUT DROP

                  -F   清空指定鏈上的所有規(guī)則 #iptables -F INPUT

                  -Z   將鏈上的流經(jīng)的數(shù)據(jù)報文數(shù)據(jù)清零 

                  -N   新建一個鏈,自定義的鏈
                  -X   刪除用戶自定義的空鏈

                  -E   重命名自定義鏈

                  -A   在指定鏈的最后添加一條規(guī)則
                  -I   插入一條規(guī)則,默認(rèn)插入為第一條 

                  -D   刪除指定的規(guī)則

                  -R   替換指定的規(guī)則

                  -L   列出指定鏈上的所有規(guī)則

                  -L -n  以數(shù)字方式列出

                  -L -n -v 更相信的信息

                  -L -n --line-numbers 顯示規(guī)則編號

                  -L -n -v -x 顯示計數(shù)器的精確值

            CHAIN: PREROUTING INPUT FORWARD OUTPUT POSTROUTING

            CRETERIA:

                通用:-p   檢查協(xié)議tcp,udp,icmp

                      -s   源IP

                      -d   目標(biāo)IP

                      -i   進(jìn)入網(wǎng)卡接口

                      -o   出去網(wǎng)卡接口

                隱式:(如果-p指明了協(xié)議-m 和協(xié)議可以省略)

                     -m  tcp  --dport|sport|syn|tcp-flags LIST1 LIST2

iptables與netfilter基礎(chǔ)與示例

                     -m  udp  --dport|sport

                     -m  icmp --icmp-type 8|0(8為ping請求,0為ping響應(yīng))

iptables與netfilter基礎(chǔ)與示例

iptables與netfilter基礎(chǔ)與示例

                顯示:

                     -m multiport     指定多個端口

                            --sports 

                            --dports

iptables與netfilter基礎(chǔ)與示例

                    -m iprange        指定IP范圍

                           --src-range   源  (注意:前面可使用 ! 表示否定含義)

                           --dst-range   目標(biāo)

iptables與netfilter基礎(chǔ)與示例

                    -m string         指定過濾的字符串

                           --algo {kmp|bm}  指定解析算法

                           --string         字符串

                           --hex-string    十六進(jìn)制編碼后的字符串

iptables與netfilter基礎(chǔ)與示例

                    -m time          基于時間做限制

                           --datestart

                           --datestop

                           --timestart

                           --timestop

                           --weekdays

iptables與netfilter基礎(chǔ)與示例

                   -m connlimit       基于并發(fā)連接數(shù)做限制

                           --connlimit-above

iptables與netfilter基礎(chǔ)與示例

                    -m limit           基于鏈接速率做限制

                           --limit n[/second|/minit|/hour|/day]  限制鏈接速度多久一次

                           --limit-burst n    突發(fā)鏈接速率最快每秒n個

iptables與netfilter基礎(chǔ)與示例

           TARGET:

                 內(nèi)置目標(biāo):ACCEPT(接受),DROP(不響應(yīng)),REJECT(拒絕)

                 自定義的鏈chain

                

八、未完待續(xù)

分享名稱:iptables與netfilter基礎(chǔ)與示例
URL鏈接:http://muchs.cn/article24/pisgje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、網(wǎng)站導(dǎo)航、域名注冊、微信小程序、網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營