• <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   管理


            欧美久久综合九色综合| 青青草国产成人久久91网| 色诱久久av| 无码人妻久久一区二区三区免费| 欧美亚洲国产精品久久| 国产精品美女久久久久| 国产精品无码久久综合网| 久久无码AV一区二区三区| 99久久99这里只有免费的精品| 久久久久亚洲AV成人网| 一本一本久久A久久综合精品| 久久香蕉国产线看观看99| 久久狠狠爱亚洲综合影院| 伊人色综合久久| 欧美午夜精品久久久久免费视 | 久久精品视频91| 久久久噜噜噜久久熟女AA片| 久久综合九色综合欧美就去吻| 97久久超碰国产精品2021| 一本久久免费视频| 久久久久无码精品国产app| 一级做a爰片久久毛片16| 无码人妻精品一区二区三区久久| 久久久91人妻无码精品蜜桃HD| 久久亚洲国产中v天仙www| 亚洲国产精品18久久久久久| 久久久久高潮综合影院| 无码乱码观看精品久久| 国产精品99久久久久久董美香| 69久久夜色精品国产69| 久久精品蜜芽亚洲国产AV| 久久精品国产亚洲AV大全| 亚洲色欲久久久综合网东京热| 99久久国产亚洲综合精品| 久久受www免费人成_看片中文| 欧美日韩精品久久久免费观看| 国产精品免费看久久久香蕉| 久久精品免费观看| 一本大道久久a久久精品综合| 亚洲国产天堂久久综合网站 | 久久综合伊人77777麻豆|