日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

H3C防火墙NAT类型及处理顺序

發布時間:2023/12/20 编程问答 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 H3C防火墙NAT类型及处理顺序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

H3C防火墻NAT處理順序

本文主要適用于H3C V7版本防火墻,介紹了NAT的基本類型和執行順序。相關內容很多援引H3C官方產品文檔,NAT類型及相關說明以官方文檔為準。

1 NAT類型及配置說明

H3C V7產品支持的NAT按照組網方式可分為以下幾種:

(1) 傳統NAT
報文經過NAT設備時,在NAT接口上僅進行一次源IP地址轉換或一次目的IP地址轉換。對于內網訪問外網的報文,在出接口上進行源IP地址轉換;對于外網訪問內網的報文,在入接口上進行目的地址IP地址轉換。

(2) 兩次NAT
報文入接口和出接口均為NAT接口。報文經過NAT設備時,先后進行兩次NAT轉換。對于內網訪問外網的報文和外網訪問內網的報文,均在入接口進行目的IP地址轉換,在出接口進行源IP地址轉換。這種方式常用于支持地址重疊的VPN間互訪。

(3) 雙向NAT
報文經過NAT設備時,在NAT接口上同時進行一次源IP地址轉換和一次目的IP地址轉換。對于內網訪問外網的報文,在出接口上同時進行源IP地址和目的IP地址的轉換;對于外網訪問內網的報文,同時在入接口上進行目的地址IP地址和源IP地址的轉換。這種方式常用于支持內網用戶主動訪問與之地址重疊的外網資源。

(4) NAT hairpin
NAT hairpin功能用于滿足位于內網側的用戶之間或內網側的用戶與服務器之間通過NAT地址進行訪問的需求。開啟NAT hairpin的內網側接口上會對報文同時進行源地址和目的地址的轉換。它支持兩種組網模式:
?P2P:位于內網側的用戶之間通過動態分配的NAT地址互訪。
?C/S:位于內網側的用戶使用靜態配置的NAT地址訪問內網服務器。

按照實現方式,可將NAT分為以下幾種

(1) 靜態方式
靜態地址轉換是指外部網絡和內部網絡之間的地址映射關系由配置確定,該方式適用于內部網絡與外部網絡之間存在固定訪問需求的組網環境。靜態地址轉換支持雙向互訪:內網用戶可以主動訪問外網,外網用戶也可以主動訪問內網。

(2) 動態方式
動態地址轉換是指內部網絡和外部網絡之間的地址映射關系在建立連接的時候動態產生。該方式僅支持單向發起訪問,通常適用于內部網絡有大量用戶需要訪問外部網絡的組網環境。動態地址轉換存在兩種轉換模式:
?NO-PAT模式
NO-PAT(Not Port Address Translation)模式下,一個外網地址同一時間只能分配給一個內網地址進行地址轉換,不能同時被多個內網地址共用。當使用某外網地址的內網用戶停止訪問外網時,NAT會將其占用的外網地址釋放并分配給其他內網用戶使用。該模式下,NAT設備只對報文的IP地址進行NAT轉換,同時會建立一個NO-PAT表項用于記錄IP地址映射關系,并可支持所有IP協議的報文。
?PAT模式
PAT(Port Address Translation)模式下,一個NAT地址可以同時分配給多個內網地址共用。該模式下,NAT設備需要對報文的IP地址和傳輸層端口同時進行轉換,且只支持TCP、UDP和ICMP(Internet Control Message Protocol,互聯網控制消息協議)查詢報文。采用PAT方式可以更加充分地利用IP地址資源,實現更多內部網絡主機對外部網絡的同時訪問。
目前,PAT支持兩種不同的地址轉換模式:
?Endpoint-Independent Mapping(不關心對端地址和端口轉換模式):只要是來自相同源地址和源端口號的報文,不論其目的地址是否相同,通過PAT映射后,其源地址和源端口號都被轉換為同一個外部地址和端口號,該映射關系會被記錄下來并生成一個EIM表項;并且NAT設備允許所有外部網絡的主機通過該轉換后的地址和端口來訪問這些內部網絡的主機。這種模式可以很好的支持位于不同NAT網關之后的主機進行互訪。
?Address and Port-Dependent Mapping(關心對端地址和端口轉換模式):對于來自相同源地址和源端口號的報文,相同的源地址和源端口號并不要求被轉換為相同的外部地址和端口號,若其目的地址或目的端口號不同,通過PAT映射后,相同的源地址和源端口號通常會被轉換成不同的外部地址和端口號。與Endpoint-Independent Mapping模式不同的是,NAT設備只允許這些目的地址對應的外部網絡的主機可以通過該轉換后的地址和端口來訪問這些內部網絡的主機。這種模式安全性好,但由于同一個內網主機地址轉換后的外部地址不唯一,因此不便于位于不同NAT網關之后的主機使用內網主機轉換后的地址進行互訪。

