• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            isware

            Iptables規(guī)則執(zhí)行順序詳解

            預(yù)備知識(shí)(轉(zhuǎn)): iptable有三種隊(duì)列(表)規(guī)則,mangle queue, filter queue, nat queue。
              1。The first is the mangle table which is responsible for the alteration of quality of service bits in the TCP header.
              2。The second table is the filter queue which is responsible for packet filtering.
              * Forward chain: Filters packets to servers protected by the firewall.
              * Input chain: Filters packets destined for the firewall.
              * Output chain: Filters packets originating from the firewall.
              3。The third table is the nat queue which is responsible for network address translation. It has two built-in chains; these are:
              * Pre-routing chain: NATs packets when the destination address of the packet needs to be changed.
              * Post-routing chain: NATs packets when the source address of the packet needs to be changed
              個(gè)人總結(jié):
              iptables執(zhí)行規(guī)則時(shí),是從從規(guī)則表中從上至下順序執(zhí)行的,如果沒遇到匹配的規(guī)則,就一條一條往下執(zhí)行,如果遇到匹配的規(guī)則后,那么 就執(zhí)行本規(guī)則,執(zhí)行后根據(jù)本規(guī)則的動(dòng)作(accept, reject, log等),決定下一步執(zhí)行的情況,后續(xù)執(zhí)行一般有三種情況。
              1。一種是繼續(xù)執(zhí)行當(dāng)前規(guī)則隊(duì)列內(nèi)的下一條規(guī)則。比如執(zhí)行過Filter隊(duì)列內(nèi)的LOG后,還會(huì)執(zhí)行Filter隊(duì)列內(nèi)的下一條規(guī)則。
              2。一種是中止當(dāng)前規(guī)則隊(duì)列的執(zhí)行,轉(zhuǎn)到下一條規(guī)則隊(duì)列。比如從執(zhí)行過accept后就中斷Filter隊(duì)列內(nèi)其它規(guī)則,跳到nat隊(duì)列規(guī)則去執(zhí)行
              3。一種是中止所有規(guī)則隊(duì)列的執(zhí)行。
              iptables 是采用規(guī)則堆棧的方式來進(jìn)行過濾,當(dāng)一個(gè)封包進(jìn)入網(wǎng)卡,會(huì)先檢查 Prerouting,然后檢查目的 IP 判斷是否需要轉(zhuǎn)送出去,接著就會(huì)跳到 INPUT 或 Forward 進(jìn)行過濾,如果封包需轉(zhuǎn)送處理則檢查 Postrouting,如果是來自本機(jī)封包,則檢查 OUTPUT 以及 Postrouting。過程中如果符合某條規(guī)則將會(huì)進(jìn)行處理,處理動(dòng)作除了 ACCEPT、REJECT、DROP、REDIRECT 和 MASQUERADE 以外,還多出 LOG、ULOG、DNAT、SNAT、MIRROR、QUEUE、RETURN、TOS、TTL、MARK 等,其中某些處理動(dòng)作不會(huì)中斷過濾程序,某些處理動(dòng)作則會(huì)中斷同一規(guī)則煉的過濾,并依照前述流程繼續(xù)進(jìn)行下一個(gè)規(guī)則煉的過濾(注意:這一點(diǎn)與 ipchains 不同),一直到堆棧中的規(guī)則檢查完畢為止。透過這種機(jī)制所帶來的好處是,我們可以進(jìn)行復(fù)雜、多重的封包過濾,簡(jiǎn)單的說,iptables 可以進(jìn)行縱橫交錯(cuò)式的過濾(tables)而非煉狀過濾(chains)。
              ACCEPT 將封包放行,進(jìn)行完此處理動(dòng)作后,將不再比對(duì)其它規(guī)則,直接跳往下一個(gè)規(guī)則煉(nat:postrouting)。
              REJECT 攔阻該封包,并傳送封包通知對(duì)方,可以傳送的封包有幾個(gè)選擇:ICMP port-unreachable、ICMP echo-reply 或是 tcp-reset(這個(gè)封包會(huì)要求對(duì)方關(guān)閉聯(lián)機(jī)),進(jìn)行完此處理動(dòng)作后,將不再比對(duì)其它規(guī)則,直接 中斷過濾程序。 范例如下:
              iptables -A FORWARD -p TCP ——dport 22 -j REJECT ——reject-with tcp-reset
              DROP 丟棄封包不予處理,進(jìn)行完此處理動(dòng)作后,將不再比對(duì)其它規(guī)則,直接中斷過濾程序。
              REDIRECT 將封包重新導(dǎo)向到另一個(gè)端口(PNAT),進(jìn)行完此處理動(dòng)作后,將 會(huì)繼續(xù)比對(duì)其它規(guī)則。 這個(gè)功能可以用來實(shí)作通透式 porxy 或用來保護(hù) web 服務(wù)器。例如:iptables -t nat -A PREROUTING -p tcp ——dport 80 -j REDIRECT ——to-ports 8080
              MASQUERADE 改寫封包來源 IP 為防火墻 NIC IP,可以指定 port 對(duì)應(yīng)的范圍,進(jìn)行完此處理動(dòng)作后,直接跳往下一個(gè)規(guī)則煉(mangle:postrouting)。這個(gè)功能與 SNAT 略有不同,當(dāng)進(jìn)行 IP 偽裝時(shí),不需指定要偽裝成哪個(gè) IP,IP 會(huì)從網(wǎng)卡直接讀取,當(dāng)使用撥接連線時(shí),IP 通常是由 ISP 公司的 DHCP 服務(wù)器指派的,這個(gè)時(shí)候 MASQUERADE 特別有用。范例如下:
              iptables -t nat -A POSTROUTING -p TCP -j MASQUERADE ——to-ports 1024-31000
              LOG 將封包相關(guān)訊息紀(jì)錄在 /var/log 中,詳細(xì)位置請(qǐng)查閱 /etc/syslog.conf 組態(tài)檔,進(jìn)行完此處理動(dòng)作后,將會(huì)繼續(xù)比對(duì)其它規(guī)則。例如:
              iptables -A INPUT -p tcp -j LOG ——log-prefix "INPUT packets"
              SNAT 改寫封包來源 IP 為某特定 IP 或 IP 范圍,可以指定 port 對(duì)應(yīng)的范圍,進(jìn)行完此處理動(dòng)作后,將直接跳往下一個(gè)規(guī)則煉(mangle:postrouting)。范例如下:
              iptables -t nat -A POSTROUTING -p tcp-o eth0 -j SNAT ——to-source 194.236.50.155-194.236.50.160:1024-32000
              DNAT 改寫封包目的地 IP 為某特定 IP 或 IP 范圍,可以指定 port 對(duì)應(yīng)的范圍,進(jìn)行完此處理動(dòng)作后,將會(huì)直接跳往下一個(gè)規(guī)則煉(filter:input 或 filter:forward)。范例如下:
              iptables -t nat -A PREROUTING -p tcp -d 15.45.23.67 ——dport 80 -j DNAT ——to-destination 192.168.1.1-192.168.1.10:80-100
              MIRROR 鏡射封包,也就是將來源 IP 與目的地 IP 對(duì)調(diào)后,將封包送回,進(jìn)行完此處理動(dòng)作后,將會(huì)中斷過濾程序。
              QUEUE 中斷過濾程序,將封包放入隊(duì)列,交給其它程序處理。透過自行開發(fā)的處理程序,可以進(jìn)行其它應(yīng)用,例如:計(jì)算聯(lián)機(jī)費(fèi)用……等。
              RETURN 結(jié)束在目前規(guī)則煉中的過濾程序,返回主規(guī)則煉繼續(xù)過濾,如果把自訂規(guī)則煉看成是一個(gè)子程序,那么這個(gè)動(dòng)作,就相當(dāng)于提早結(jié)束子程序并返回到主程序中。
              MARK 將封包標(biāo)上某個(gè)代號(hào),以便提供作為后續(xù)過濾的條件判斷依據(jù),進(jìn)行完此處理動(dòng)作后,將會(huì)繼續(xù)比對(duì)其它規(guī)則。范例如下:
              iptables -t mangle -A PREROUTING -p tcp ——dport 22 -j MARK ——set-mark 2

            posted on 2011-06-01 13:53 艾斯維亞 閱讀(326) 評(píng)論(0)  編輯 收藏 引用


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            人妻无码αv中文字幕久久琪琪布| 麻豆成人久久精品二区三区免费| 人妻无码精品久久亚瑟影视| 国产精品久久久久久吹潮| 中文字幕久久精品无码| 久久婷婷五月综合97色一本一本| 97久久综合精品久久久综合| 中文字幕亚洲综合久久2| 国产精品久久久久久一区二区三区| 国产亚洲成人久久| 亚洲中文字幕伊人久久无码| av国内精品久久久久影院| 国产无套内射久久久国产| 久久久久久久波多野结衣高潮| 久久免费的精品国产V∧| 久久久精品国产sm调教网站| 精品久久久无码中文字幕| 久久久久久国产精品美女| 亚洲国产精品久久久久婷婷老年| 亚洲日本va中文字幕久久| 伊人色综合久久天天| 免费精品久久天干天干| 久久久久久久99精品免费观看| 亚洲国产精品久久久天堂| 国产精品熟女福利久久AV| 精品久久久无码人妻中文字幕豆芽 | 色欲久久久天天天综合网| 97久久香蕉国产线看观看| 一本色道久久综合| 久久精品中文字幕一区| 久久久国产精品网站| 久久精品国产99久久无毒不卡 | 超级碰久久免费公开视频| 亚洲国产精品成人久久| 伊人久久大香线蕉成人| 中文字幕一区二区三区久久网站| 狠狠色丁香久久综合婷婷| 午夜精品久久久久久影视riav| 亚洲国产高清精品线久久| 国产国产成人久久精品| 久久久久久综合一区中文字幕|