簡(jiǎn)述:Linux下的NAT是基于netfilter/iptables的。netfilter/iptables內(nèi)核空間默認(rèn)的表和鏈說(shuō)明:filter表用來(lái)過(guò)濾數(shù)據(jù)包,我們可以在任何時(shí)候匹配包并過(guò)濾它們。Man
Linux下的NAT 是基于netfilter/iptables的。netfilter/iptables 內(nèi)核空間默認(rèn)的表和鏈說(shuō)明:filter 表用來(lái)過(guò)濾數(shù)據(jù)包,我們可以在任何時(shí)候匹配包并過(guò)濾它們。Mangle不經(jīng)常使用還在開(kāi)發(fā)當(dāng)中。我們下面主要介紹Nat表來(lái)實(shí)現(xiàn)NAT功能。
(1)用戶使用iptables命令在用戶空間設(shè)置NAT規(guī)則,通過(guò)使用用戶空間iptables命令,可以構(gòu)建用戶自己的定制NAT規(guī)則。所有規(guī)則存儲(chǔ)在內(nèi)核空間的nat表中。根據(jù)規(guī)則所處理的信息包類(lèi)型,將規(guī)則分組在鏈中。要做SNAT的信息包被添加到POSTROUTING鏈中。要做DNAT的信息包被添加到PREROUTING鏈中。直接從本地出站的信息包的規(guī)則被添加到OUTPUT 鏈中。
(2)內(nèi)核空間接管NAT工作
做過(guò)NAT操作的數(shù)據(jù)包的地址就被改變了,當(dāng)然這種改變是根據(jù)我們的規(guī)則進(jìn)行的。屬于一個(gè)流的包只會(huì)經(jīng)過(guò)這個(gè)表一次。如果第一個(gè)包被允許做NAT或Masqueraded,那么余下的包都會(huì)自動(dòng)地被做相同的操作。也就是說(shuō),余下的包不會(huì)再通過(guò)這個(gè)表,一個(gè)一個(gè)的被NAT,而是自動(dòng)地完成。這就是我們?yōu)槭裁床粦?yīng)該在這個(gè)表中做任何過(guò)濾的主要原因。PREROUTING 鏈的作用是在包剛剛到達(dá)防火墻時(shí)改變它的目的地址,如果需要的話。OUTPUT鏈改變本地產(chǎn)生的包的目的地址。圖4 是數(shù)據(jù)包穿越整個(gè)netfilter/iptables的流程圖。
(3)NAT工作步驟
DNAT:若包是被送往PREROUTING鏈的,并且匹配了規(guī)則, 則執(zhí)行DNAT或REDIRECT目標(biāo)。為了使數(shù)據(jù)包得到正確路由, 必須在路由之前進(jìn)行DNAT。
路由:內(nèi)核檢查信息包的頭信息,尤其是信息包的目的地。
處理本地進(jìn)程產(chǎn)生的包:對(duì)nat表OUTPUT鏈中的規(guī)則實(shí)施規(guī)則檢查, 對(duì)匹配的包執(zhí)行目標(biāo)動(dòng)作。
SNAT:若包是被送往POSTROUTING鏈的,并且匹配了規(guī)則, 則執(zhí)行SNAT或MASQUERADE目標(biāo)。 系統(tǒng)在決定了數(shù)據(jù)包的路由之后才執(zhí)行該鏈中的規(guī)則。
本文由專(zhuān)業(yè)服務(wù)器托管——騰佑科技(http://mubashirfilms.com)提供。
鄭州騰佑科技有限公司(以下簡(jiǎn)稱(chēng)“騰佑科技”)成立于2009年, 總部位于鄭州,是 一家致力于互聯(lián)網(wǎng)服務(wù)業(yè)的高新技術(shù)企業(yè),公司主營(yíng)業(yè)務(wù)以互聯(lián)網(wǎng)數(shù)據(jù)中心、云計(jì)算、人 工智能、軟件開(kāi)發(fā)、安全服務(wù)“互聯(lián)網(wǎng)+”行業(yè)解決方案及行業(yè)應(yīng)用等相關(guān)業(yè)務(wù)。
售前咨詢(xún)熱線:400-996-8756
備案提交:0371-89913068
售后客服:0371-89913000
搜索詞
熱門(mén)產(chǎn)品推薦