(3) 內部服務器
在實際應用中,內網中的服務器可能需要對外部網絡提供一些服務,例如給外部網絡提供Web服務,或是FTP服務。這種情況下,NAT設備允許外網用戶通過指定的NAT地址和端口訪問這些內部服務器,NAT內部服務器的配置就定義了NAT地址和端口與內網服務器地址和端口的映射關系。

(4) NAT444端口塊方式
NAT444是運營商網絡部署NAT的整體解決方案,它基于NAT444網關,結合AAA服務器、日志服務器等配套系統,提供運營商級的NAT,并支持用戶溯源等功能。在眾多IPv4向IPv6網絡過渡的技術中,NAT444僅需在運營商側引入二次NAT,對終端和應用服務器端的更改較小,并且NAT444通過端口塊分配方式解決用戶溯源等問題,因此成為了運營商的首選IPv6過渡方案。

以下僅介紹入方向靜態地址轉換(nat static inbound)、出方向靜態地址轉換(nat static outbound)、入方向動態地址轉換(nat inbound)、出方向動態地址轉換(nat static outbound)、NAT服務器映射(nat server)等五種常用NAT類型。

1.1 入方向靜態地址轉換(nat static inbound)

入方向靜態地址轉換用于實現一個內部私有網絡地址/網段/地址對象組與一個外部公有網絡地址/網段/地址對象組之間的轉換,具體過程如下:
? 對于經過該接口發送的內網訪問外網的報文,將其目的IP地址與指定的內網IP地址/網段/地址對象組進行匹配,并將匹配的目的IP地址轉換為指定的外網地址/網段/地址對象組中的地址。
? 對于該接口接收到的外網訪問內網的報文,將其源IP地址與指定的外網IP地址/網段/地址對象組進行匹配,并將匹配的源IP地址轉換為指定的地址/網段/地址對象組中的地址。

如果接口上配置的靜態地址轉換映射中指定了acl參數,則僅對符合指定ACL permit規則的報文進行地址轉換。
基于地址對象組的入方向靜態地址轉換引用的IPv4地址對象組中,只能存在一個主機對象(host)或者一個子網對象(subnet),否則引用不生效。

1.2 出方向靜態地址轉換(nat static outbound)

出方向靜態地址轉換通常應用在外網側接口上,用于實現一個內部私有網絡地址到一個外部公有網絡地址的轉換,具體過程如下:
? 對于經過該接口發送的內網訪問外網的報文,將其源IP地址與指定的內網IPv4地址/網段/地址對象組進行匹配,并將匹配的源IP地址轉換為外網IPv4地址/網段/地址對象組中的地址。
? 對于該接口接收到的外網訪問內網的報文,將其目的IP地址與指定的外網IPv4地址/網段/地址對象組進行匹配,并將匹配的目的IP地址轉換為內網IPv4地址/網段/地址對象組中的地址。
如果接口上配置的靜態地址轉換映射中指定了acl參數,則僅對符合指定ACL permit規則的報文進行地址轉換。
基于地址對象組的出方向靜態地址轉換引用的IPv4地址對象組中,只能存在一個主機對象(host)或者一個子網對象(subnet),否則引用不生效。

1.3 入方向動態地址轉換(nat inbound)

