• <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 艾斯維亞 閱讀(320) 評(píng)論(0)  編輯 收藏 引用


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


            亚洲精品无码久久毛片 | 2020国产成人久久精品 | 国产精品美女久久久m| 久久精品国产99久久无毒不卡| 成人a毛片久久免费播放| 亚洲美日韩Av中文字幕无码久久久妻妇 | 日日狠狠久久偷偷色综合0| 伊人精品久久久久7777| 久久夜色精品国产噜噜麻豆| 国产精品丝袜久久久久久不卡| 久久久久久极精品久久久| 午夜久久久久久禁播电影| 精品久久人人做人人爽综合 | 久久精品国产99国产精品澳门| 欧美精品福利视频一区二区三区久久久精品| 久久人人爽人人爽人人片AV麻烦 | 国内精品久久久久久不卡影院| 亚洲国产成人精品女人久久久 | 国产精品99久久久精品无码| 国产精品永久久久久久久久久| 国产午夜精品久久久久免费视 | 18岁日韩内射颜射午夜久久成人| 国产aⅴ激情无码久久| 少妇久久久久久被弄到高潮| 国产成人久久久精品二区三区| 久久精品水蜜桃av综合天堂 | 国产A级毛片久久久精品毛片| 精品久久久久久久无码| 天堂久久天堂AV色综合| 久久精品一本到99热免费| 99久久香蕉国产线看观香| 中文字幕无码av激情不卡久久| 人妻无码精品久久亚瑟影视| 亚洲国产精品久久66| 色综合色天天久久婷婷基地 | 亚洲国产香蕉人人爽成AV片久久| 久久免费香蕉视频| 久久婷婷午色综合夜啪| 久久精品国产免费观看| 91精品国产乱码久久久久久| 久久免费高清视频|