12年老牌互聯(lián)網(wǎng)IT解決方案提供商
騰佑科技咨詢熱線咨詢熱線: 400-996-8756
工單提交 注冊/登錄
百度云服務(wù)中心騰佑科技公司
云服務(wù)器活動 服務(wù)器租用 服務(wù)器托管 機柜租賃 帶寬租賃
  • 最新資訊
  • 熱門資訊
  • 最熱資訊
智能建站

基于netfilteriptables的NAT如何工作

發(fā)布時間:2012-07-18 18:09 作者:admin

簡述:

Linux下的NAT 是基于netfilter/iptables的。netfilter/iptables 內(nèi)核空間默認的表和鏈說明:filter 表用來過濾數(shù)據(jù)包,我們可以在任何時候匹配包并過濾它們。Mangle不經(jīng)常使用還在開發(fā)當中。我們下面主要介紹Nat表來實現(xiàn)NAT功能。

(1)用戶使用iptables命令在用戶空間設(shè)置NAT規(guī)則,通過使用用戶空間iptables命令,可以構(gòu)建用戶自己的定制NAT規(guī)則。所有規(guī)則存儲在內(nèi)核空間的nat表中。根據(jù)規(guī)則所處理的信息包類型,將規(guī)則分組在鏈中。要做SNAT的信息包被添加到POSTROUTING鏈中。要做DNAT的信息包被添加到PREROUTING鏈中。直接從本地出站的信息包的規(guī)則被添加到OUTPUT 鏈中。

(2)內(nèi)核空間接管NAT工作

做過NAT操作的數(shù)據(jù)包的地址就被改變了,當然這種改變是根據(jù)我們的規(guī)則進行的。屬于一個流的包只會經(jīng)過這個表一次。如果第一個包被允許做NAT或Masqueraded,那么余下的包都會自動地被做相同的操作。也就是說,余下的包不會再通過這個表,一個一個的被NAT,而是自動地完成。這就是我們?yōu)槭裁床粦?yīng)該在這個表中做任何過濾的主要原因。PREROUTING 鏈的作用是在包剛剛到達防火墻時改變它的目的地址,如果需要的話。OUTPUT鏈改變本地產(chǎn)生的包的目的地址。圖4 是數(shù)據(jù)包穿越整個netfilter/iptables的流程圖。

(3)NAT工作步驟

DNAT:若包是被送往PREROUTING鏈的,并且匹配了規(guī)則, 則執(zhí)行DNAT或REDIRECT目標。為了使數(shù)據(jù)包得到正確路由, 必須在路由之前進行DNAT。

路由:內(nèi)核檢查信息包的頭信息,尤其是信息包的目的地。

處理本地進程產(chǎn)生的包:對nat表OUTPUT鏈中的規(guī)則實施規(guī)則檢查, 對匹配的包執(zhí)行目標動作。

SNAT:若包是被送往POSTROUTING鏈的,并且匹配了規(guī)則, 則執(zhí)行SNAT或MASQUERADE目標。 系統(tǒng)在決定了數(shù)據(jù)包的路由之后才執(zhí)行該鏈中的規(guī)則。

本文由專業(yè)服務(wù)器托管——騰佑科技(http://mubashirfilms.com)提供。

點擊展開全文

騰佑科技(mubashirfilms.com)成立于2009年,總部位于河南鄭州,是一家集互聯(lián)網(wǎng)基礎(chǔ)設(shè)施及軟硬件于一體化的高新技術(shù)企業(yè),具有IDC/ISP/ICP/云牌照、雙軟等資質(zhì),并擁有多個國家版權(quán)局認證。公司自成立以來,一直致力于發(fā)展互聯(lián)網(wǎng)IDC數(shù)據(jù)中心DataCenter、云計算Cloud、大數(shù)據(jù)BigDate、人工智能AI、內(nèi)容加速CDN、互聯(lián)網(wǎng)安全、軟件定制開發(fā)等產(chǎn)品服務(wù)及行業(yè)客戶技術(shù)一體化智能解決方案;2018年成為百度智能云AI河南服務(wù)中心。

售前咨詢熱線:400-996-8756

備案提交:0371-89913068

售后客服:0371-89913000

熱門活動

百度云服務(wù)中心
  • 熱門資訊
  • 隨便看看