入方向動態地址轉換功能通常與接口上的出方向動態地址轉換(nat outbound)、內部服務器(nat server)或出方向靜態地址轉換(nat static outbound)配合,用于實現雙向NAT應用,不建議單獨使用。
入接口動態地址轉換的具體過程如下:
? 對于該接口接收到的外網訪問內網的首報文,將與指定的ACL permit規則匹配的報文的源IP地址轉換為地址組中的地址。
? 在指定了no-pat reversible參數,并且已經存在NO-PAT表項的情況下,對于經過該接口發送的內網訪問外網的首報文,將其目的IP地址與NO-PAT表項進行匹配,并將目的IP地址轉換為匹配的NO-PAT表項中記錄的外網地址。
需要注意的是,該方式下的地址轉換不支持Easy IP功能。

1.4 出方向動態地址轉換(nat outbound)

出方向動態地址轉換通常應用在外網側接口上,用于實現一個內部私有網絡地址到一個外部公有網絡地址的轉換,具體過程如下:
? 對于經過該接口發送的內網訪問外網的報文,將與指定ACL permit規則匹配的報文源IP地址轉換為地址組中的地址。
? 在指定了no-pat reversible參數,并且已經存在NO-PAT表項的情況下,對于經過該接口收到的外網訪問內網的首報文,將其目的IP地址與NO-PAT表項進行匹配,并將目的IP地址轉換為匹配的NO-PAT表項中記錄的內網地址。

1.5 NAT服務器映射(nat server)

通過在NAT設備上配置內部服務器,建立一個或多個內網服務器內網地址和端口與外網地址和端口的映射關系,使外部網絡用戶能夠通過配置的外網地址和端口來訪問內網服務器。內部服務器通常配置在外網側接口上。
H3C V7產品中,NAT服務器映射可分為普通內部服務器、負載分擔內部服務器和基于ACL的內部服務器三種。
若普通內部服務器或者負載分擔內部服務器配置中引用了acl參數,則表示與指定的ACL permit規則匹配的報文才可以使用內部服務器的映射表進行地址轉換。需要注意的是,NAT僅關注ACL規則中定義的源IP地址、源端口號、目的IP地址、目的端口號、傳輸層協議類型和VPN實例,不關注ACL規則中定義的其它元素。
普通的內部服務器是將內網服務器的地址和端口映射為外網地址和端口,允許外部網絡中的主機通過配置的外網地址和端口訪問位于內網的服務器。

2 NAT類型的應用說明

2.1 單一類型的特性與應用

NAT各類型對報文的處理方式各有不同,其在不同方向的處理方式決定了最終應用的效果。具體區別可見下表:
由此可知,以上各種類型的NAT中,靜態NAT適用于部分網絡雙向訪問,動態NAT適用于單方面發起對訪問,NAT Server適用于單方面提供特定服務。

2.2 多種NAT類型的單次轉換組合應用

對于一個復雜的網絡,其NAT需求往往并不單一,需要將多種NAT類型結合使用來達到相應目的。以下介紹在不存在IP地址重疊的情況下,常見的單次NAT類型組合應用:

場景一、內網訪問外網,同時內網對外提供特定的服務
該場景下,要求對內網出局的流量進行源地址轉換,對外網訪問內網服務的流量進行目的地址轉換。可實現的方案如下:
方案一:在外網接口同時部署NAT Outbound和NAT Server,最優方案,推薦;
方案二:在內網接口部署NAT Inbound,外網接口部署NAT Server;
方案三:在外網接口部署NAT Outbound和NAT Static Outbound,服務器對于外網來說處于完全可訪問狀態,不推薦;
方案四:在外網接口部署NAT Outbound,內網接口部署NAT Static Inbound,服務器對于外網來說處于完全可訪問狀態,不推薦;
方案五:在內網接口部署NAT inbound和NAT Static Inbound,服務器對于外網來說處于完全可訪問狀態,不推薦;
方案六:在內網接口部署NAT Inbound,外網接口部署NAT Static Outbound,服務器對于外網來說處于完全可訪問狀態,不推薦。
針對以上六種方案,綜合安全性和部署維護的復雜度來考慮,推薦首選方案一,并將方案二作為備選。

場景二、外網訪問內網,并對內網提供特定服務
該場景剛好與場景一類似,只是訪問方向相反。事實上,無論是出于安全的角度還是出于管理維護的角度,都應該避免該類場景的出現,如果確定有這樣的需求,也應該盡量由外網來完成NAT部署。該場景要求對外網入局的流量進行源地址轉換,對內網訪問外網服務的流量進行目的地址轉換。可實現的方案如下:
方案一:在內網接口同時部署NAT Outbound和NAT Server,最優方案,推薦;
方案二:在外網接口部署NAT Inbound,內網接口部署NAT Server;
方案三:在內網網接口部署NAT Outbound和NAT Static Outbound,服務器對于內網來說處于完全可訪問狀態,不推薦;
方案四:在內網接口部署NAT Outbound,外網接口部署NAT Static Inbound,服務器對于內網來說處于完全可訪問狀態,不推薦;
方案五:在外網接口部署NAT inbound和NAT Static Inbound,服務器對于內網來說處于完全可訪問狀態,不推薦;
方案六:在外網接口部署NAT Inbound,內網接口部署NAT Static Outbound,服務器對于內網來說處于完全可訪問狀態,不推薦。
針對以上六種方案,綜合安全性和部署維護的復雜度來考慮,推薦首選方案一,并將方案二作為備選。

場景三、內網和外網完全互訪
該場景要求對外網入局的流量和內網出局的流量都進行單向源地址轉換。出于安全考慮,實際部署時也應避免該場景的發生,如果必要,應盡量由外網完成入局流量的NAT。可實現的方案如下:
方案一:在外網接口和內網接口都部署NAT Outbound,最優方案,推薦;
方案二:在外網接口和內網接口都部署NAT Inbound,最優方案,推薦;
方案三:在外網接口同時部署NAT Outbound和NAT Inbound;
方案四:在內網接口同時部署NAT Outbound和NAT Inbound。
針對以上四種方案,出于部署維護的復雜度來考慮,推薦首選方案一。

2.3 多種NAT類型的兩次轉換組合應用

除開常規需求場景外,還往往存在一些特殊的組網環境,需要更復雜的處理方式。如出于安全要求、或者因為地址重疊的原因,要求我們在單向流量中同時對源地址和目的地址進行NAT。該情況下,通常不存在完全訪問的可能,或者說訪問目標必須是明確的一個地址或地址集合。出于運維管理的考慮,也應該盡量避免使用該場景的NAT,不能避免的也應盡量由訪問方進行源地址轉換,被訪問方進行目的地址轉換。對于確定需要同時進行源和目的地址NAT的,V7有兩種實現方式:可以通過在流量入口和出口各自進行目的地址NAT和源地址NAT,即兩次NAT的方式來實現;也可以通過在一個接口上同時進行源地址和目的地址NAT,即雙向NAT來實現。

場景一、內網單向訪問外網,地址重疊
方案一:在內網接口部署NAT Static Outbound,在外網接口部署NAT Outbound,兩次NAT;
方案二:在外網接口部署NAT Static Inbound,在內網接口部署NAT Inbound,兩次NAT;
方案三:在外網接口同時部署NAT Static Inbound和NAT Outbound,雙向NAT;
方案四:在內網接口同時部署NAT Static Outbound和NAT Inbound,雙向NAT。

場景二、外網單向訪問內網,地址重疊
方案一:在外網接口部署NAT Static Outbound,在內網接口部署NAT Outbound,兩次NAT;
方案二:在內網接口部署NAT Static Inbound,在外網接口部署NAT Inbound,兩次NAT;
方案三:在內網接口同時部署NAT Static Inbound和NAT Outbound,雙向NAT;
方案四:在外網接口同時部署NAT Static Outbound和NAT Inbound,雙向NAT。

場景三、外網單向訪問內網特定服務,地址重疊
方案一:外網接口同時部署NAT Static Inbound和NAT Server,雙向NAT;
方案二:外網接口同時部署NAT Inbound和NAT Server,雙向NAT;
方案三:外網接口部署NAT Server,內網接口部署NAT Static Outbound,兩次NAT;
方案四:外網接口部署NAT Server,內網接口部署NAT Outbound,兩次NAT。

場景四、內網和外網雙向互訪,地址重疊
方案一:在外網接口和內網接口都部署NAT Static Outbound,兩次NAT;
方案二:在外網接口和內網接口都部署NAT Static Inbound,兩次NAT;
方案三:在外網接口同時部署NAT Static Outbound和NAT Static Inbound,雙向NAT;
方案四:在內網接口同時部署NAT Static Outbound和NAT Static Inbound,雙向NAT。
以上方案通常用于一一對應的互訪,此外還可以組合使用本小節中場景一和場景二的解決方案來實現本場景的訪問需求,只是會加大實施難度,并放大訪問發起者的范圍,降低安全性(可通過ACL減緩)。

2.4 多種NAT類型組合應用的注意事項

一、當需要添加新的需求時,應當遵循安全、易管理、維護便捷的原則,盡量避免過于繁瑣的實現方式。能夠通過單一NAT類型實現的功能,盡量不用NAT類型組合。對于地址重疊問題,應盡量通過溝通協調的方式來避免,技術手段僅作為最終妥協的實現方式。
二、在復雜的NAT應用場景中需要注意,當采用NAT Outbound時會產生一條NAT地址去往NULL0的黑洞路由,如果該NAT地址也同時被用于入方向的NAT,在做了入方向的NAT所在接口上,其出方向的流量會因為黑洞路由而不被NAT模塊處理,進而造成NAT失效。解決該問題的方法為嚴格規劃NAT地址,避免在多種NAT類型中重復利用NAT地址。
三、由于入方向NAT涉及到額外路由配置的問題,又存在上述可能造成故障的風險,在實際應用場景中不推薦包含此類NAT的部署方式。
四、在存在地址重疊的情況下,建議在流量入口處進行雙向NAT部署,避免引入路由沖突的風險。

3 NAT相關的安全策略處理

防火墻中存在大量的NAT和安全策略,因為不同廠商在數據處理流程上的差異,其產品NAT和安全策略之間的影響不盡相同。以下對H3C V7(后文簡稱V7)產品的NAT和策略相關性進行說明。

3.1 策略相關說明

V7中地址對象組、服務對象組,在策略定義中都是以名稱進行調用的,除系統自定義的常用協議名、多數服務對象需自行定義和命名。

1、地址對象組定義:V7中地址和地址組對象定義方式完全一致,或者說在實現上不存在地址和地址組對象的區別,在一個對象組中可以添加一個主機、一段地址或者嵌套另一個對象組作為成員。
object-group ip address 地址對象組名2
network host address 地址 //地址對象定義對象為主機
network subnet 地址段 掩碼 //地址對象定義對象為地址段
network group-object地址對象組名1 //地址對象組名1為預先定義的地址對象組

2、服務對象組定義:V7中服務對象組定義與地址對象組定義類似。
object-group service 服務對象組名2
service 協議 destination eq目的端口號 //指定端口號
service 協議 destination gt參考端口號 //比參考端口號大
service 協議 destination lt參考端口號 //比參考端口號小
service 協議 destination rang 目的起始端口號 目的結束端口號 //指定端口號范圍
service group-object服務對象組名1 //服務對象名1為系統預定義或手工預定義的服務對象組

3、策略定義說明:V7策略中地址只能以地址對象組的方式進行指定,不能直接使用IP地址或網段。
object-policy ip 策略名
rule 1 pass source-ip源地址對象組名 destination-ip 目的地址對象組名 service服務對象組名/系統預定義的服務名
rule 2 pass source-ip 源地址對象組名destination-ip目的地址對象組名 service 服務對象組名/系統預定義的服務名

4、區域定義
security-zone name 定義的區域名
import interface 端口類型和端口號

5、域間應用策略:策略定義后需要在安全域間應用才能生效。
zone-pair security source 定義的區域名1 destination 定義的區域名2
object-policy apply ip 定義的策略名

3.2 策略定義中與NAT相關地址對象的處理

H3C在處理路由、NAT和安全策略和ACL時遵循如下處理順序:
由此可知,當NAT和策略并存時,要使訪問符合預期,策略中地址對象的定義遵循如下原則:

以上表格可能并不方便實際部署實施時的理解,下表從報文中IP地址的變化角度對不同類型NAT相關的策略處理進行了描述。

總結

以上是生活随笔為你收集整理的H3C防火墙NAT类型及处理顺序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。