01-NAT配置
本章節下載: 01-NAT配置 (811.08 KB)
2.9.5 配置使用多備份組處理Easy IP方式地址轉換的端口範圍
2.21 開啟對TCP SYN和SYN ACK報文中時間戳的刪除功能
2.24.1 內網用戶通過NAT地址訪問外網配置舉例(靜態地址轉換)
2.24.2 內網用戶通過NAT地址訪問外網配置舉例(地址不重疊)
2.24.3 內網用戶通過NAT地址訪問外網配置舉例(地址重疊)
2.24.5 外網用戶通過域名訪問內網服務器配置舉例(地址不重疊)
2.24.6 外網用戶通過域名訪問內網服務器配置舉例(地址重疊)
NAT(Network Address Translation,網絡地址轉換)是將IP數據報文頭中的IP地址轉換為另一個IP地址的過程。在實際應用中,NAT主要應用在連接兩個網絡的邊緣設備上,用於實現允許內部網絡用戶訪問外部公共網絡以及允許外部公共網絡訪問部分內部網絡資源(例如內部服務器)的目的。
NAT基本概念如下:
· NAT設備:配置了NAT功能的連接內部網絡和外部網絡的邊緣設備。
· NAT接口:NAT設備上應用了NAT相關配置的接口。
· NAT規則:用於進行地址轉換的NAT配置稱為NAT規則。NAT規則的位置決定了匹配的優先級,位置越靠前的NAT規則,其匹配優先級越高。
· NAT地址:用於進行地址轉換的公網IP地址,與外部網絡路由可達,可靜態指定或動態分配。
· NAT表項:NAT設備上用於記錄網絡地址轉換映射關係的表項。關於NAT表項的詳細介紹請參見“1.5 NAT表項”。
· Easy IP功能:NAT轉換時直接使用設備上接口的IP地址作為NAT地址。設備上接口的地址可靜態指定或通過DHCP等協議動態獲取。
圖1-1 NAT基本工作過程示意圖
如圖1-1所示,一台NAT設備連接內網和外網,連接外網的接口為NAT接口,當有報文經過NAT設備時,NAT的基本工作過程如下:
(1) 當內網用戶主機(192.168.1.3)向外網服務器(1.1.1.2)發送的IP報文通過NAT設備時,NAT設備查看報文的IP頭內容,發現該報文是發往外網的,則將其源IP地址字段的內網地址192.168.1.3轉換成一個可路由的外網地址20.1.1.1,並將該報文發送給外網服務器,同時在NAT設備上建立表項記錄這一映射。
(2) 外網服務器給內網用戶發送的應答報文到達NAT設備後,NAT設備使用報文信息匹配建立的表項,然後查找匹配到的表項記錄,用內網私有地址192.168.1.3替換初始的目的IP地址20.1.1.1。
上述的NAT過程對終端(如圖中的Host和Server)來說是透明的。對外網服務器而言,它認為內網用戶主機的IP地址就是20.1.1.1,並不知道存在192.168.1.3這個地址。因此,NAT“隱藏”了企業的私有網絡。
在實際應用中,我們可能希望某些內部網絡的主機可以訪問外部網絡,而某些主機不允許訪問;或者希望某些外部網絡的主機可以訪問內部網絡,而某些主機不允許訪問。即NAT設備隻對符合要求的報文進行地址轉換。
NAT設備可以利用ACL(Access Control List,訪問控製列表)來對地址轉換的使用範圍進行控製,通過定義ACL規則,並將其與NAT配置相關聯,實現隻對匹配指定的ACL permit規則的報文才進行地址轉換的目的。而且,NAT僅使用規則中定義的源IP地址、源端口號、目的IP地址、目的端口號、傳輸層協議類型和VPN實例這幾個元素進行報文匹配,忽略其它元素。
靜態地址轉換是指外部網絡和內部網絡之間的地址映射關係由配置確定,該方式適用於內部網絡與外部網絡之間存在固定訪問需求的組網環境。靜態地址轉換支持雙向互訪:內網用戶可以主動訪問外網,外網用戶也可以主動訪問內網。
源IP地址轉換方式是一種動態地址轉換方式,動態地址轉換是指內部網絡和外部網絡之間的地址映射關係在建立連接的時候動態產生。該方式通常適用於內部網絡有大量用戶需要訪問外部網絡的組網環境。
源IP地址轉換包括NO-PAT模式的地址轉換、基於端口的PAT模式的地址轉換和基於端口塊的PAT模式的地址轉換。
NO-PAT(Not Port Address Translation)模式下,一個外網地址同一時間隻能分配給一個內網地址進行地址轉換,不能同時被多個內網地址共用。當使用某外網地址的內網用戶停止訪問外網時,NAT會將其占用的外網地址釋放並分配給其他內網用戶使用。
該模式下,NAT設備隻對報文的IP地址進行NAT轉換,同時會建立一個NO-PAT表項用於記錄IP地址映射關係,並可支持所有IP協議的報文。
PAT(Port Address Translation)模式下,一個NAT地址可以同時分配給多個內網地址共用。該模式下,NAT設備需要對報文的IP地址和傳輸層端口同時進行轉換,且隻支持TCP、UDP和ICMP(Internet Control Message Protocol,互聯網控製消息協議)查詢報文。
圖1-2 PAT基本原理示意圖
如圖1-2所示,三個帶有內網地址的報文到達NAT設備,其中報文1和報文2來自同一個內網地址但有不同的源端口號,報文1和報文3來自不同的內網地址但具有相同的源端口號。通過PAT映射,三個報文的源IP地址都被轉換為同一個外網地址,但每個報文都被賦予了不同的源端口號,因而仍保留了報文之間的區別。當各報文的回應報文到達時,NAT設備仍能夠根據回應報文的目的IP地址和目的端口號來區別該報文應轉發到的內部主機。
采用PAT方式可以更加充分地利用IP地址資源,實現更多內部網絡主機對外部網絡的同時訪問。
目前,PAT支持兩種不同的地址轉換模式:
· Endpoint-Independent Mapping(不關心對端地址和端口轉換模式):隻要是來自相同源地址和源端口號的報文,不論其目的地址是否相同,通過PAT映射後,其源地址和源端口號都被轉換為同一個外部地址和端口號,該映射關係會被記錄下來並生成一個EIM表項;並且NAT設備允許所有外部網絡的主機通過該轉換後的地址和端口來訪問這些內部網絡的主機。這種模式可以很好的支持位於不同NAT網關之後的主機進行互訪。
· Address and Port-Dependent Mapping(關心對端地址和端口轉換模式):對於來自相同源地址和源端口號的報文,相同的源地址和源端口號並不要求被轉換為相同的外部地址和端口號,若其目的地址或目的端口號不同,通過PAT映射後,相同的源地址和源端口號通常會被轉換成不同的外部地址和端口號。與Endpoint-Independent Mapping模式不同的是,NAT設備隻允許這些目的地址對應的外部網絡的主機可以通過該轉換後的地址和端口來訪問這些內部網絡的主機。這種模式安全性好,但由於同一個內網主機地址轉換後的外部地址不唯一,因此不便於位於不同NAT網關之後的主機使用內網主機轉換後的地址進行互訪。
基於端口塊的PAT模式是一種基於端口範圍的PAT動態地址轉換,即一個私網IP地址在一個時間段內獨占一個公網IP地址的某個端口塊。例如:假設私網IP地址10.1.1.1獨占公網IP地址202.1.1.1的一個端口塊10001~10256,則該私網IP向公網發起的所有連接,源IP地址都將被轉換為同一個公網IP地址202.1.1.1,而源端口將被轉換為端口塊10001~10256之內的一個端口。
端口塊方式包括靜態映射和動態映射兩種,主要應用在NAT444或DS-Lite網絡中。
· 端口塊靜態映射
端口塊靜態映射是指,NAT網關設備根據配置自動計算私網IP地址到公網IP地址、端口塊的靜態映射關係,並創建靜態端口塊表項。當私網IP地址成員中的某個私網IP地址向公網發起新建連接時,根據私網IP地址匹配靜態端口塊表項,獲取對應的公網IP地址和端口塊,並從端口塊中動態為其分配一個公網端口,對報文進行地址轉換。
配置端口塊靜態映射時,需要創建一個端口塊組,並在端口塊組中配置私網IP地址成員、公網IP地址成員、端口範圍和端口塊大小。假設端口塊組中每個公網IP地址的可用端口塊數為m(即端口範圍除以端口塊大小),則端口塊靜態映射的算法如下:按照從小到大的順序對私網IP地址成員中的所有IP地址進行排列,最小的m個私網IP地址對應最小的公網IP地址及其端口塊,端口塊按照起始端口號從小到大的順序分配;次小的m個私網IP地址對應次小的公網IP地址及其端口塊,端口塊的分配順序相同;依次類推。
· 端口塊動態映射
當內網用戶向公網發起連接時,首先根據動態地址轉換中的ACL規則進行過濾,決定是否需要進行源地址轉換。對於需要進行源地址轉換的連接,當該連接為該用戶的首次連接時,從所匹配的動態地址轉換配置引用的NAT地址組中獲取一個公網IP地址,從該公網IP地址中動態分配一個端口塊,創建動態端口塊表項,然後從端口塊表項中動態分配一個公網端口,進行地址轉換。對該用戶後續連接的轉換,均從生成的動態端口塊表項中分配公網端口。當該用戶的所有連接都斷開時,回收為其分配的端口塊資源,刪除相應的動態端口塊表項。
端口塊動態映射支持增量端口塊分配。當為某私網IP地址分配的端口塊資源耗盡(端口塊中的所有端口都被使用)時,如果該私網IP地址向公網發起新的連接,則無法再從端口塊中獲取端口,無法進行地址轉換。此時,如果預先在相應的NAT地址組中配置了增量端口塊數,則可以為該私網IP地址分配額外的端口塊,進行地址轉換。
在實際應用中,內網中的服務器可能需要對外部網絡提供一些服務,例如給外部網絡提供Web服務,或是FTP服務。這種情況下,NAT設備允許外網用戶通過指定的NAT地址和端口訪問這些內部服務器,NAT內部服務器的配置就定義了NAT地址和端口與內網服務器地址和端口的映射關係。
如圖1-3所示,外部網絡用戶訪問內部網絡服務器的數據報文經過NAT設備時,NAT設備將報文的目的地址與接口上的NAT內部服務器配置進行匹配,並將匹配上的訪問內部服務器的請求報文的目的IP地址和端口號轉換成內部服務器的私有IP地址和端口號。當內部服務器回應該報文時,NAT設備再根據已有的地址映射關係將回應報文的源IP地址和端口號轉換成外網IP地址和端口號。
NAT設備處理一個連接的首報文時便確定了相應的地址轉換關係,並同時創建會話表項,該會話表項中添加了NAT擴展信息(例如接口信息、轉換方式)。會話表項中記錄了首報文的地址轉換信息。這類經過NAT處理的會話表項,也稱為NAT會話表項。
當該連接的後續報文經過NAT設備時,將與NAT會話表項進行匹配,NAT設備從匹配到的會話表項中得到首報文的轉換方式,並根據首報文的轉換方式對後續報文進行處理。後續報文方向與首報文相同時,源和目的的轉換方式與首報文相同;方向相反時,轉換方式與首報文相反。即,如果首報文轉換了源地址,則後續報文需要轉換目的地址;如果首報文轉換了目的地址,則後續報文需要轉換源地址。
NAT會話表項的更新和老化由會話管理模塊維護,關於會話管理的相關介紹請參見“安全配置指導”中的“會話管理”。
如果NAT設備上開啟了Endpoint-Independent Mapping模式,則在PAT方式的動態地址轉換過程中,會首先創建一個NAT會話表項,然後創建一個用於記錄地址和端口的轉換關係(內網地址和端口<-->NAT地址和端口)的EIM三元組表項,該表項有以下兩個作用:
· 保證後續來自相同源地址和源端口的新建連接與首次連接使用相同的轉換關係。
· 允許外網主機向NAT地址和端口發起的新建連接根據EIM表項進行反向地址轉換。
該表項在與其相關聯的所有NAT會話表項老化後老化。
在NO-PAT方式進行源地址的動態轉換過程中,NAT設備首先創建一個NAT會話表項,然後建立一個NO-PAT表項用於記錄該轉換關係(內網地址<-->NAT地址)。除此之外,在NAT設備進行ALG處理時,也會觸發創建NO-PAT表項。NAT ALG的相關介紹請參見“1.8 NAT支持ALG”。
NO-PAT表項有以下兩個作用:
· 保證後續來自相同源地址的新建連接與首次連接使用相同的轉換關係。
· 允許滿足指定條件的主機向NAT地址發起的新建連接根據NO-PAT表項進行反向地址轉換。
該表項在與其相關聯的所有NAT會話表項老化後老化。
端口塊表項記錄1個用戶在網關轉換前的私網IP地址、轉換後對應的公網IP地址及其端口塊。端口塊表項分為靜態端口塊表項和動態端口塊表項。關於端口塊表項的詳細介紹,請參見“1.4.2 3. 基於端口塊的PAT模式”。
支持多VPN實例的NAT允許VPN實例內的用戶訪問外部網絡,同時允許分屬於不同VPN實例的用戶互訪。例如,當某VPN實例內的用戶經過NAT設備訪問外部網絡時,NAT將內部網絡主機的IP地址和端口替換為NAT地址和端口,同時還記錄了用戶的VPN實例信息(如VPN實例名稱)。外部網絡的回應報文到達NAT設備時,NAT將外部網絡地址和端口還原為內部網絡主機的IP地址和端口,同時可得知該回應報文應該轉發給哪一個VPN實例內的用戶。另外,NAT還可利用外部網絡地址所攜帶的VPN實例信息,支持多個VPN實例之間的互訪。
同時,NAT內部服務器也支持多VPN實例,這給外部網絡提供了訪問VPN實例內服務器的機會。例如,VPN1內提供Web服務的主機地址是10.110.1.1,可以使用202.110.10.20作為Web服務器的外部地址,Internet的用戶使用202.110.10.20的地址就可以訪問到VPN1提供的Web服務。
NAT hairpin功能用於滿足位於內網側的用戶之間或內網側的用戶與服務器之間通過NAT地址進行訪問的需求。開啟NAT hairpin的內網側接口上會對報文同時進行源地址和目的地址的轉換。它支持兩種組網模式:
· P2P:位於內網側的用戶之間通過動態分配的NAT地址互訪。內網各主機首先向外網服務器注冊自己的內網地址信息,該地址信息為外網側出方向地址轉換的NAT地址,然後內網主機之間通過使用彼此向外網服務器注冊的外網地址進行互訪。
· C/S:位於內網側的用戶使用NAT地址訪問內網服務器。NAT在內網接口上同時轉換訪問內網服務器的報文的源和目的IP地址,其中,目的IP地址轉換通過匹配某外網接口上的內部服務器配置來完成,源地址轉換通過匹配內部服務器所在接口上的出方向動態地址轉換或出方向靜態地址轉換來完成。
ALG(Application Level Gateway,應用層網關)主要完成對應用層報文的解析和處理。通常情況下,NAT隻對報文頭中的IP地址和端口信息進行轉換,不對應用層數據載荷中的字段進行分析和處理。然而對於一些應用層協議,它們的報文的數據載荷中可能包含IP地址或端口信息,這些載荷信息也必須進行有效的轉換,否則可能導致功能不正常。
例如,FTP(File Transfer Protocol,文件傳輸協議)應用由FTP客戶端與FTP服務器之間建立的數據連接和控製連接共同實現,而數據連接使用的地址和端口由控製連接協商報文中的載荷信息決定,這就需要ALG利用NAT的相關轉換配置完成載荷信息的轉換,以保證後續數據連接的正確建立。
一般情況下,DNS(Domain Name System,域名係統)服務器和訪問私網服務器的用戶都在公網,通過在NAT設備的公網接口上配置內部服務器,可以將公網地址、端口等信息映射到私網內的服務器上,使得公網用戶可以通過內部服務器的域名或公網地址來訪問內部服務器。但是,如圖1-4所示,如果DNS服務器在公網,私網用戶希望通過域名來訪問私網的Web服務器,則會由於DNS服務器向私網用戶發送的響應報文中包含的是私網服務器的公網地址,而導致收到響應報文的私網用戶無法利用域名訪問私網服務器。通過在設備上配置DNS mapping可以解決該問題。
圖1-4 NAT DNS mapping工作示意圖
NAT DNS mapping功能是指,通過配置“域名+公網IP地址+公網端口號+協議類型”的映射表,建立內部服務器域名與內部服務器公網信息的對應關係。在配置了NAT的接口上,設備檢查接收到的DNS響應報文,根據報文中的域名查找用戶配置的DNS mapping映射表,並根據表項內的“公網地址+公網端口+協議類型”信息查找內部服務器地址映射表中該信息對應的私網地址,替換DNS查詢結果中的公網地址。這樣,私網用戶收到的DNS響應報文中就包含了要訪問的內部服務器的私網地址,也就能夠使用內部服務器域名訪問同一私網內的內部服務器。
NAT444是運營商網絡部署NAT的整體解決方案,它基於NAT444網關,結合AAA服務器、日誌服務器等配套係統,提供運營商級的NAT,並支持用戶溯源等功能。在眾多IPv4向IPv6網絡過渡的技術中,NAT444僅需在運營商側引入二次NAT,對終端和應用服務器端的更改較小,並且NAT444通過端口塊分配方式解決用戶溯源等問題,因此成為了運營商的首選IPv6過渡方案。
通過在CR設備上安裝處理NAT業務的slot或者旁掛NAT444設備來實現NAT444。如圖1-5所示,用戶訪問外部網絡時,CPE設備上進行第一次NAT轉換,然後在BRAS上完成AAA認證和私網地址的分配,認證通過後,用戶發起訪問外網的報文會在NAT444網關上進行NAT444轉換(第二次NAT轉換)。
圖1-5 NAT444集中部署組網圖
DS-Lite(Dual Stack Lite,輕量級雙協議棧)技術綜合了IPv4 over IPv6隧道技術和NAT技術,利用隧道技術實現通過IPv6網絡連接隔離的IPv4網絡。
在DS-Lite網絡中,B4設備為用戶網絡的網關或者運行DS-Lite客戶端軟件的用戶主機,AFTR設備作為隧道端點設備和NAT網關負責執行隧道報文的封裝、解封裝以及對解封裝後的IPv4地址進行轉換。有關DS-Lite隧道的詳細介紹,請參見“VPN配置指導”中的“隧道”。
圖1-6 DS-Lite網絡組網圖
在該組網環境下,AFTR設備可基於B4的IPv6地址對B4分配端口塊,DS-Lite主機或所有以B4為網關的私網主機共用該B4的端口塊訪問IPv4網絡。該方式支持對DS-Lite主機基於端口塊的溯源。
目前,僅支持對B4進行動態映射方式的端口塊分配。
NAT通用配置限製和指導如下:
· 如果NAT規則中使用了ACL進行報文過濾,則NAT隻對匹配指定的ACL permit規則的報文才進行地址轉換,匹配時僅關注ACL規則中定義的源IP地址、源端口號、目的IP地址、目的端口號、傳輸層協議類型和VPN實例,不關注ACL規則中定義的其它元素。
· 在雙上行鏈路組網環境中,一個出接口配置了地址轉換,另一個出接口沒有配置地址轉換,這種情況下,建議用戶不要將兩個出接口添加到同一個安全域,否則可能導致流量中斷。關於“安全域”的相關介紹,請參見“基礎配置指導”中的“安全域”。
· 若接口上同時存在普通NAT靜態地址轉換、普通NAT動態地址轉換、內部服務器、NAT444端口塊靜態映射、NAT444端口塊動態映射和DS-Lite B4地址轉換的配置,則在地址轉換過程中,它們的優先級從高到低依次為:
a. 內部服務器。
b. 普通NAT靜態地址轉換。
c. NAT444端口塊靜態映射。
d. NAT444端口塊動態映射和普通NAT動態地址轉換,係統在處理IPv4報文時對二者不做區分,統一按照ACL編號由大到小的順序匹配。
e. DS-Lite B4地址轉換的處理優先級與NAT444端口塊動態映射和NAT動態地址轉換處於同一個級別,隻不過DS-Lite B4地址轉換處理的是IPv6報文。
通過調整NAT規則的位置,可以改變同一類NAT規則的匹配順序。調整NAT規則的匹配順序後,NAT規則的匹配優先級的值也會發生變化,具體規則為:
· 將nat-rule-name1移動到nat-rule-name2後麵,nat-rule-name2的匹配優先級的值不變,nat-rule-name1的匹配優先級的值=nat-rule-name2的匹配優先級的值+1。
· 將nat-rule-name1移動到nat-rule-name2前麵,nat-rule-name2的匹配優先級的值不變,nat-rule-name1的匹配優先級的值=nat-rule-name2的匹配優先級的值-1。
NAT配置任務如下:
(1) 配置接口上的地址轉換方式
NAT策略可以控製多個接口的地址轉換,靈活指定報文的過濾條件。
(2) (可選)配置動態地址轉換的備份組
需要使用QoS策略將流量重定向到本設備的備份組。關於備份組的詳細介紹,請參見“可靠性配置指導”中的“備份組”。
(3) (可選)配置NAT hairpin功能
(4) (可選)配置NAT ALG
(5) (可選)配置NAT負載分擔相關功能
(6) (可選)配置NAT統計與檢測相關功能
(7) (可選)配置NAT日誌功能
(8) (可選)配置NAT生成OpenFlow流表
(9) (可選)開啟NAT轉換失敗發送ICMP差錯報文功能
(10) (可選)開啟反向報文的重定向功能
(11) (可選)開啟對TCP SYN和SYN ACK報文中時間戳的刪除功能
(12) (可選)開啟主備鏈路切換後的NAT會話重建功能
入方向的靜態地址轉換建議與接口上的出方向動態地址轉換(nat outbound)、內部服務器(nat server)或出方向靜態地址轉換(nat static outbound)配合使用,以實現雙向NAT。
配置入方向靜態地址轉換時,需要配置經由NAT轉換接口到達轉換後NAT地址的路由。
· 配置控製地址轉換範圍的ACL。ACL配置的相關介紹請參見“ACL和QoS配置指導”中的“ACL”。
· 對於入方向靜態地址轉換,需要手動添加路由:目的地址為靜態地址轉換配置中指定的local-ip或local-network;下一跳為靜態地址轉換配置中指定的外網地址,或者報文出接口的實際下一跳地址。
出方向一對一靜態地址轉換通常應用在外網側接口上,用於實現一個內部私有網絡地址到一個外部公有網絡地址的轉換,具體過程如下:
· 對於經過該接口發送的內網訪問外網的報文,將其源IP地址與指定的內網IP地址local-ip進行匹配,並將匹配的源IP地址轉換為global-ip。
· 對於該接口接收到的外網訪問內網的報文,將其目的IP地址與指定的外網IP地址global-ip進行匹配,並將匹配的目的IP地址轉換為local-ip。
(1) 進入係統視圖。
system-view
(2) 配置出方向一對一靜態地址轉換映射。
nat static outbound local-ip [ vpn-instance local-vpn-instance-name ] global-ip [ vpn-instance global-vpn-instance-name ] [ acl { ipv4-acl-number | name ipv4-acl-name } [ reversible ] ] [ rule rule-name ] [ priority priority ] [ disable ] [ counting ]
(3) (可選)調整出方向一對一靜態NAT規則的匹配優先級。
nat static outbound rule move nat-rule-name1 { after | before } nat-rule-name2
(4) 進入接口視圖。
interface interface-type interface-number
(5) 開啟接口上的NAT靜態地址轉換功能。
nat static enable
缺省情況下,NAT靜態地址轉換功能處於關閉狀態。
出方向網段對網段靜態地址轉換通常應用在外網側接口上,用於實現一個內部私有網絡到一個外部公有網絡的地址轉換,具體過程如下:
· 對於經過該接口發送的內網訪問外網的報文,將其源IP地址與指定的內網網絡地址進行匹配,並將匹配的源IP地址轉換為指定外網網絡地址之一。
· 對於該接口接收到的外網訪問內網的報文,將其目的IP地址與指定的外網網絡地址進行匹配,並將匹配的目的IP地址轉換為指定的內網網絡地址之一。
(1) 進入係統視圖。
system-view
(2) 配置出方向網段對網段靜態地址轉換映射。
nat static outbound net-to-net local-start-address local-end-address [ vpn-instance local-vpn-instance-name ] global global-network { mask-length | mask } [ vpn-instance global-vpn-instance-name ] [ acl { ipv4-acl-number | name ipv4-acl-name } [ reversible ] ] [ rule rule-name ] [ priority priority ] [ disable ] [ counting ]
(3) 進入接口視圖。
interface interface-type interface-number
(4) 開啟接口上的NAT靜態地址轉換功能。
nat static enable
缺省情況下,NAT靜態地址轉換功能處於關閉狀態。
基於對象組的出方向靜態地址轉換通常應用在外網側接口上,用於實現一個內部私有網絡地址到一個外部公有網絡地址的轉換,具體過程如下:
· 對於經過該接口發送的內網訪問外網的報文,將其源IP地址與指定的內網IPv4地址對象組進行匹配,並將匹配的源IP地址轉換為外網IPv4地址對象組中的地址。
· 對於該接口接收到的外網訪問內網的報文,將其目的IP地址與指定的外網IPv4地址對象組進行匹配,並將匹配的目的IP地址轉換為內網IPv4地址對象組中的地址。
如果接口上配置的靜態地址轉換映射中指定了acl參數,則僅對符合指定ACL permit規則的報文進行地址轉換。
基於地址對象組的出方向靜態地址轉換引用的IPv4地址對象組中,隻能存在一個主機對象(host)或者一個子網對象(subnet),否則引用不生效。
(1) 進入係統視圖。
system-view
(2) 配置基於對象組的出方向靜態地址轉換映射。
nat static outbound object-group local-object-group-name [ vpn-instance local-vpn-instance-name ] object-group global-object-group-name [ vpn-instance global-vpn-instance-name ] [ acl { ipv4-acl-number | name ipv4-acl-name } [ reversible ] ] [ disable ] [ counting ]
缺省情況下,不存在地址轉換映射。
(3) 進入接口視圖。
interface interface-type interface-number
(4) 開啟接口上的NAT靜態地址轉換功能。
nat static enable
缺省情況下,NAT靜態地址轉換功能處於關閉狀態。
入方向一對一靜態地址轉換用於實現一個內部私有網絡地址與一個外部公有網絡地址之間的轉換,具體過程如下:
· 對於經過該接口發送的內網訪問外網的報文,將其目的IP地址與指定的內網IP地址local-ip進行匹配,並將匹配的目的IP地址轉換為global-ip。
· 對於該接口接收到的外網訪問內網的報文,將其源IP地址與指定的外網IP地址global-ip進行匹配,並將匹配的源IP地址轉換為local-ip。
(1) 進入係統視圖。
system-view
(2) 配置入方向一對一靜態地址轉換映射。
nat static inbound global-ip [ vpn-instance global-vpn-instance-name ] local-ip [ vpn-instance local-vpn-instance-name ] [ acl { ipv4-acl-number | name ipv4-acl-name } [ reversible ] ] [ rule rule-name ] [ priority priority ] [ disable ] [ counting ]
(3) 進入接口視圖。
interface interface-type interface-number
(4) 開啟接口上的NAT靜態地址轉換功能。
nat static enable
缺省情況下,NAT靜態地址轉換功能處於關閉狀態。
入方向網段對網段靜態地址轉換用於實現一個內部私有網絡與一個外部公有網絡之間的地址轉換,具體過程如下:
· 對於經過該接口發送的內網訪問外網的報文,將其目的IP地址與指定的內網網絡地址進行匹配,並將匹配的目的IP地址轉換為指定的外網網絡地址之一。
· 對於該接口接收到的外網訪問內網的報文,將其源IP地址與指定的外網網絡地址進行匹配,並將匹配的源IP地址轉換為指定的內網網絡地址之一。
(1) 進入係統視圖。
system-view
(2) 配置入方向網段對網段靜態地址轉換映射。
nat static inbound net-to-net global-start-address global-end-address [ vpn-instance global-vpn-instance-name ] local local-network { mask-length | mask } [ vpn-instance local-vpn-instance-name ] [ acl { ipv4-acl-number | name ipv4-acl-name } [ reversible ] ] [ rule rule-name ] [ priority priority ] [ disable ] [ counting ]
(3) 進入接口視圖。
interface interface-type interface-number
(4) 開啟接口上的NAT靜態地址轉換功能。
nat static enable
缺省情況下,NAT靜態地址轉換功能處於關閉狀態。
基於對象組的入方向靜態地址轉換用於實現一個內部私有網絡地址與一個外部公有網絡地址之間的轉換,具體過程如下:
· 對於經過該接口發送的內網訪問外網的報文,將其目的IP地址與指定的內網IPv4地址對象組進行匹配,並將匹配的目的IP地址轉換為指定的外網IPv4地址對象組中的地址。
· 對於該接口接收到的外網訪問內網的報文,將其源IP地址與指定的外網IPv4地址對象組進行匹配,並將匹配的源IP地址轉換為指定的內網IPv4地址對象組中的地址。
如果接口上配置的靜態地址轉換映射中指定了acl參數,則僅對符合指定ACL permit規則的報文進行地址轉換。
基於地址對象組的入方向靜態地址轉換引用的IPv4地址對象組中,隻能存在一個主機對象(host)或者一個子網對象(subnet),否則引用不生效。
如果接口上配置的基於地址對象組的入方向靜態地址轉換所引用的內網IPv4地址對象組中配置了主機對象,那麼該主機對象的IP地址不能與該接口的IP地址處於同一網段。
(1) 進入係統視圖。
system-view
(2) 配置基於對象組的入方向靜態地址轉換映射。
nat static inbound object-group global-object-group-name [ vpn-instance global-vpn-instance-name ] object-group local-object-group-name [ vpn-instance local-vpn-instance-name ] [ acl { ipv4-acl-number | name ipv4-acl-name } [ reversible ] ] [ disable ] [ counting ]
缺省情況下,不存在地址轉換映射。
(3) 進入接口視圖。
interface interface-type interface-number
(4) 開啟接口上的NAT靜態地址轉換功能。
nat static enable
缺省情況下,NAT靜態地址轉換功能處於關閉狀態。
在同時配置了多條動態地址轉換的情況下:
· 指定了ACL參數的動態地址轉換配置的優先級高於未指定ACL參數的動態地址轉換配置;
· 對於指定了ACL參數的動態地址轉換配置,其優先級由ACL編號的大小決定,編號越大,優先級越高。
對於多形態防火牆設備,如果NO-PAT方式的地址轉換需要進行DNS ALG處理,則配置的地址組成員個數應不少於處理安全業務的slot數乘以內部服務器數的個數,從而保證每個處理NAT業務的安全引擎上都有足夠的地址資源用於轉換。
配置入方向靜態地址轉換時,需要配置經由NAT轉換接口到達轉換後NAT地址的路由。
· 配置控製地址轉換範圍的ACL。ACL配置的相關介紹請參見“ACL和QoS配置指導”中的“ACL”。
· 確定是否直接使用接口的IP地址作為轉換後的報文源地址。
· 配置根據實際網絡情況,合理規劃可用於地址轉換的公網IP地址組。
· 確定地址轉換過程中是否使用端口信息。
出方向動態地址轉換通常應用在外網側接口上,用於實現一個內部私有網絡地址到一個外部公有網絡地址的轉換。
(1) 進入係統視圖。
system-view
(2) 創建NAT地址組,並進入NAT地址組視圖。
nat address-group group-id [ name group-name ]
(3) 添加地址組成員。
address start-address end-address
可通過多次執行本命令添加多個地址組成員。
當前地址組成員的IP地址段不能與該地址組中或者其它地址組中已有的地址成員組成員重疊。
(4) (可選)配置禁止用於地址轉換的IP地址。
exclude-ip start-address end-address
end-address必須大於或等於start-address,如果start-address和end-address相同,則表示隻有一個地址。
(5) 退回係統視圖。
quit
(6) 進入接口視圖。
interface interface-type interface-number
(7) 配置出方向動態地址轉換。請至少選擇其中一項進行配置。
¡ NO-PAT方式。
nat outbound [ ipv4-acl-number | name ipv4-acl-name ] address-group { group-id | name group-name } [ vpn-instance vpn-instance-name ] no-pat [ reversible ] [ rule rule-name ] [ priority priority ] [ disable ] [ description text ] [ counting ]
¡ PAT方式。
nat outbound [ ipv4-acl-number | name ipv4-acl-name ] [ address-group { group-id | name group-name } ] [ vpn-instance vpn-instance-name ] [ port-preserved ] [ rule rule-name ] [ priority priority ] [ disable ] [ description text ] [ counting ]
一個接口下可配置多個出方向的動態地址轉換。
參數 |
功能 |
address-group |
不指定該參數時,則直接使用該接口的IP地址作為轉換後的地址,即實現Easy IP功能 |
no-pat reversible |
在指定該參數,並且已經存在NO-PAT表項的情況下,對於經過該接口收到的外網訪問內網的首報文,將其目的IP地址與NO-PAT表項進行匹配,並將目的IP地址轉換為匹配的NO-PAT表項中記錄的內網地址 |
(8) (可選)配置PAT方式地址轉換的模式。
a. 退回係統視圖。
quit
b. 配置PAT方式地址轉換的模式。
nat mapping-behavior endpoint-independent [ acl { ipv4-acl-number | name ipv4-acl-name } ]
缺省情況下,PAT方式地址轉換的模式為Address and Port-Dependent Mapping。
該配置隻對PAT方式的出方向動態地址轉換有效。
(9) (可選)調整出方向動態NAT規則的匹配優先級。
nat outbound rule move nat-rule-name1 { after | before } nat-rule-name2
入方向動態地址轉換功能通常與接口上的出方向動態地址轉換(nat outbound)、內部服務器(nat server)或出方向靜態地址轉換(nat static outbound)配合,用於實現雙向NAT應用,不建議單獨使用。
由於自動添加路由表項速度較慢,通常建議手工添加路由。
(1) 進入係統視圖。
system-view
(2) 創建NAT地址組,並進入NAT地址組視圖。
nat address-group group-id [ name group-name ]
(3) 添加地址組成員。
address start-address end-address
可通過多次執行本命令添加多個地址組成員。
當前地址組成員的IP地址段不能與該地址組中或者其它地址組中已有的地址組成員重疊。
(4) (可選)配置禁止用於地址轉換的IP地址。
exclude-ip start-address end-address
end-address必須大於或等於start-address,如果start-address和end-address相同,則表示隻有一個地址。
(5) 退回係統視圖。
quit
(6) 進入接口視圖。
interface interface-type interface-number
(7) 配置入方向動態地址轉換。
nat inbound { ipv4-acl-number | name ipv4-acl-name } address-group { group-id | name group-name } [ vpn-instance vpn-instance-name ] [ no-pat [ reversible ] [ add-route ] ] [ rule rule-name ] [ priority priority ] [ disable ] [ description text ] [ counting ]
一個接口下可配置多個入方向的動態地址轉換。
參數 |
功能 |
no-pat reversible |
指定該參數,並且已經存在NO-PAT表項的情況下,對於經過該接口發送的內網訪問外網的首報文,將其目的IP地址與NO-PAT表項進行匹配,並將目的IP地址轉換為匹配的NO-PAT表項中記錄的外網地址 |
add-route |
· 指定該參數,則有報文命中該配置時,設備會自動添加路由表項:目的地址為本次地址轉換使用的地址組中的地址,出接口為本配置所在接口,下一跳地址為報文的源地址 · 沒有指定該參數,則用戶需要在設備上手工添加路由 |
(8) (可選)調整入方向動態NAT規則的匹配優先級。
nat inbound rule move nat-rule-name1 { after | before } nat-rule-name2
內部服務器通常配置在外網側接口上。通過在NAT設備上配置內部服務器,建立一個或多個內網服務器內網地址和端口與外網地址和端口的映射關係,使外部網絡用戶能夠通過配置的外網地址和端口來訪問內網服務器。內部服務器可以位於一個普通的內網內,也可以位於一個VPN實例內。
內部服務器可以通過如下配置方式實現。
· 普通內部服務器:將內網服務器的地址和端口映射為外網地址和端口,允許外部網絡中的主機通過配置的外網地址和端口訪問位於內網的服務器。
· 負載分擔內部服務器:在配置內部服務器時,將內部服務器的內網信息指定為一個內部服務器組,組內的多台主機可以共同對外提供某種服務。外網用戶向內部服務器指定的外網地址發起應用請求時,NAT設備可根據內網服務器的權重和當前連接數,選擇其中一台內網服務器作為目的服務器,實現內網服務器負載分擔。
· 基於ACL的內部服務器:普通內部服務器方式必須指定公網地址,基於ACL內部服務器不用指定具體的公網地址,而是指定公網地址的集合,即通過ACL規則匹配過濾的一部分公網地址。對於符合ACL規則的報文,它的目的地址統一轉換成相同的內部服務器地址和端口,它是普通內部服務器的擴展。
在配置負載均衡內部服務器時,若配置一個外網地址,N個連續的外網端口號對應一個內部服務器組,或N個連續的外網地址,一個外網端口號對應一個內部服務器組,則內部服務器組的成員個數不能小於N,即同一用戶不能通過不同的外網地址或外網端口號訪問相同內網服務器的同一服務。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置普通內部服務器。請至少選擇其中一項進行配置。
¡ 外網地址單一,未使用外網端口或外網端口單一。
nat server [ protocol pro-type ] global { global-address | current-interface | interface interface-type interface-number } [ global-port ] [ vpn-instance global-vpn-instance-name ] inside local-address [ local-port ] [ vpn-instance local-vpn-instance-name ] [ acl { ipv4-acl-number | name ipv4-acl-name } ] [ reversible ] [ rule rule-name ] [ disable ] [ description text ] [ counting ]
¡ 外網地址單一,外網端口連續。
nat server protocol pro-type global { global-address | current-interface | interface interface-type interface-number } global-port1 global-port2 [ vpn-instance global-vpn-instance-name ] inside { { local-address | local-address1 local-address2 } local-port | local-address local-port1 local-port2 } [ vpn-instance local-vpn-instance-name ] [ acl { ipv4-acl-number | name ipv4-acl-name } ] [ rule rule-name ] [ disable ] [ description text ] [ counting ]
¡ 外網地址連續,未使用外網端口或外網端口單一。
nat server protocol pro-type global global-address1 global-address2 [ global-port ] [ vpn-instance global-vpn-instance-name ] inside { local-address | local-address1 local-address2 } [ local-port ] [ vpn-instance local-vpn-instance-name ] [ acl { ipv4-acl-number | name ipv4-acl-name } ] [ rule rule-name ] [ disable ] [ description text ] [ counting ]
¡ 外網地址連續,外網端口單一。
nat server protocol pro-type global global-address1 global-address2 global-port [ vpn-instance global-vpn-instance-name ] inside local-address local-port1 local-port2 [ vpn-instance local-vpn-instance-name ] [ acl { ipv4-acl-number | name ipv4-acl-name } ] [ rule rule-name ] [ disable ] [ description text ] [ counting ]
一個接口下可以配置多個普通內部服務器。
(1) 進入係統視圖。
system-view
(2) 配置內部服務器組,並進入服務器組視圖。
nat server-group group-id
(3) 添加內部服務器組成員。
inside ip inside-ip port port-number [ weight weight-value ]
一個內部服務器組內可以添加多個組成員。
(4) 退回係統視圖。
quit
(5) 進入接口視圖。
interface interface-type interface-number
(6) 配置負載分擔內部服務器。
nat server protocol pro-type global { { global-address | current-interface | interface interface-type interface-number } { global-port | global-port1 global-port2 } | global-address1 global-address2 global-port } [ vpn-instance global-vpn-instance-name ] inside server-group group-id [ vpn-instance local-vpn-instance-name ] [ acl { ipv4-acl-number | name ipv4-acl-name } ] [ rule rule-name ] [ disable ] [ description text ] [ counting ]
一個接口下可以配置多個負載分擔內部服務器。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置基於ACL的內部服務器。
nat server global { ipv4-acl-number | name ipv4-acl-name } inside local-address [ local-port ] [ vpn-instance local-vpn-instance-name ] [ rule rule-name ] [ priority priority ] [ disable ] [ description text ] [ counting ]
一個接口下可以配置多個基於ACL的內部服務器。
(4) (可選)調整基於ACL內部服務器NAT規則的匹配優先級。
nat server rule move nat-rule-name1 { after | before } nat-rule-name2
基於對象組的內部服務器使用地址對象組和服務對象組作為報文匹配條件,對於符合匹配條件的報文,它的目的地址和端口統一轉換成相同的內部服務器地址和端口。關於對象組的詳細介紹,請參見“安全配置指導”中的“對象組”。
當存在多條基於對象組的NAT內部服務器規則時,報文會按照配置順序與這些規則進行匹配,一旦匹配上某條規則便結束匹配過程。
引用的服務對象組中,隻有服務對象組的協議類型是TCP或UDP時,配置的內部服務器的內網端口號才會生效。
每個內部服務器最多可引用5個地址對象組和1個服務對象組。
創建IPv4地址對象組或服務對象組。其中,IPv4地址對象組中不能存在排除的IPv4地址。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置基於對象組的內部服務器。
nat server rule rule-name global destination-ip object-group-name&<1-5> [ service object-group-name ] inside local-address [ local-port ] [ disable ] [ description text ] [ counting ]
缺省情況下,不存在基於對象組的內部服務器。
(4) 添加內部服務器引用的對象組。
nat server rule rule-name global { destination-ip object-group-name&<1-5> | service object-group-name }
隻能向已經存在的基於對象組的NAT內部服務器規則中添加對象組。
NAT444是出方向地址轉換,通常配置在外網側接口上。通過在NAT444網關設備上配置NAT444地址轉換,可以實現基於端口塊的公網IP地址複用,使一個私網IP地址在一個時間段內獨占一個公網IP地址的某個端口塊。
對於NAT444端口動態映射,必須在NAT地址組中配置端口塊參數,以實現基於端口塊的NAT444地址轉換。
(1) 進入係統視圖。
system-view
(2) 創建NAT端口塊組,並進入NAT端口塊組視圖。
nat port-block-group group-id
(3) 添加私網地址成員。
local-ip-address start-address end-address [ vpn-instance vpn-instance-name ]
一個端口塊組內,可以配置多個私網地址成員,但各私網地址成員之間的IP地址不能重疊。
(4) 添加公網地址成員。
global-ip-pool start-address end-address
一個端口塊組內,可以配置多個公網地址成員,但各公網地址成員之間的IP地址不能重疊。
(5) 配置公網地址的端口範圍。
port-range start-port-number end-port-number
缺省情況下,公網地址的端口範圍為1~65535。
(6) 配置端口塊大小。
block-size block-size
缺省情況下,端口塊大小為256。
(7) 退回係統視圖。
quit
(8) 進入接口視圖。
interface interface-type interface-number
(9) 配置NAT444端口塊靜態映射。
nat outbound port-block-group group-id [ rule rule-name ] [ counting ]
一個接口下可配置多條基於不同端口塊組的NAT444端口塊靜態映射。
(10) (可選)配置PAT方式出方向動態地址轉換的模式。
a. 退回係統視圖。
quit
b. 配置PAT方式出方向動態地址轉換的模式。
nat mapping-behavior endpoint-independent [ acl { ipv4-acl-number | name ipv4-acl-name } ]
缺省情況下,PAT方式出方向動態地址轉換的模式為Address and Port-Dependent Mapping。
(1) 進入係統視圖。
system-view
(2) (可選)配置PAT方式地址轉換的模式。
nat mapping-behavior endpoint-independent [ acl { ipv4-acl-number | name ipv4-acl-name } ]
缺省情況下,PAT方式出方向動態地址轉換的模式為Address and Port-Dependent Mapping。
(3) 創建NAT地址組,並進入NAT地址組視圖。
nat address-group group-id [ name group-name ]
(4) 添加地址組成員。
address start-address end-address
可通過多次執行本命令添加多個地址組成員。
當前地址組成員的IP地址段不能與該地址組中或者其它地址組中已有的地址成員組成員重疊。
(5) (可選)配置禁止用於地址轉換的IP地址。
exclude-ip start-address end-address
end-address必須大於或等於start-address,如果start-address和end-address相同,則表示隻有一個地址。
(6) (可選)配置端口範圍。
port-range start-port-number end-port-number
缺省情況下,端口範圍為1~65535。
該配置僅對PAT方式地址轉換生效。
(7) 配置端口塊參數。
port-block block-size block-size [ extended-block-number extended-block-number ]
該配置僅對PAT方式地址轉換生效。
(8) 退回係統視圖。
quit
(9) 進入接口視圖。
interface interface-type interface-number
(10) 配置PAT方式出方向動態地址轉換。
nat outbound [ ipv4-acl-number | name ipv4-acl-name ] [ address-group { group-id ] | name group-name } [ vpn-instance vpn-instance-name ] [ port-preserved ] [ rule rule-name ] [ priority priority ] [ disable ] [ description text ] [ counting ]
port-preserved參數對NAT444端口塊動態映射無效。
(11) (可選)開啟NAT動態端口塊熱備份功能。
a. 退回係統視圖。
quit
b. 開啟NAT動態端口塊熱備份功能。
nat port-block synchronization enable
缺省情況下,NAT動態端口塊熱備份功能處於關閉狀態。
在已配置NAT444端口塊動態映射的情況下,當同一個源IP地址的報文從不同出接口進行NAT地址轉換時,可能會分配到不同的端口塊。如果需要使同一個源IP地址分配到相同的端口塊,請開啟端口塊全局共享功能。
(1) 進入係統視圖。
system-view
(2) 配置NAT444端口塊全局共享功能。
nat port-block global-share enable
缺省情況下,端口塊全局共享功能處於關閉狀態。
DS-Lite B4地址轉換配置在外網側接口上,關聯IPv6 ACL控製地址轉換範圍,目前僅支持端口塊動態映射方式。
(1) 進入係統視圖。
system-view
(2) (可選)配置PAT方式地址轉換的模式。
nat mapping-behavior endpoint-independent [ acl { ipv4-acl-number | name ipv4-acl-name } ]
缺省情況下,PAT方式出方向動態地址轉換的模式為Address and Port-Dependent Mapping。
(3) 創建NAT地址組,並進入NAT地址組視圖。
nat address-group group-id [ name group-name ]
(4) 添加地址組成員。
address start-address end-address
可通過多次執行本命令添加多個地址組成員。
當前地址組成員的IP地址段不能與該地址組中或者其它地址組中已有的地址成員組成員重疊。
(5) (可選)配置禁止用於地址轉換的IP地址。
exclude-ip start-address end-address
end-address必須大於或等於start-address,如果start-address和end-address相同,則表示隻有一個地址。
(6) 配置端口範圍。
port-range start-port-number end-port-number
缺省情況下,端口範圍為1-65535。
該配置僅對PAT方式地址轉換生效。
(7) 配置端口塊參數。
port-block block-size block-size [ extended-block-number extended-block-number ]
該配置僅對PAT方式地址轉換生效。
(8) 退回係統視圖。
quit
(9) 進入接口視圖。
interface interface-type interface-number
(10) 配置DS-Lite B4端口塊映射。
nat outbound ds-lite-b4 { ipv6-acl-number | name ipv6-acl-name } address-group group-id
(11) (可選)開啟NAT動態端口塊熱備份功能。
a. 退回係統視圖。
quit
b. 開啟NAT動態端口塊熱備份功能。
nat port-block synchronization enable
缺省情況下,NAT動態端口塊熱備份功能處於關閉狀態。
接口NAT策略根據報文的源IP地址、目的IP地址和攜帶的服務類型對多個接口出方向報文的地址轉換進行控製。接口NAT策略中可以包含多條NAT規則,設備通過接口出方向上應用的NAT規則中引用的對象組識別出特定的報文,並根據預先設定的動作類型對其進行地址轉換。
若NAT規則未引用任何對象組,則該規則將匹配任意報文。
NAT策略目前僅支持動態地址轉換,其優先級高於接口下的動態地址轉換。
(1) 進入係統視圖。
system-view
(2) 創建接口NAT策略,並進入接口NAT策略視圖。
nat policy
缺省情況下,不存在接口NAT策略。
當接口NAT策略中包含多條規則時,報文會按照配置順序與這些規則進行匹配,一旦匹配上某條規則便結束匹配過程。NAT規則的配置順序可在接口NAT策略視圖下通過display this命令查看,配置順序與規則的創建順序有關,先創建的規則處在配置順序的優先位置。
(1) 進入係統視圖。
system-view
(2) 進入接口NAT策略視圖。
nat policy
(3) 創建NAT規則,並進入NAT規則視圖。
rule name rule-name
缺省情況下,不存在NAT規則。
(4) (可選)配置NAT規則的描述信息。
description text
缺省情況下,NAT規則未配置任何描述信息。
(5) 指定NAT規則的出接口。
outbound-interface interface-type interface-name
缺省情況下,未指定NAT規則的出接口。
(6) 配置NAT規則引用的對象組。請至少選擇其中一項進行配置。
¡ 配置NAT規則源地址對象組。
source-ip object-group-name
源地址對象組用於匹配報文的源IP地址。
¡ 配置NAT規則引用目的地址對象組。
destination-ip object-group-name
目的地址對象組用於匹配報文的目的IP地址。
¡ 配置NAT規則引用服務對象組。
service object-group-name
服務對象組用於匹配報文攜帶的服務類型。
缺省情況下,未配置NAT規則引用的對象組。
NAT規則引用的對象組必須已經存在。
(7) 配置NAT規則中的地址轉換方式。請選擇其中一項進行配置。
¡ 配置NAT規則中的地址轉換方式為Easy IP方式。
action easy-ip
¡ 配置NAT規則中的地址轉換方式為NO-NAT方式。
action no-nat
¡ 配置NAT規則中的地址轉換方式為NO-PAT方式。
action address-group { group-id | name group-name } no-pat [ reversible ]
¡ 配置NAT規則中的地址轉換方式為PAT方式。
action address-group { group-id | name group-name } [ port-preserved ]
(8) (可選)開啟NAT規則命中統計功能。
counting enable
缺省情況下,NAT規則命中統計功能處於關閉狀態。
由於NAT規則是按照配置先後順序進行匹配的,因此為了使用戶能夠靈活調整規則的匹配順序,可通過本配置來移動NAT規則的位置。
(1) 進入係統視圖。
system-view
(2) 進入接口NAT策略視圖。
nat policy
(3) 修改NAT規則的優先級順序。
rule move rule-name1 { after | before } [ rule-name2 ]
配置本功能後,相應的NAT規則將不再生效,但是不會將此NAT規則刪除。如果不再需要此NAT規則,需要執行undo rule name命令才能將其刪除。
(1) 進入係統視圖。
system-view
(2) 進入接口NAT策略視圖。
nat policy
(3) 進入NAT規則視圖。
rule name rule-name
(4) 禁用NAT規則中的地址轉換映射。
disable
缺省情況下,NAT規則中的地址轉換映射處於開啟狀態。
通過指定備份組,設備會將需要進行動態NAT(包括動態地址轉換和動態NAT444)的流量引到指定的備份組通道進行處理。關於備份組的詳細介紹,請參見“可靠性配置指導”中的“備份組”。
如果設備上創建了手動備份組,則隻能為NAT地址組指定手動備份組,不允許再指定自動備份組。
NAT地址組中同時指定備份組和負載分擔組(通過blade-load-sharing-group命令配置)時,備份組中的安全引擎必須是負載分擔組中的安全引擎。
(1) 進入係統視圖。
system-view
(2) 創建NAT地址組,並進入NAT地址組視圖。
nat address-group group-id [ name group-name ]
缺省情況下,不存在地址組。
(3) 配置NAT地址組的備份組。
failover-group group-name [ channel channel-id ]
缺省情況下,沒有為NAT地址組指定備份組。
每個接口上隻能指定一個備份組處理Easy IP方式的地址轉換。
如果在接口視圖下配置了nat outbound easy-ip failover-group命令,並在係統視圖下配置了nat outbound easy-ip port-range命令,那麼後者的配置將失效。
配置QoS策略將流量重定向到備份組進行處理。需要保證QoS策略中流行為重定向的備份組必須與Easy IP方式地址轉換使用的備份組保持一致;如果指定了channel參數,需要保證QoS策略中流行為重定向的備份組引擎口與Easy IP方式地址轉換使用的備份組引擎口保持一致。關於流量重定向的詳細介紹,請參見“ACL和QoS配置指導”中的“流量重定向”。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置Easy IP方式的地址轉換使用的備份組。
nat outbound easy-ip failover-group group-name [ channel channel-id ]
缺省情況下,未配置Easy IP方式的地址轉換使用的備份組。
接口上使用Easy IP方式做出方向動態地址轉換業務時,若使用了多備份組進行業務處理,可能會出現多個備份組使用同一接口地址進行轉換後端口衝突的情況,為了避免該情況的發生,請為不同的備份組劃分不同的端口範圍。
通過將不同的端口掩碼值和掩碼位數組合與不同的備份組綁定,可以保證不同備份組占用不同的端口範圍。對於端口範圍的高位掩碼值和掩碼位數與端口號範圍的轉換關係如下:
(1) 首先將端口範圍的高位掩碼值和掩碼位數轉換為對應的二進製,如高位掩碼值為2,掩碼位數為5,轉換為二進製則表示為00010;
(2) 然後將16位二進製數的低位進行填充:
a. 全部填充為0,即可得到端口範圍的最小值;
b. 全部填充為1,即可得到端口範圍的最大值。
(3) 將得到的二進製的最小值和最大值轉換為十進製即可得到端口號範圍。
例如高位掩碼值為2,掩碼位數為5,則對應的端口號範圍二進製表示為0001000000000000~0001011111111111,轉換為十進製即4096~6143。
如果在接口視圖下配置了nat outbound easy-ip failover-group命令,並在係統視圖下配置了nat outbound easy-ip port-range命令,那麼後者的配置將失效。
配置QoS策略將流量重定向到備份組進行處理。需要保證QoS策略中流行為重定向的備份組必須與Easy IP方式地址轉換使用的備份組保持一致;如果指定了channel參數,需要保證QoS策略中流行為重定向的備份組引擎口與Easy IP方式地址轉換使用的備份組引擎口保持一致。關於流量重定向的詳細介紹,請參見“ACL和QoS配置指導”中的“流量重定向”。
(1) 進入係統視圖。
system-view
(2) 配置Easy IP方式地址轉換的備份組的端口範圍。
nat outbound easy-ip port-range mask-value mask-length failover-group group-name [ channel channel-id ]
缺省情況下,未配置Easy IP方式地址轉換的備份組的端口範圍。
NAT hairpin功能用於滿足位於內網側的用戶之間或用戶與服務器之間通過NAT地址進行訪問的需求。開啟NAT hairpin的內網側接口上會對報文同時進行源地址和目的地址的轉換。
NAT hairpin功能需要與內部服務器(nat server)、出方向動態地址轉換(nat outbound)或出方向靜態地址轉換(nat static outbound)配合工作,且這些配置所在的接口必須在同一個接口板,否則NAT hairpin功能無法正常工作。
NAT hairpin功能與內部服務器配合工作時,僅支持與通過如下方式配置的內部服務器配合使用,並且使用如下方式配置內部服務器時,必須通過protocol參數指定協議類型,否則NAT hairpin功能不生效。
P2P方式下,外網側的出方向地址轉換必須配置為PAT轉換方式,並開啟EIM模式。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 開啟NAT hairpin功能。
nat hairpin enable
缺省情況下,NAT hairpin功能處於關閉狀態。
ALG(Application Level Gateway,應用層網關)主要完成對應用層報文的解析和處理。通常情況下,NAT隻對報文頭中的IP地址和端口信息進行轉換,不對應用層數據載荷中的字段進行分析和處理。然而對於一些應用層協議,它們的報文的數據載荷中可能包含IP地址或端口信息,這些載荷信息也必須進行有效的轉換,否則可能導致功能不正常。例如,FTP應用由數據連接和控製連接共同完成,而數據連接使用的地址和端口由控製連接協商報文中的載荷信息決定,這就需要ALG利用NAT的相關轉換配置來完成載荷信息的轉換,以保證後續數據連接的正確建立。
DNS服務器在外網,應用服務器在內網(在NAT設備上有對應的nat server配置),內網用戶需要通過域名訪問內網應用服務器的場景中,NAT設備對來自外網的DNS響應報文進行DNS ALG處理時,由於載荷中隻包含域名和應用服務器的外網IP地址(不包含傳輸協議類型和端口號),當接口上存在多條NAT服務器配置且使用相同的外網地址而內網地址不同時,DNS ALG僅使用IP地址來匹配內部服務器可能會得到錯誤的匹配結果。因此需要借助DNS mapping的配置,指定域名與應用服務器的外網IP地址、端口和協議的映射關係,由域名獲取應用服務器的外網IP地址、端口和協議,進而(在當前NAT接口上)精確匹配內部服務器配置獲取應用服務器的內網IP地址。
在IRF組網環境中,物理接口上配置的NAT業務不支持ALG功能。
DNS mapping功能需要和內部服務器配合使用,由nat server配置定義內部服務器對外提供服務的外網IP地址和端口號,由DNS mapping建立“內部服務器域名<-->外網IP地址+外網端口號+協議類型”的映射關係。
(1) 進入係統視圖。
system-view
(2) 開啟指定或所有協議類型的NAT ALG功能。
nat alg { all | dns | ftp | h323 | icmp-error | ils | mgcp | nbt | pptp | rsh | rtsp | sccp | sip | sqlnet | tftp | xdmcp }
缺省情況下,DNS、FTP、ICMP差錯報文、PPTP、RTSP協議類型的NAT ALG功能處於開啟狀態,其他協議類型的NAT ALG功能處於關閉狀態。
(3) (可選)配置一條域名到內部服務器的映射。
nat dns-map domain domain-name protocol pro-type { interface interface-type interface-number | ip global-ip } port global-port
可配置多條域名到內部服務器的映射。
開啟靜態NAT的負載分擔功能後,設備會將普通靜態地址轉換、內部服務器和NAT444端口塊靜態映射的處理分擔到不同的業務引擎上,以均衡各個業務引擎上的負載。如果關閉本功能,則所有靜態NAT都由主業務引擎來處理,可能會導致主業務引擎負載過重。
(1) 進入係統視圖。
system-view
(2) 開啟靜態NAT的負載分擔功能。
nat static-load-balance enable
缺省情況下,靜態NAT的負載分擔功能處於關閉狀態。
通過指定負載分擔組來限定資源分配的範圍,以便服務鏈引流的報文能夠獲得地址資源。
(1) 進入係統視圖。
system-view
(2) 配置靜態NAT的負載分擔組。
nat static blade-load-sharing-group group-name
缺省情況下,沒有為靜態NAT指定負載分擔組。
(1) 進入係統視圖。
system-view
(2) 創建NAT地址組,並進入NAT地址組視圖。
nat address-group group-id [ name group-name ]
缺省情況下,不存在地址組。
(3) 配置動態NAT的負載分擔組。
blade-load-sharing-group group-name
缺省情況下,沒有為NAT地址組指定負載分擔組。
開啟NAT定時統計功能後,NAT將按照一定的時間間隔對每個地址組中的會話數目和端口塊分配衝突計數進行統計。
使用本功能可能會占用較多的CPU資源,當CPU資源緊張時,可將其關閉。
(1) 進入係統視圖。
system-view
(2) 開啟NAT定時統計功能。
nat periodic-statistics enable
缺省情況下,NAT定時統計功能處於關閉狀態。
(3) 配置NAT定時統計功能的時間間隔。
nat periodic-statistics interval interval
缺省情況下,NAT定時統計功能的時間間隔為300秒。
如果將NAT定時統計功能的時間間隔調小,會占用較多的CPU資源。通常情況下,建議使用缺省值。
開啟此功能後,設備會對新建NAT會話的速率進行統計,統計信息可以通過display nat statistics命令查看。
(1) 進入係統視圖。
system-view
(2) 開啟新建NAT會話速率的統計功能。
nat session create-rate enable
缺省情況下,新建NAT會話速率的統計功能處於關閉狀態。
通過在地址組中引用NQA模板來實現檢測NAT地址組中地址可用性的目的。關於NQA的詳細介紹,請參見“網絡管理和監控配置指導”中的“NQA”。
檢測NAT地址組成員可用性的詳細過程如下:
(1) 引用NQA探測模板後,設備會周期性地向NQA模板中指定的目的地址依次發送探測報文,其中各探測報文的源IP地址是地址池中的IP地址。
(2) 若設備在當前探測周期內沒有收到NQA探測應答報文,則將該探測報文的源IP地址從地址池中排除,即在本探測周期內禁止該IP地址用於地址轉換。
(3) 下一個探測周期重複以上過程。被排除的IP地址也會重新進行可用性探測。
一個NAT地址組視圖下,可指定多個NQA探測模板。當指定多個NQA探測模板時,隻要有一個NQA探測模板探測成功,則表示該地址可用於地址轉換。
本功能僅對用於出方向地址轉換的地址成員的可用性進行檢測。
引用的NQA探測模板中,不能配置探測報文的源IP地址。
(1) 進入係統視圖。
system-view
(2) 進入NAT地址組視圖。
nat address-group group-id [ name group-name ]
(3) 指定NAT地址組中地址成員的檢測方法。
probe template-name
缺省情況下,未指定NAT地址組中地址成員的檢測方法。
指定的檢測方法可以不存在,但要使檢測功能生效,必須通過nqa template命令創建檢測方法所使用的NQA模板。
NAT會話日誌是為了滿足網絡管理員安全審計的需要,對NAT會話(報文經過設備時,源或目的信息被NAT進行過轉換的連接)信息進行的記錄,包括IP地址及端口的轉換信息、用戶的訪問信息以及用戶的網絡流量信息。
有三種情況可以觸發設備生成NAT會話日誌:
· 新建NAT會話。
· 刪除NAT會話。新增高優先級的配置、刪除配置、報文匹配規則變更、NAT會話老化以及執行刪除NAT會話的命令時,都可能導致NAT會話被刪除。
· 存在NAT活躍流。NAT活躍流是指在一定時間內存在的NAT會話。當設置的生成活躍流日誌的時間間隔到達時,當前存在的NAT會話信息就被記錄並生成日誌。
(1) 進入係統視圖。
system-view
(2) 開啟NAT日誌功能。
nat log enable [ acl { ipv4-acl-number | name ipv4-acl-name } ]
缺省情況下,NAT日誌功能處於關閉狀態。
(3) 開啟NAT相關日誌功能。請至少選擇其中一項進行配置。
¡ 開啟NAT新建會話的日誌功能。
nat log flow-begin
¡ 開啟NAT刪除會話的日誌功能。
nat log flow-end
¡ 開啟NAT活躍流的日誌功能,並設置生成活躍流日誌的時間間隔。
nat log flow-active time-value
缺省情況下,創建、刪除NAT會話或存在NAT活躍流時,均不生成NAT日誌。
NAT444用戶日誌是為了滿足互聯網用戶溯源的需要,在NAT444地址轉換中,對每個用戶的私網IP地址進行端口塊分配或回收時,都會輸出一條基於用戶的日誌,記錄私網IP地址和端口塊的映射關係。在進行用戶溯源時,隻需根據報文的公網IP地址和端口找到對應的端口塊分配日誌信息,即可確定私網IP地址。
有兩種情況可以觸發設備輸出NAT444用戶日誌:
· 端口塊分配:端口塊靜態映射方式下,在某私網IP地址的第一個新建連接通過端口塊進行地址轉換時輸出日誌;端口塊動態映射方式下,在為某私網IP地址分配端口塊或增量端口塊時輸出日誌。
· 端口塊回收:端口塊靜態映射方式下,在某私網IP地址的最後一個連接拆除時輸出日誌;端口塊動態映射方式下,在釋放端口塊資源(並刪除端口塊表項)時輸出日誌。
在配置NAT444用戶日誌功能前,必須先配置將用戶定製日誌發送到日誌主機的功能,否則無法產生NAT444用戶日誌。詳細配置請參見“網絡管理和監控配置指導”中的“信息中心”。
(1) 進入係統視圖。
system-view
(2) 開啟NAT日誌功能。
nat log enable [ acl { ipv4-acl-number | name ipv4-acl-name } ]
缺省情況下,NAT日誌功能處於關閉狀態。
ACL參數對NAT444用戶日誌功能無效。
(3) 開啟端口塊用戶日誌功能。請至少選擇其中一項進行配置。
¡ 開啟端口塊分配的NAT444用戶日誌功能。
nat log port-block-assign
¡ 開啟端口塊回收的NAT444用戶日誌功能。
nat log port-block-withdraw
缺省情況下,分配和回收端口塊時,均不輸出NAT444用戶日誌。
在NAT地址轉換中,如果可為用戶分配的NAT資源用盡,後續連接由於沒有可用的資源無法對其進行地址轉換,相應的報文將被丟棄。本命令用來在NAT資源用盡時輸出告警日誌。在NO-PAT動態映射中,NAT資源是指公網IP地址;在EIM模式的PAT動態映射中,NAT資源是指公網IP地址和端口;在NAT444地址轉換中,NAT資源是指公網IP、端口塊和端口塊中的端口。
NAT444端口塊動態映射方式中,如果配置了增量端口塊分配,則當首次分配的端口塊中的端口用盡時,並不輸出日誌;隻有當增量端口塊中的端口也都用盡時,才會輸出日誌。
隻有開啟NAT日誌功能(通過nat log enable命令)之後,NAT告警信息日誌功能才能生效。
在配置NAT告警信息日誌功能前,必須先配置將用戶定製日誌發送到日誌主機的功能,否則無法產生NAT告警信息日誌。詳細配置請參見“網絡管理和監控配置指導”中的“信息中心”。
(1) 進入係統視圖。
system-view
(2) 開啟NAT日誌功能。
nat log enable [ acl { ipv4-acl-number | name ipv4-acl-name } ]
缺省情況下,NAT日誌功能處於關閉狀態。
ACL參數對NAT告警信息日誌功能無效。
(3) 開啟NAT告警信息的日誌功能。
nat log alarm
缺省情況下,NAT告警信息日誌功能處於關閉狀態。
創建動態端口塊表項時,若端口塊的使用率大於閾值,係統會輸出告警日誌。
隻有開啟NAT日誌功能(通過nat log enable命令)和NAT告警信息的日誌功能(通過nat log alarm命令)之後,NAT告警信息日誌功能才能生效。
(1) 進入係統視圖。
system-view
(2) 配置動態NAT444端口塊使用率的閾值。
nat log port-block usage threshold threshold-value
缺省情況下,動態NAT444的端口塊使用率的閾值為90%。
開啟該功能後,新的NAT轉換配置會生成OpenFlow流表,已經存在的NAT轉換配置會補充生成OpenFlow流表。如果關閉此功能,則新的NAT轉換配置不會再生成OpenFlow流表,已存在的NAT轉換配置生成的OpenFlow流表會被刪除,從而可能造成流量中斷。
(1) 進入係統視圖。
system-view
(2) 開啟NAT生成OpenFlow流表的功能。
nat flow-redirect { all | dynamic | server | static | static-port-block } *
缺省情況下,NAT生成OpenFlow流表的功能處於開啟狀態。
缺省情況下,設備在NAT轉換失敗時,不發送ICMP差錯報文,既可以減少網絡上的無用報文,節約帶寬,還可以避免將防火牆IP地址暴露在公網側。
使用traceroute功能時,需要用到ICMP差錯報文,需要開啟發送ICMP差錯報文的功能。
(1) 進入係統視圖。
system-view
(2) 開啟設備NAT轉換失敗發送ICMP差錯報文功能。
nat icmp-error reply
缺省情況下,NAT轉換失敗時,設備不發送ICMP差錯報文。
在入方向動態地址轉換功能與隧道功能配合使用的組網環境中,若多個隧道接口引用同一個NAT地址組,則設備會將來自不同隧道的報文的源IP地址轉換為相同的NAT地址,並從設備的出接口轉發出去。缺省情況下,設備出接口收到反向報文後,不會查詢NAT會話表項,這將導致反向報文不能正確轉發。為解決此問題,可在設備的出接口開啟反向報文的重定向功能,使出接口收到反向報文後查詢NAT會話表項,根據NAT會話表項記錄的信息將反向報文的目的IP地址進行NAT地址轉換,從而使反向報文通過接收正向報文的隧道發送出去。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 開啟反向報文的重定向功能。
nat redirect reply-route enable
缺省情況下,反向報文的重定向功能處於關閉狀態。
在PAT方式的動態地址轉換(即接口上配置了nat inbound或nat outbound命令)組網環境中,若服務器上同時開啟了tcp_timestams和tcp_tw_recycle功能,則Client與Server之間可能會出現無法建立TCP連接的現象。
為了解決以上問題,可在服務器上關閉tcp_tw_recycle功能或在設備上開啟對TCP SYN和SYN ACK報文中時間戳的刪除功能。
(1) 進入係統視圖。
system-view
(2) 開啟對TCP SYN和SYN ACK報文中時間戳的刪除功能。
nat timestamp delete [ vpn-instance vpn-instance-name ]
缺省情況下,不對TCP SYN和SYN ACK報文中的時間戳進行刪除。
多次執行本命令,可為不同VPN中的報文開啟此功能。
廣域網雙出口組網環境中,分別在兩個出接口下配置出方向動態地址轉換(不同接口下的出方向動態地址轉換引用不同的地址組),如果出接口所屬的安全域不同,那麼NAT設備的處理機製不同,具體如下:
· 如果將兩個出接口加入不同的安全域,當某條出口鏈路發生故障觸發鏈路切換時,NAT設備會刪除原來的會話表項,從而觸發流量重新匹配NAT設備上的NAT配置,並重新建立NAT會話,保證用戶訪問外網的業務不受影響。
· 如果將兩個出接口加入同一個安全域,當某條出口鏈路發生故障觸發鏈路切換時,NAT設備不會刪除原來的會話表項,流量與原來的會話表項匹配導致用戶無法訪問外網。為了避免該問題的發生,請開啟本功能,保證用戶業務的可用性。
(1) 進入係統視圖。
system-view
(2) 開啟主備鏈路切換後的NAT會話重建功能。
nat link-switch recreate-session
缺省情況下,主備鏈路切換後的NAT會話重建功能處於關閉狀態。
在完成上述配置後,在任意視圖下執行display命令可以顯示NAT配置後的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下,執行reset命令可以清除NAT表項。
執行reset nat dynamic-load-balance或reset nat static-load-balance命令後,會造成流量的暫時中斷,請謹慎使用這些命令。
表2-1 NAT顯示和維護
操作 |
命令 |
顯示NAT ALG功能的開啟狀態 |
display nat alg |
顯示所有的NAT配置信息 |
display nat all |
顯示NAT地址組的配置信息 |
display nat address-group [ group-id ] |
顯示NAT DNS mapping的配置信息 |
display nat dns-map |
顯示Easy IP方式動態地址轉換的備份組的端口範圍信息 |
display nat easy-ip failover-group port-range |
顯示NAT EIM表項信息 |
(獨立運行模式) display nat eim [ slot slot-number [ cpu cpu-number ] ] (IRF模式) display nat eim [ chassis chassis-number slot slot-number [ cpu cpu-number ] ] |
顯示NAT入接口動態地址轉換關係的配置信息 |
display nat inbound |
顯示NAT日誌功能的配置信息 |
display nat log |
顯示NAT NO-PAT表項信息 |
(獨立運行模式) display nat no-pat [ slot slot-number [ cpu cpu-number ] ] (IRF模式) display nat no-pat [ chassis chassis-number slot slot-number [ cpu cpu-number ] ] |
顯示NAT出接口動態地址轉換關係的配置信息 |
display nat outbound |
顯示NAT定時統計功能的計數信息 |
(獨立運行模式) display nat periodic-statistics { address-group [ group-id | name group-name ] | ip global-ip } [ slot slot-number [ cpu cpu-number ] ] (IRF模式) display nat periodic-statistics { address-group [ group-id | name group-name ] | ip global-ip } [ chassis chassis-number slot slot-number [ cpu cpu-number ] ] |
顯示接口NAT策略的配置信息 |
display nat policy |
顯示NAT內部服務器的配置信息 |
display nat server |
顯示NAT內部服務器組的配置信息 |
display nat server-group [ group-id ] |
顯示NAT會話 |
(獨立運行模式) display nat session [ [ responder ] { source-ip source-ip | destination-ip destination-ip } * [ vpn-instance vpn -instance-name ] ] [ slot slot-number [ cpu cpu-number ] ] [ verbose ] (IRF模式) display nat session [ [ responder ] { source-ip source-ip | destination-ip destination-ip } * [ vpn-instance vpn -instance-name ] ] [ chassis chassis-number slot slot-number [ cpu cpu-number ] ] [ verbose ] |
顯示NAT靜態地址轉換的配置信息 |
display nat static |
顯示NAT統計信息 |
(獨立運行模式) display nat statistics [ summary ] [ slot slot-number [ cpu cpu-number ] ] (IRF模式) display nat statistics [ summary ] [ chassis chassis-number slot slot-number [ cpu cpu-number ] ] |
顯示NAT444端口塊靜態映射的配置信息 |
display nat outbound port-block-group |
顯示NAT端口塊組配置信息 |
display nat port-block-group [ group-id ] |
顯示端口塊表項 |
(獨立運行模式) display nat port-block { dynamic [ address-group { group-id | name group-name } ] [ ds-lite-b4 ] | static [ port-block-group group-id ] } [ slot slot-number [ cpu cpu-number ] ] (IRF模式) display nat port-block { dynamic [ address-group { group-id | name group-name } ] [ ds-lite-b4 ] | static [ port-block-group group-id ] } [ chassis chassis-number slot slot-number [ cpu cpu-number ] ] |
顯示動態NAT444地址組中端口塊的使用率 |
(獨立運行模式) display nat port-block-usage [ address-group group-id ] [ slot slot-number [ cpu cpu-number ] ] (IRF模式) display nat port-block-usage [ address-group group-id ] [ chassis chassis-number slot slot-number [ cpu cpu-number ] ] |
顯示NAT地址組中地址成員的檢測信息 |
display nat probe address-group [ group-id ] |
清除NAT轉換計數信息 |
reset nat count statistics { all | dynamic | server | static | static-port-block } |
清除NAT定時統計功能的計數信息 |
(獨立運行模式) reset nat periodic-statistics [ slot slot-number [ cpu cpu-number ] ] (IRF模式) reset nat periodic-statistics [ chassis chassis-number slot slot-number [ cpu cpu-number ] ] |
刪除NAT會話 |
(獨立運行模式) reset nat session [ slot slot-number [ cpu cpu-number ] ] (IRF模式) reset nat session [ chassis chassis-number slot slot-number [ cpu cpu-number ] ] |
重新在多個業務引擎上進行靜態NAT的負載分擔 |
reset nat static-load-balance |
重新在多個業務引擎上進行動態NAT的負載分擔 |
reset nat dynamic-load-balance [ address-group group-id ] |
內部網絡用戶10.110.10.8/24使用外網地址202.38.1.100訪問Internet。
圖2-1 內網用戶通過NAT地址訪問外網配置組網圖(靜態地址轉換)
# 配置接口IP地址、路由、安全域及域間策略保證網絡可達,具體配置步驟略。
# 配置內網IP地址10.110.10.8到外網地址202.38.1.100之間的一對一靜態地址轉換映射。
<Device> system-view
[Device] nat static outbound 10.110.10.8 202.38.1.100
# 使配置的靜態地址轉換在接口GigabitEthernet1/0/2上生效。
[Device] interface gigabitethernet 1/0/2
[Device-GigabitEthernet1/0/2] nat static enable
[Device-GigabitEthernet1/0/2] quit
# 以上配置完成後,內網主機可以訪問外網服務器。通過查看如下顯示信息,可以驗證以上配置成功。
[Device] display nat static
Static NAT mappings:
Totally 1 outbound static NAT mappings.
IP-to-IP:
Local IP : 10.110.10.8
Global IP : 202.38.1.100
Config status: Active
Interfaces enabled with static NAT:
Totally 1 interfaces enabled with static NAT.
Interface: GigabitEthernet1/0/2
Config status: Active
# 通過以下顯示命令,可以看到Host訪問某外網服務器時生成NAT會話信息。
[Device] display nat session verbose
Slot 1:
Initiator:
Source IP/port: 10.110.10.8/54765
Destination IP/port: 202.38.1.2/23
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/1
Source security zone: Trust
Responder:
Source IP/port: 202.38.1.2/23
Destination IP/port: 202.38.1.100/54765
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/2
Source security zone: Untrust
State: TCP_ESTABLISHED
Application: TELNET
Rule ID: -/-/-
Rule name:
Start time: 2017-05-19 10:57:47 TTL: 1195s
Initiator->Responder: 8 packets 375 bytes
Responder->Initiator: 10 packets 851 bytes
· 某公司內網使用的IP地址為192.168.0.0/16。
· 該公司擁有202.38.1.2和202.38.1.3兩個外網IP地址。
· 需要實現,內部網絡中192.168.1.0/24網段的用戶可以訪問Internet,其它網段的用戶不能訪問Internet。使用的外網地址為202.38.1.2和202.38.1.3。
圖2-2 內網用戶通過NAT訪問外網配置組網圖(地址不重疊)
# 配置接口IP地址、路由、安全域及域間策略保證網絡可達,具體配置步驟略。
# 配置地址組0,包含兩個外網地址202.38.1.2和202.38.1.3。
<Device> system-view
[Device] nat address-group 0
[Device-address-group-0] address 202.38.1.2 202.38.1.3
[Device-address-group-0] quit
# 配置ACL 2000,僅允許對內部網絡中192.168.1.0/24網段的用戶報文進行地址轉換。
[Device] acl basic 2000
[Device-acl-ipv4-basic-2000] rule permit source 192.168.1.0 0.0.0.255
[Device-acl-ipv4-basic-2000] quit
# 在接口GigabitEthernet1/0/2上配置出方向動態地址轉換,允許使用地址組0中的地址對匹配ACL 2000的報文進行源地址轉換,並在轉換過程中使用端口信息。
[Device] interface gigabitethernet 1/0/2
[Device-GigabitEthernet1/0/2] nat outbound 2000 address-group 0
[Device-GigabitEthernet1/0/2] quit
# 以上配置完成後,Host A能夠訪問WWW server,Host B和Host C無法訪問WWW server。通過查看如下顯示信息,可以驗證以上配置成功。
[Device] display nat all
NAT address group information:
Totally 1 NAT address groups.
Address group ID: 0
Port range: 1-65535
Address information:
Start address End address
202.38.1.2 202.38.1.3
Exclude address information:
Start address End address
--- ---
NAT outbound information:
Totally 1 NAT outbound rules.
Interface: GigabitEthernet1/0/2
ACL: 2000
Address group ID: 0
Port-preserved: N NO-PAT: N Reversible: N
Config status: Active
NAT logging:
Log enable : Disabled
Flow-begin : Disabled
Flow-end : Disabled
Flow-active : Disabled
Port-block-assign : Disabled
Port-block-withdraw : Disabled
Alarm : Disabled
NO-PAT IP usage : Disabled
NAT mapping behavior:
Mapping mode : Address and Port-Dependent
ACL : ---
Config status: Active
NAT ALG:
DNS : Enabled
FTP : Enabled
H323 : Disabled
ICMP-ERROR : Enabled
ILS : Disabled
MGCP : Disabled
NBT : Disabled
PPTP : Enabled
RTSP : Enabled
RSH : Disabled
SCCP : Disabled
SIP : Disabled
SQLNET : Disabled
TFTP : Disabled
XDMCP : Disabled
Static NAT load balancing: Disabled
# 通過以下顯示命令,可以看到Host A訪問WWW server時生成NAT會話信息。
[Device] display nat session verbose
Slot 1:
Initiator:
Source IP/port: 192.168.1.10/52082
Destination IP/port: 200.1.1.10/80
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/1
Source security zone: Trust
Responder:
Source IP/port: 200.1.1.10/80
Destination IP/port: 202.38.1.2/1036
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/2
Source security zone: Untrust
State: TCP_ESTABLISHED
Application: HTTP
Rule ID: -/-/-
Rule name:
Start time: 2017-05-19 16:16:59 TTL: 9995s
Initiator->Responder: 551 packets 32547 bytes
Responder->Initiator: 956 packets 1385514 bytes
Total sessions found: 1
· 某公司內網網段地址為192.168.1.0/24,該網段與要訪問的外網Web服務器所在網段地址重疊。
· 該公司擁有202.38.1.2和202.38.1.3兩個外網IP地址。
· 需要實現,內網用戶可以通過域名訪問外網的Web服務器。
圖2-3 內網用戶通過NAT訪問外網配置組網圖(地址重疊)
這是一個典型的雙向NAT應用,具體配置思路如下。
· 內網主機通過域名訪問外網Web服務器時,首先需要向外網的DNS服務器發起DNS查詢請求。由於外網DNS服務器回複給內網主機的DNS應答報文載荷中的攜帶的Web服務器地址與內網主機地址重疊,因此NAT設備需要將載荷中的Web服務器地址轉換為動態分配的一個NAT地址。動態地址分配可以通過入方向動態地址轉換實現,載荷中的地址轉換需要通過DNS ALG功能實現。
· 內網主機得到外網Web服務器的IP地址之後(該地址為臨時分配的NAT地址),通過該地址訪問外網Web服務器。由於內網主機的地址與外網Web服務器的真實地址重疊,因此也需要為其動態分配一個NAT地址,可以通過出方向動態地址轉換實現。
· 外網Web服務器對應的NAT地址在NAT設備上沒有路由,因此需要手工添加靜態路由,使得目的地址為外網服務器NAT地址的報文出接口為GigabitEthernet1/0/2。
# 配置接口IP地址、路由、安全域及域間策略保證網絡可達,具體配置步驟略。
# 開啟DNS的NAT ALG功能。
<Device> system-view
[Device] nat alg dns
# 配置ACL 2000,僅允許對192.168.1.0/24網段的用戶報文進行地址轉換。
[Device] acl basic 2000
[Device-acl-ipv4-basic-2000] rule permit source 192.168.1.0 0.0.0.255
[Device-acl-ipv4-basic-2000] quit
# 創建地址組1。
[Device] nat address-group 1
# 添加地址組成員202.38.1.2。
[Device-address-group-1] address 202.38.1.2 202.38.1.2
[Device-address-group-1] quit
# 創建地址組2。
[Device] nat address-group 2
# 添加地址組成員202.38.1.3。
[Device-address-group-2] address 202.38.1.3 202.38.1.3
[Device-address-group-2] quit
# 在接口GigabitEthernet1/0/2上配置入方向動態地址轉換,允許使用地址組1中的地址對DNS應答報文載荷中的外網地址進行轉換,並在轉換過程中不使用端口信息,以及允許反向地址轉換。
[Device] interface gigabitethernet 1/0/2
[Device-GigabitEthernet1/0/2] nat inbound 2000 address-group 1 no-pat reversible
# 在接口GigabitEthernet1/0/2上配置出方向動態地址轉換,允許使用地址組2中的地址對內網訪問外網的報文進行源地址轉換,並在轉換過程中使用端口信息。
[Device-GigabitEthernet1/0/2] nat outbound 2000 address-group 2
[Device-GigabitEthernet1/0/2] quit
# 配置靜態路由,目的地址為外網服務器NAT地址202.38.1.2,出接口為GigabitEthernet1/0/2,下一跳地址為20.2.2.2(20.2.2.2為本例中的直連下一跳地址,實際使用中請以具體組網情況為準)。
[Device] ip route-static 202.38.1.2 32 gigabitethernet 1/0/2 20.2.2.2
以上配置完成後,Host A能夠通過域名訪問Web server。通過查看如下顯示信息,可以驗證以上配置成功。
[Device] display nat all
NAT address group information:
Totally 2 NAT address groups.
Address group ID: 1
Port range: 1-65535
Address information:
Start address End address
202.38.1.2 202.38.1.2
Exclude address information:
Start address End address
--- ---
Address group ID: 2
Port range: 1-65535
Address information:
Start address End address
202.38.1.3 202.38.1.3
Exclude address information:
Start address End address
--- ---
NAT inbound information:
Totally 1 NAT inbound rules.
Interface: GigabitEthernet1/0/2
ACL: 2000
Address group ID: 1
Add route: N NO-PAT: Y Reversible: Y
Config status: Active
NAT outbound information:
Totally 1 NAT outbound rules.
Interface: GigabitEthernet1/0/2
ACL: 2000
Address group ID: 2
Port-preserved: N NO-PAT: N Reversible: N
Config status: Active
NAT logging:
Log enable : Disabled
Flow-begin : Disabled
Flow-end : Disabled
Flow-active : Disabled
Port-block-assign : Disabled
Port-block-withdraw : Disabled
Alarm : Disabled
NO-PAT IP usage : Disabled
NAT mapping behavior:
Mapping mode : Address and Port-Dependent
ACL : ---
Config status: Active
NAT ALG:
DNS : Enabled
FTP : Enabled
H323 : Disabled
ICMP-ERROR : Enabled
ILS : Disabled
MGCP : Disabled
NBT : Disabled
PPTP : Enabled
RTSP : Enabled
RSH : Disabled
SCCP : Disabled
SIP : Disabled
SQLNET : Disabled
TFTP : Disabled
XDMCP : Disabled
Static NAT load balancing: Disabled
# 通過以下顯示命令,可以看到Host A訪問WWW server時生成NAT會話信息。
[Device] display nat session verbose
Slot 1:
Initiator:
Source IP/port: 192.168.1.10/51716
Destination IP/port: 202.38.1.2/80
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/1
Source security zone: Trust
Responder:
Source IP/port: 202.38.1.2/80
Destination IP/port: 202.38.1.3/1059
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/2
Source security zone: Untrust
State: TCP_ESTABLISHED
Application: HTTP
Rule ID: -/-/-
Rule name:
Start time: 2017-05-21 15:36:29 TTL: 1197s
Initiator->Responder: 125 packets 6304 bytes
Responder->Initiator: 223 packets 325718 bytes
Total sessions found: 1
某公司內部對外提供Web、FTP和SMTP服務,而且提供兩台Web服務器。公司內部網址為10.110.0.0/16。其中,內部FTP服務器地址為10.110.10.3/16,內部Web服務器1的IP地址為10.110.10.1/16,內部Web服務器2的IP地址為10.110.10.2/16,內部SMTP服務器IP地址為10.110.10.4/16。公司擁有202.38.1.1至202.38.1.3三個公網IP地址。需要實現如下功能:
· 外部的主機可以訪問內部的服務器。
· 選用202.38.1.1作為公司對外提供服務的IP地址,Web服務器2對外采用8080端口。
圖2-4 外網用戶通過外網地址訪問內網服務器配置組網圖
# 配置接口IP地址、路由、安全域及域間策略保證網絡可達,具體配置步驟略。
# 進入接口GigabitEthernet1/0/2。
<Device> system-view
[Device] interface gigabitethernet 1/0/2
# 配置內部FTP服務器,允許外網主機使用地址202.38.1.1、端口號21訪問內網FTP服務器。
[Device-GigabitEthernet1/0/2] nat server protocol tcp global 202.38.1.1 21 inside 10.110.10.3 ftp
# 配置內部Web服務器1,允許外網主機使用地址202.38.1.1、端口號80訪問內網Web服務器1。
[Device-GigabitEthernet1/0/2] nat server protocol tcp global 202.38.1.1 80 inside 10.110.10.1 http
# 配置內部Web服務器2,允許外網主機使用地址202.38.1.1、端口號8080訪問內網Web服務器2。
[Device-GigabitEthernet1/0/2] nat server protocol tcp global 202.38.1.1 8080 inside 10.110.10.2 http
# 配置內部SMTP服務器,允許外網主機使用地址202.38.1.1以及SMTP協議定義的端口訪問內網SMTP服務器。
[Device-GigabitEthernet1/0/2] nat server protocol tcp global 202.38.1.1 smtp inside 10.110.10.4 smtp
[Device-GigabitEthernet1/0/2] quit
# 以上配置完成後,外網Host能夠通過NAT地址訪問各內網服務器。通過查看如下顯示信息,可以驗證以上配置成功。
[Device] display nat all
NAT internal server information:
Totally 4 internal servers.
Interface: GigabitEthernet1/0/2
Protocol: 6(TCP)
Global IP/port: 202.38.1.1/21
Local IP/port : 10.110.10.3/21
Rule name : ServerRule_1
NAT counting : 0
Config status : Active
Interface: GigabitEthernet1/0/2
Protocol: 6(TCP)
Global IP/port: 202.38.1.1/25
Local IP/port : 10.110.10.4/25
Rule name : ServerRule_4
NAT counting : 0
Config status : Active
Interface: GigabitEthernet1/0/2
Protocol: 6(TCP)
Global IP/port: 202.38.1.1/80
Local IP/port : 10.110.10.1/80
Rule name : ServerRule_2
NAT counting : 0
Config status : Active
Interface: GigabitEthernet1/0/2
Protocol: 6(TCP)
Global IP/port: 202.38.1.1/8080
Local IP/port : 10.110.10.2/80
Rule name : ServerRule_3
NAT counting : 0
Config status : Active
NAT logging:
Log enable : Disabled
Flow-begin : Disabled
Flow-end : Disabled
Flow-active : Disabled
Port-block-assign : Disabled
Port-block-withdraw : Disabled
Alarm : Disabled
NO-PAT IP usage : Disabled
NAT mapping behavior:
Mapping mode : Address and Port-Dependent
ACL : ---
Config status: Active
NAT ALG:
DNS : Enabled
FTP : Enabled
H323 : Disabled
ICMP-ERROR : Enabled
ILS : Disabled
MGCP : Disabled
NBT : Disabled
PPTP : Enabled
RTSP : Enabled
RSH : Disabled
SCCP : Disabled
SIP : Disabled
SQLNET : Disabled
TFTP : Disabled
XDMCP : Disabled
Static NAT load balancing: Disabled
# 通過以下顯示命令,可以看到Host訪問FTP server時生成NAT會話信息。
[Device] display nat session verbose
Slot 1:
Initiator:
Source IP/port: 202.38.1.2/52802
Destination IP/port: 202.38.1.1/21
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/2
Source security zone: Untrust
Responder:
Source IP/port: 10.110.10.3/21
Destination IP/port: 202.38.1.2/52802
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/1
Source security zone: Trust
State: TCP_ESTABLISHED
Application: FTP
Rule ID: -/-/-
Rule name:
Start time: 2017-05-21 11:13:39 TTL: 3597s
Initiator->Responder: 7 packets 313 bytes
Responder->Initiator: 6 packets 330 bytes
Total sessions found: 1
· 某公司內部對外提供Web服務,Web服務器地址為10.110.10.2/24。
· 該公司在內網有一台DNS服務器,IP地址為10.110.10.3/24,用於解析Web服務器的域名。
· 該公司擁有兩個外網IP地址:202.38.1.2和202.38.1.3。
需要實現,外網主機可以通過域名訪問內網的Web服務器。
圖2-5 外網用戶通過域名訪問內網服務器配置組網圖(地址不重疊)
· 外網主機通過域名訪問Web服務器,首先需要通過訪問內網DNS服務器獲取Web服務器的IP地址,因此需要通過配置NAT內部服務器將DNS服務器的內網IP地址和DNS服務端口映射為一個外網地址和端口。
· DNS服務器回應給外網主機的DNS報文載荷中攜帶了Web服務器的內網IP地址,因此需要將DNS報文載荷中的內網IP地址轉換為一個外網IP地址。外網地址分配可以通過出方向動態地址轉換功能實現,轉換載荷信息可以通過DNS ALG功能實現。
# 配置接口IP地址、路由、安全域及域間策略保證網絡可達,具體配置步驟略。
# 開啟DNS協議的ALG功能。
<Device> system-view
[Device] nat alg dns
# 配置ACL 2000,允許對內部網絡中10.110.10.2的報文進行地址轉換。
[Device] acl basic 2000
[Device-acl-ipv4-basic-2000] rule permit source 10.110.10.2 0
[Device-acl-ipv4-basic-2000] quit
# 創建地址組1。
[Device] nat address-group 1
# 添加地址組成員202.38.1.3。
[Device-address-group-1] address 202.38.1.3 202.38.1.3
[Device-address-group-1] quit
# 在接口GigabitEthernet1/0/2上配置NAT內部服務器,允許外網主機使用地址202.38.1.2訪問內網DNS服務器。
[Device] interface gigabitethernet 1/0/2
[Device-GigabitEthernet1/0/2] nat server protocol udp global 202.38.1.2 inside 10.110.10.3 dns
# 在接口GigabitEthernet1/0/2上配置出方向動態地址轉換,允許使用地址組1中的地址對DNS應答報文載荷中的內網地址進行轉換,並在轉換過程中不使用端口信息,以及允許反向地址轉換。
[Device-GigabitEthernet1/0/2] nat outbound 2000 address-group 1 no-pat reversible
[Device-GigabitEthernet1/0/2] quit
# 以上配置完成後,外網Host能夠通過域名訪問內網Web server。通過查看如下顯示信息,可以驗證以上配置成功。
[Device] display nat all
NAT address group information:
Totally 1 NAT address groups.
Address group ID: 1
Port range: 1-65535
Address information:
Start address End address
202.38.1.3 202.38.1.3
Exclude address information:
Start address End address
--- ---
NAT outbound information:
Totally 1 NAT outbound rules.
Interface: GigabitEthernet1/0/2
ACL: 2000
Address group ID: 1
Port-preserved: N NO-PAT: Y Reversible: Y
Config status: Active
NAT internal server information:
Totally 1 internal servers.
Interface: GigabitEthernet1/0/2
Protocol: 17(UDP)
Global IP/port: 202.38.1.2/53
Local IP/port : 10.110.10.3/53
Rule name : ServerRule_1
NAT counting : 0
Config status : Active
NAT logging:
Log enable : Disabled
Flow-begin : Disabled
Flow-end : Disabled
Flow-active : Disabled
Port-block-assign : Disabled
Port-block-withdraw : Disabled
Alarm : Disabled
NO-PAT IP usage : Disabled
NAT mapping behavior:
Mapping mode : Address and Port-Dependent
ACL : ---
Config status: Active
NAT ALG:
DNS : Enabled
FTP : Enabled
H323 : Disabled
ICMP-ERROR : Enabled
ILS : Disabled
MGCP : Disabled
NBT : Disabled
PPTP : Enabled
RTSP : Enabled
RSH : Disabled
SCCP : Disabled
SIP : Disabled
SQLNET : Disabled
TFTP : Disabled
XDMCP : Disabled
Static NAT load balancing: Disabled
# 通過以下顯示命令,可以看到Host訪問Web server時生成NAT會話信息。
[Device] display nat session verbose
Slot 1:
Initiator:
Source IP/port: 200.1.1.2/1694
Destination IP/port: 202.38.1.3/8080
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/2
Source security zone: Untrust
Responder:
Source IP/port: 10.110.10.2/8080
Destination IP/port: 200.1.1.2/1694
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/1
Source security zone: Trust
State: TCP_ESTABLISHED
Application: HTTP
Rule ID: -/-/-
Rule name:
Start time: 2017-06-15 14:53:29 TTL: 3597s
Initiator->Responder: 7 packets 308 bytes
Responder->Initiator: 5 packets 312 bytes
Total sessions found: 1
· 某公司內網使用的IP地址為192.168.1.0/24。
· 該公司內部對外提供Web服務,Web服務器地址為192.168.1.2/24。
· 該公司在內網有一台DNS服務器,IP地址為192.168.1.3/24,用於解析Web服務器的域名。
· 該公司擁有三個外網IP地址:202.38.1.2、202.38.1.3和202.38.1.4。
需要實現,外網主機可以通過域名訪問與其地址重疊的內網Web服務器。
圖2-6 外網用戶通過域名訪問內網服務器配置組網圖(地址重疊)
這是一個典型的雙向NAT應用,具體配置思路如下。
· 外網主機通過域名訪問Web服務器,首先需要訪問內部的DNS服務器獲取Web服務器的IP地址,因此需要通過配置NAT內部服務器將DNS服務器的內網IP地址和DNS服務端口映射為一個外網地址和端口。
· DNS服務器回應給外網主機的DNS報文載荷中攜帶了Web服務器的內網IP地址,該地址與外網主機地址重疊,因此在出方向上需要為內網Web服務器動態分配一個NAT地址,並將載荷中的地址轉換為該地址。NAT地址分配可以通過出方向動態地址轉換功能實現,轉換載荷信息可以通過DNS ALG功能實現。
· 外網主機得到內網Web服務器的IP地址之後(該地址為NAT地址),使用該地址訪問內網Web服務器,因為外網主機的地址與內網Web服務器的真實地址重疊,因此在入方向上也需要為外網主機動態分配一個NAT地址,可以通過入方向動態地址轉換實現。
· NAT設備上沒有目的地址為外網主機對應NAT地址的路由,因此需要手工添加靜態路由,使得目的地址為外網主機NAT地址的報文的出接口為GigabitEthernet1/0/2。
# 配置接口IP地址、路由、安全域及域間策略保證網絡可達,具體配置步驟略。
# 開啟DNS協議的ALG功能。
<Device> system-view
[Device] nat alg dns
# 配置ACL 2000,允許對內部網絡中192.168.1.0/24網段的報文進行地址轉換。
[Device] acl basic 2000
[Device-acl-ipv4-basic-2000] rule permit source 192.168.1.0 0.0.0.255
[Device-acl-ipv4-basic-2000] quit
# 創建地址組1。
[Device] nat address-group 1
# 添加地址組成員202.38.1.2。
[Device-address-group-1] address 202.38.1.2 202.38.1.2
[Device-address-group-1] quit
# 創建地址組2。
[Device] nat address-group 2
# 添加地址組成員202.38.1.3。
[Device-address-group-2] address 202.38.1.3 202.38.1.3
[Device-address-group-2] quit
# 在接口GigabitEthernet1/0/2上配置NAT內部服務器,允許外網主機使用地址202.38.1.4訪問內網DNS服務器。
[Device] interface gigabitethernet 1/0/2
[Device-GigabitEthernet1/0/2] nat server protocol udp global 202.38.1.4 inside 192.168.1.3 dns
# 在接口GigabitEthernet1/0/2上配置出方向動態地址轉換,允許使用地址組1中的地址對DNS應答報文載荷中的內網地址進行轉換,並在轉換過程中不使用端口信息,以及允許反向地址轉換。
[Device-GigabitEthernet1/0/2] nat outbound 2000 address-group 1 no-pat reversible
# 在接口GigabitEthernet1/0/2上配置入方向動態地址轉換,允許使用地址組2中的地址對外網訪問內網的報文進行源地址轉換,並在轉換過程中使用端口信息。
[Device-GigabitEthernet1/0/2] nat inbound 2000 address-group 2
[Device-GigabitEthernet1/0/2] quit
# 配置到達202.38.1.3地址的靜態路由,出接口為GigabitEthernet1/0/2,下一跳地址為20.2.2.2(20.2.2.2為本例中的直連下一跳地址,實際使用中請以具體組網情況為準)。
[Device] ip route-static 202.38.1.3 32 gigabitethernet 1/0/2 20.2.2.2
# 以上配置完成後,外網Host能夠通過域名訪問內網相同IP地址的Web server。通過查看如下顯示信息,可以驗證以上配置成功。
[Device] display nat all
NAT address group information:
Totally 2 NAT address groups.
Address group ID: 1
Port range: 1-65535
Address information:
Start address End address
202.38.1.2 202.38.1.2
Exclude address information:
Start address End address
--- ---
Address group ID: 2
Port range: 1-65535
Address information:
Start address End address
202.38.1.3 202.38.1.3
Exclude address information:
Start address End address
--- ---
NAT inbound information:
Totally 1 NAT inbound rules.
Interface: GigabitEthernet1/0/2
ACL: 2000
Address group ID: 2
Add route: N NO-PAT: N Reversible: N
Config status: Active
NAT outbound information:
Totally 1 NAT outbound rules.
Interface: GigabitEthernet1/0/2
ACL: 2000
Address group ID: 1
Port-preserved: N NO-PAT: Y Reversible: Y
Config status: Active
NAT internal server information:
Totally 1 internal servers.
Interface: GigabitEthernet1/0/2
Protocol: 17(UDP)
Global IP/port: 202.38.1.4/53
Local IP/port : 200.1.1.3/53
Rule name : ServerRule_1
NAT counting : 0
Config status : Active
NAT logging:
Log enable : Disabled
Flow-begin : Disabled
Flow-end : Disabled
Flow-active : Disabled
Port-block-assign : Disabled
Port-block-withdraw : Disabled
Alarm : Disabled
NO-PAT IP usage : Disabled
NAT mapping behavior:
Mapping mode : Address and Port-Dependent
ACL : ---
Config status: Active
NAT ALG:
DNS : Enabled
FTP : Enabled
H323 : Disabled
ICMP-ERROR : Enabled
ILS : Disabled
MGCP : Disabled
NBT : Disabled
PPTP : Enabled
RTSP : Enabled
RSH : Disabled
SCCP : Disabled
SIP : Disabled
SQLNET : Disabled
TFTP : Disabled
XDMCP : Disabled
Static NAT load balancing: Disabled
# 通過以下顯示命令,可以看到Host訪問Web server時生成NAT會話信息。
[Device] display nat session verbose
Slot 1:
Initiator:
Source IP/port: 192.168.1.2/1694
Destination IP/port: 202.38.1.2/8080
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/2
Source security zone: Untrust
Responder:
Source IP/port: 192.168.1.2/8080
Destination IP/port: 202.38.1.3/1025
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/1
Source security zone: Trust
State: TCP_ESTABLISHED
Application: HTTP
Rule ID: -/-/-
Rule name:
Start time: 2017-06-15 14:53:29 TTL: 3597s
Initiator->Responder: 7 packets 308 bytes
Responder->Initiator: 5 packets 312 bytes
Total sessions found: 1
· 某公司內部網絡中有一台FTP服務器,地址為192.168.1.4/24。
· 該公司擁有兩個外網IP地址:202.38.1.1和202.38.1.2。
需要實現如下功能:
· 外網主機可以通過202.38.1.2訪問內網中的FTP服務器。
· 內網主機也可以通過202.38.1.2訪問內網中的FTP服務器。
圖2-7 內網用戶通過NAT地址訪問內網服務器配置組網圖
該需求為典型的C-S模式的NAT hairpin應用,具體配置思路如下。
· 為使外網主機可以通過外網地址訪問內網FTP服務器,需要在外網側接口配置NAT內部服務器。
· 為使內網主機通過外網地址訪問內網FTP服務器,需要在內網側接口開啟NAT hairpin功能。其中,目的IP地址轉換通過匹配外網側接口上的內部服務器配置來完成,源地址轉換通過匹配內部服務器配置所在接口上的出方向動態地址轉換或出方向靜態地址轉換來完成,本例中采用出方向動態地址轉換配置。
# 配置接口IP地址、路由、安全域及域間策略保證網絡可達,具體配置步驟略。
# 配置ACL 2000,允許對內部網絡中192.168.1.0/24網段的報文進行地址轉換。
<Device> system-view
[Device] acl basic 2000
[Device-acl-ipv4-basic-2000] rule permit source 192.168.1.0 0.0.0.255
[Device-acl-ipv4-basic-2000] quit
# 在接口GigabitEthernet1/0/2上配置NAT內部服務器,允許外網主機使用地址202.38.1.2訪問內網FTP服務器,同時使得內網主機訪問內網FTP服務器的報文可以進行目的地址轉換。
[Device] interface gigabitethernet 1/0/2
[Device-GigabitEthernet1/0/2] nat server protocol tcp global 202.38.1.2 inside 192.168.1.4 ftp
# 在接口GigabitEthernet1/0/2上配置Easy IP方式的出方向動態地址轉換,使得內網主機訪問內網FTP服務器的報文可以使用接口GigabitEthernet1/0/2的IP地址進行源地址轉換。
[Device-GigabitEthernet1/0/2] nat outbound 2000
[Device-GigabitEthernet1/0/2] quit
# 在接口GigabitEthernet1/0/1上開啟NAT hairpin功能。
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] nat hairpin enable
[Device-GigabitEthernet1/0/1] quit
# 以上配置完成後,內網主機和外網主機均能夠通過外網地址訪問內網FTP Server。通過查看如下顯示信息,可以驗證以上配置成功。
[Device] display nat all
NAT outbound information:
Totally 1 NAT outbound rules.
Interface: GigabitEthernet1/0/2
ACL: 2000
Address group ID: ---
Port-preserved: N NO-PAT: N Reversible: N
Config status: Active
NAT internal server information:
Totally 1 internal servers.
Interface: GigabitEthernet1/0/2
Protocol: 6(TCP)
Global IP/port: 202.38.1.2/21
Local IP/port : 192.168.1.4/21
Rule name : ServerRule_1
NAT counting : 0
Config status : Active
NAT logging:
Log enable : Disabled
Flow-begin : Disabled
Flow-end : Disabled
Flow-active : Disabled
Port-block-assign : Disabled
Port-block-withdraw : Disabled
Alarm : Disabled
NO-PAT IP usage : Disabled
NAT hairpinning:
Totally 1 interfaces enabled with NAT hairpinning.
Interface: GigabitEthernet1/0/1
Config status: Active
NAT mapping behavior:
Mapping mode : Address and Port-Dependent
ACL : ---
Config status: Active
NAT ALG:
DNS : Enabled
FTP : Enabled
H323 : Disabled
ICMP-ERROR : Enabled
ILS : Disabled
MGCP : Disabled
NBT : Disabled
PPTP : Enabled
RTSP : Enabled
RSH : Disabled
SCCP : Disabled
SIP : Disabled
SQLNET : Disabled
TFTP : Disabled
XDMCP : Disabled
Static NAT load balancing: Disabled
# 通過以下顯示命令,可以看到Host A訪問FTP server時生成NAT會話信息。
[Device] display nat session verbose
Slot 1:
Initiator:
Source IP/port: 192.168.1.2/1694
Destination IP/port: 202.38.1.2/21
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/1
Source security zone: Trust
Responder:
Source IP/port: 192.168.1.4/21
Destination IP/port: 202.38.1.1/1025
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/1
Source security zone: Trust
State: TCP_ESTABLISHED
Application: FTP
Rule ID: -/-/-
Rule name:
Start time: 2017-06-15 14:53:29 TTL: 3597s
Initiator->Responder: 7 packets 308 bytes
Responder->Initiator: 5 packets 312 bytes
Total sessions found: 1
某P2P應用環境中,內網中的客戶端首先需要向外網服務器進行注冊,外網服務器會記錄客戶端的IP地址和端口號。如果內網的一個客戶端要訪問內網的另一個客戶端,首先需要向服務器獲取對方的IP地址和端口號。
需要實現如下功能:
· 內網客戶端可以向外網中的服務器注冊,且注冊為一個相同的外網地址。
· 內網客戶端能夠通過從服務器獲得的IP地址和端口進行互訪。
圖2-8 內網用戶通過NAT地址互訪配置組網圖
該需求為典型的P2P模式的NAT hairpin應用,具體配置思路如下。
· 內網中的客戶端需要向外網中的服務器注冊,因此需要進行源地址轉換,可以通過在外網側接口配置出方向動態地址轉換實現。
· 服務器記錄客戶端的IP地址和端口號,且該地址和端口號是NAT轉換後的。由於服務器記錄的客戶端IP地址和端口號需要供任意源地址訪問,因此客戶端地址的轉換關係必須不關心對端地址,這可以通過配置EIM模式的動態地址轉換實現。
· 內部主機通過外網地址進行互訪,需要在內網側接口開啟NAT hairpin功能。
# 配置接口IP地址、路由、安全域及域間策略保證網絡可達,具體配置步驟略。
# 配置ACL 2000,允許對內部網絡中192.168.1.0/24網段的報文進行地址轉換。
<Device> system-view
[Device] acl basic 2000
[Device-acl-ipv4-basic-2000] rule permit source 192.168.1.0 0.0.0.255
[Device-acl-ipv4-basic-2000] quit
# 在外網側接口GigabitEthernet1/0/2上配置Easy IP方式的出方向動態地址轉換,允許使用接口GigabitEthernet1/0/2的IP地址對內網訪問外網的報文進行源地址轉換,因為多個內部主機共用一個外網地址,因此需要配置為PAT方式,即轉換過程中使用端口信息。
[Device] interface gigabitethernet 1/0/2
[Device-GigabitEthernet1/0/2] nat outbound 2000
[Device-GigabitEthernet1/0/2] quit
# 配置PAT方式下的地址轉換模式為EIM,即隻要是來自相同源地址和源端口號的且匹配ACL 2000的報文,不論其目的地址是否相同,通過PAT轉換後,其源地址和源端口號都被轉換為同一個外部地址和端口號。
[Device] nat mapping-behavior endpoint-independent acl 2000
# 在內網側接口GigabitEthernet1/0/1上開啟NAT hairpin功能。
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] nat hairpin enable
[Device-GigabitEthernet1/0/1] quit
# 以上配置完成後,Host A、Host B和Host C 分別向外網服務器注冊之後,它們之間可以相互訪問。通過查看如下顯示信息,可以驗證以上配置成功。
[Device] display nat all
NAT outbound information:
Totally 1 NAT outbound rules.
Interface: GigabitEthernet1/0/2
ACL: 2000
Address group ID: ---
Port-preserved: N NO-PAT: N Reversible: N
Config status: Active
NAT logging:
Log enable : Disabled
Flow-begin : Disabled
Flow-end : Disabled
Flow-active : Disabled
Port-block-assign : Disabled
Port-block-withdraw : Disabled
Alarm : Disabled
NO-PAT IP usage : Disabled
NAT hairpinning:
Totally 1 interfaces enabled with NAT hairpinning.
Interface: GigabitEthernet1/0/1
Config status: Active
NAT mapping behavior:
Mapping mode : Endpoint-Independent
ACL : 2000
Config status: Active
NAT ALG:
DNS : Enabled
FTP : Enabled
H323 : Disabled
ICMP-ERROR : Enabled
ILS : Disabled
MGCP : Disabled
NBT : Disabled
PPTP : Enabled
RTSP : Enabled
RSH : Disabled
SCCP : Disabled
SIP : Disabled
SQLNET : Disabled
TFTP : Disabled
XDMCP : Disabled
Static NAT load balancing: Disabled
# 通過以下顯示命令,可以看到Client A訪問Client B時生成NAT會話信息。
[Device] display nat session verbose
Slot 1:
Initiator:
Source IP/port: 192.168.1.3/44929
Destination IP/port: 202.38.1.3/1
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: UDP(17)
Inbound interface: GigabitEthernet1/0/1
Source security zone: Trust
Responder:
Source IP/port: 192.168.1.2/69
Destination IP/port: 202.38.1.3/1024
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: UDP(17)
Inbound interface: GigabitEthernet1/0/1
Source security zone: Trust
State: UDP_READY
Application: TFTP
Rule ID: -/-/-
Rule name:
Start time: 2012-08-15 15:53:36 TTL: 46s
Initiator->Responder: 1 packets 56 bytes
Responder->Initiator: 1 packets 72 bytes
Total sessions found: 1
某公司兩個部門由於需要業務隔而分屬不同的VPN實例,且兩個部門內部使用了相同的子網地址空間。現在要求這兩個部門的主機Host A 和Host B之間能夠通過NAT地址互相訪問。
圖2-9 地址重疊的兩個VPN之間互訪配置組網圖
這是一個典型的兩次NAT應用:兩個VPN之間主機交互的報文的源IP地址和目的IP地址都需要轉換,即需要在連接兩個VPN的接口上先後進行兩次NAT,這可以通過在NAT設備的兩側接口上分別配置靜態地址轉換實現。
為實現VPN之間互訪,配置域間策略時,需要配置允許VPN實例報文通過,放行VPN實例間的流量。
# 配置接口IP地址、路由、安全域及域間策略,在域間策略中配置允許VPN實例報文通過,以保證網絡可達,具體配置步驟略。
# 配置VPN 1內的IP地址192.168.1.2到VPN 2內的IP地址172.16.1.2之間的靜態地址轉換映射。
<Device> system-view
[Device] nat static outbound 192.168.1.2 vpn-instance vpn1 172.16.1.2 vpn-instance vpn2
# 配置VPN 2內的IP地址192.168.1.2到VPN 1內的IP地址172.16.2.2之間的靜態地址轉換映射。
[Device] nat static outbound 192.168.1.2 vpn-instance vpn2 172.16.2.2 vpn-instance vpn1
# 在接口GigabitEthernet1/0/2上配置靜態地址轉換。
[Device] interface gigabitethernet 1/0/2
[Device-GigabitEthernet1/0/2] nat static enable
[Device-GigabitEthernet1/0/2] quit
# 在接口GigabitEthernet1/0/1上配置靜態地址轉換。
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] nat static enable
[Device-GigabitEthernet1/0/1] quit
# 以上配置完成後,Host A和Host B可以互通,且Host A的對外地址為172.16.1.2,Host B的對外地址為172.16.2.2。通過查看如下顯示信息,可以驗證以上配置成功。
[Device] display nat all
Static NAT mappings:
Totally 2 outbound static NAT mappings.
IP-to-IP:
Local IP : 192.168.1.2
Global IP : 172.16.1.2
Local VPN : vpn1
Global VPN : vpn2
Config status: Active
IP-to-IP:
Local IP : 192.168.1.2
Global IP : 172.16.2.2
Local VPN : vpn2
Global VPN : vpn1
Config status: Active
Interfaces enabled with static NAT:
Totally 2 interfaces enabled with static NAT.
Interface: GigabitEthernet1/0/1
Config status: Active
Interface: GigabitEthernet1/0/2
Config status: Active
NAT logging:
Log enable : Disabled
Flow-begin : Disabled
Flow-end : Disabled
Flow-active : Disabled
Port-block-assign : Disabled
Port-block-withdraw : Disabled
Alarm : Disabled
NO-PAT IP usage : Disabled
NAT mapping behavior:
Mapping mode : Address and Port-Dependent
ACL : ---
Config status: Active
NAT ALG:
DNS : Enabled
FTP : Enabled
H323 : Disabled
ICMP-ERROR : Enabled
ILS : Disabled
MGCP : Disabled
NBT : Disabled
PPTP : Enabled
RTSP : Enabled
RSH : Disabled
SCCP : Disabled
SIP : Disabled
SQLNET : Disabled
TFTP : Disabled
XDMCP : Disabled
Static NAT load balancing: Disabled
# 通過以下顯示命令,可以看到Host A訪問Host B時生成NAT會話信息。
[Device] display nat session verbose
Slot 1:
Initiator:
Source IP/port: 192.168.1.2/42496
Destination IP/port: 172.16.2.2/2048
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: vpn1/-/-
Protocol: ICMP(1)
Inbound interface: GigabitEthernet1/0/1
Source security zone: Trust
Responder:
Source IP/port: 192.168.1.2/42496
Destination IP/port: 172.16.1.2/0
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: vpn2/-/-
Protocol: ICMP(1)
Inbound interface: GigabitEthernet1/0/2
Source security zone: Trust
State: ICMP_REPLY
Application: INVALID
Rule ID: -/-/-
Rule name:
Start time: 2012-08-16 09:30:49 TTL: 27s
Initiator->Responder: 5 packets 420 bytes
Responder->Initiator: 5 packets 420 bytes
Total sessions found: 1
某公司內部擁有3台FTP服務器對外提供FTP服務。
需要實現如下功能:
· 使用IP地址為202.38.1.1作為公司對外提供服務的IP地址。
· 3台FTP服務器可以同時對外提供服務,並進行負載分擔。
圖2-10 負載分擔內部服務器配置組網圖
# 配置接口IP地址、路由、安全域及域間策略保證網絡可達,具體配置步驟略。
# 配置內部服務器組0及其成員10.110.10.1、10.110.10.2和10.110.10.3。
<Device> system-view
[Device] nat server-group 0
[Device-nat-server-group-0] inside ip 10.110.10.1 port 21
[Device-nat-server-group-0] inside ip 10.110.10.2 port 21
[Device-nat-server-group-0] inside ip 10.110.10.3 port 21
[Device-nat-server-group-0] quit
# 在接口GigabitEthernet1/0/2上配置負載分擔內部服務器,引用內部服務器組0,該組內的主機共同對外提供FTP服務。
[Device] interface gigabitethernet 1/0/2
[Device-GigabitEthernet1/0/2] nat server protocol tcp global 202.38.1.1 ftp inside server-group 0
[Device-GigabitEthernet1/0/2] quit
# 以上配置完成後,外網主機可以訪問內網FTP服務器組。通過查看如下顯示信息,可以驗證以上配置成功。
[Device] display nat all
NAT server group information:
Totally 1 NAT server groups.
Group Number Inside IP Port Weight
0 10.110.10.1 21 100
10.110.10.2 21 100
10.110.10.3 21 100
NAT internal server information:
Totally 1 internal servers.
Interface: GigabitEthernet1/0/2
Protocol: 6(TCP)
Global IP/port: 202.38.1.1/21
Local IP/port : server group 0
10.110.10.1/21 (Connections: 1)
10.110.10.2/21 (Connections: 1)
10.110.10.3/21 (Connections: 1)
Rule name : ServerRule_1
NAT counting : 0
Config status : Active
NAT logging:
Log enable : Disabled
Flow-begin : Disabled
Flow-end : Disabled
Flow-active : Disabled
Port-block-assign : Disabled
Port-block-withdraw : Disabled
Alarm : Disabled
NO-PAT IP usage : Disabled
NAT mapping behavior:
Mapping mode : Address and Port-Dependent
ACL : ---
Config status: Active
NAT ALG:
DNS : Enabled
FTP : Enabled
H323 : Disabled
ICMP-ERROR : Enabled
ILS : Disabled
MGCP : Disabled
NBT : Disabled
PPTP : Enabled
RTSP : Enabled
RSH : Disabled
SCCP : Disabled
SIP : Disabled
SQLNET : Disabled
TFTP : Disabled
XDMCP : Disabled
Static NAT load balancing: Disabled
# 通過以下顯示命令,可以看到外網主機訪問內網FTP server時生成NAT會話信息。
[Device] display nat session verbose
Slot 1:
Initiator:
Source IP/port: 202.38.1.27/5760
Destination IP/port: 202.38.1.1/21
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/2
Source security zone: Untrust
Responder:
Source IP/port: 10.110.10.3/21
Destination IP/port: 202.38.1.27/5760
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/1
Source security zone: DMZ
State: TCP_ESTABLISHED
Application: FTP
Rule ID: -/-/-
Rule name:
Start time: 2017-05-19 16:10:27 TTL: 3598s
Initiator->Responder: 15 packets 702 bytes
Responder->Initiator: 16 packets 891 bytes
Initiator:
Source IP/port: 202.38.1.26/30018
Destination IP/port: 202.38.1.1/21
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/2
Source security zone: Untrust
Responder:
Source IP/port: 10.110.10.2/21
Destination IP/port: 202.38.1.26/30018
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/1
Source security zone: DMZ
State: TCP_ESTABLISHED
Application: FTP
Start time: 2017-05-19 16:09:58 TTL: 3576s
Initiator->Responder: 15 packets 702 bytes
Responder->Initiator: 16 packets 891 bytes
Initiator:
Source IP/port: 202.38.1.25/35652
Destination IP/port: 202.38.1.1/21
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/2
Source security zone: Untrust
Responder:
Source IP/port: 10.110.10.1/21
Destination IP/port: 202.38.1.25/35652
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/1
Source security zone: DMZ
State: TCP_ESTABLISHED
Application: FTP
Start time: 2017-05-19 16:09:46 TTL: 3579s
Initiator->Responder: 15 packets 702 bytes
Responder->Initiator: 16 packets 891 bytes
Total sessions found: 3
某公司內部對外提供Web和FTP服務。公司內部網址為10.110.0.0/16。其中,Web服務器地址為10.110.10.1/16,FTP服務器地址為10.110.10.2/16。公司具有202.38.1.1至202.38.1.3三個公網IP地址。另外公司在外網有一台DNS服務器,IP地址為202.38.1.4。
需要實現如下功能:
· 選用202.38.1.2作為公司對外提供服務的IP地址。
· 外網用戶可以通過域名或IP地址訪問內部服務器。
· 內網用戶可以通過域名訪問內部服務器。
圖2-11 NAT DNS mapping配置組網圖
· 內網服務器對外提供服務,需要配置NAT內部服務器將各服務器的內網IP地址和端口映射為一個外網地址和端口。
· 內網主機通過域名訪問內網服務器時,首先需要通過出接口地址轉換分配的外網地址訪問外網的DNS服務器,並獲取內網服務器的內網IP地址。由於DNS服務器向內網主機發送的響應報文中包含的是內網服務器的外網地址,因此NAT設備需要將DNS報文載荷內的外網地址轉換為內網地址,這可以通過查找DNS mapping映射表配合DNS ALG功能實現。DNS mapping映射表用於實現根據“域名+外網IP地址+外網端口號+協議類型”查找到對應的“內網IP+內網端口號”。
# 配置接口IP地址、路由、安全域及域間策略保證網絡可達,具體配置步驟略。
# 開啟DNS的NAT ALG功能。
<Device> system-view
[Device] nat alg dns
# 進入接口GigabitEthernet1/0/2。
[Device] interface gigabitethernet 1/0/2
# 配置NAT內部Web服務器,允許外網主機使用地址202.38.1.2訪問內網Web服務器。
[Device-GigabitEthernet1/0/2] nat server protocol tcp global 202.38.1.2 inside 10.110.10.1 http
# 配置NAT內部FTP服務器,允許外網主機使用地址202.38.1.2訪問內網FTP服務器。
[Device-GigabitEthernet1/0/2] nat server protocol tcp global 202.38.1.2 inside 10.110.10.2 ftp
# 在接口GigabitEthernet1/0/2上配置Easy IP方式的出方向動態地址轉換。
[Device-GigabitEthernet1/0/2] nat outbound
[Device-GigabitEthernet1/0/2] quit
# 配置兩條DNS mapping表項:Web服務器的域名www.server.com對應IP地址202.38.1.2;FTP服務器的域名ftp.server.com對應IP地址202.38.1.2。
[Device] nat dns-map domain www.server.com protocol tcp ip 202.38.1.2 port http
[Device] nat dns-map domain ftp.server.com protocol tcp ip 202.38.1.2 port ftp
# 以上配置完成後,內網主機和外網主機均可以通過域名訪問內網服務器。通過查看如下顯示信息,可以驗證以上配置成功。
[Device] display nat all
NAT outbound information:
Totally 1 NAT outbound rules.
Interface: GigabitEthernet1/0/2
ACL: ---
Address group ID: ---
Port-preserved: N NO-PAT: N Reversible: N
Config status: Active
NAT internal server information:
Totally 2 internal servers.
Interface: GigabitEthernet1/0/2
Protocol: 6(TCP)
Global IP/port: 202.38.1.2/21
Local IP/port : 10.110.10.2/21
Rule name : ServerRule_2
NAT counting : 0
Config status : Active
Interface: GigabitEthernet1/0/2
Protocol: 6(TCP)
Global IP/port: 202.38.1.2/80
Local IP/port : 10.110.10.1/80
Rule name : ServerRule_1
NAT counting : 0
Config status : Active
NAT DNS mapping information:
Totally 2 NAT DNS mappings.
Domain name: ftp.server.com
Global IP : 202.38.1.2
Global port: 21
Protocol : TCP(6)
Config status: Active
Domain name: www.server.com
Global IP : 202.38.1.2
Global port: 80
Protocol : TCP(6)
Config status: Active
NAT logging:
Log enable : Disabled
Flow-begin : Disabled
Flow-end : Disabled
Flow-active : Disabled
Port-block-assign : Disabled
Port-block-withdraw : Disabled
Alarm : Disabled
NO-PAT IP usage : Disabled
NAT mapping behavior:
Mapping mode : Address and Port-Dependent
ACL : ---
Config status: Active
NAT ALG:
DNS : Enabled
FTP : Enabled
H323 : Disabled
ICMP-ERROR : Enabled
ILS : Disabled
MGCP : Disabled
NBT : Disabled
PPTP : Enabled
RTSP : Enabled
RSH : Disabled
SCCP : Disabled
SIP : Disabled
SQLNET : Disabled
TFTP : Disabled
XDMCP : Disabled
Static NAT load balancing: Disabled
# 通過以下顯示命令,可以看到外網主機訪問內網Web Server時生成NAT會話信息。
[Device] display nat session verbose
Slot 1:
Initiator:
Source IP/port: 202.38.1.10/63593
Destination IP/port: 202.38.1.2/80
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/2
Source security zone: Untrust
Responder:
Source IP/port: 10.110.10.1/80
Destination IP/port: 202.38.1.10/63593
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/1
Source security zone: Trust
State: TCP_ESTABLISHED
Application: HTTP
Rule ID: -/-/-
Rule name:
Start time: 2017-05-21 15:09:11 TTL: 11s
Initiator->Responder: 5 packets 1145 bytes
Responder->Initiator: 3 packets 1664 bytes
Total sessions found: 1
內部網絡用戶10.110.10.1~10.110.10.10使用外網地址202.38.1.100訪問Internet。內網用戶地址基於NAT444端口塊靜態映射方式複用外網地址202.38.1.100,外網地址的端口範圍為10001~15000,端口塊大小為500。
圖2-12 NAT444端口塊靜態映射配置組網圖
# 配置接口IP地址、路由、安全域及域間策略保證網絡可達,具體配置步驟略。
# 創建NAT端口塊組1。
<Device> system-view
[Device] nat port-block-group 1
# 添加私網地址成員10.110.10.1~10.110.10.10。
[Device-port-block-group-1] local-ip-address 10.110.10.1 10.110.10.10
# 添加公網地址成員為202.38.1.100。
[Device-port-block-group-1] global-ip-pool 202.38.1.100 202.38.1.100
# 配置端口塊大小為500,公網地址的端口範圍為10001~15000。
[Device-port-block-group-1] block-size 500
[Device-port-block-group-1] port-range 10001 15000
[Device-port-block-group-1] quit
# 在接口GigabitEthernet1/0/2上配置NAT444端口塊靜態映射,引用端口塊組1。
[Device] interface gigabitethernet 1/0/2
[Device-GigabitEthernet1/0/2] nat outbound port-block-group 1
[Device-GigabitEthernet1/0/2] quit
# 以上配置完成後,內網主機可以訪問外網服務器。通過查看如下顯示信息,可以驗證以上配置成功。
[Device] display nat all
NAT logging:
Log enable : Disabled
Flow-begin : Disabled
Flow-end : Disabled
Flow-active : Disabled
Port-block-assign : Disabled
Port-block-withdraw : Disabled
Alarm : Disabled
NO-PAT IP usage : Disabled
NAT mapping behavior:
Mapping mode : Address and Port-Dependent
ACL : ---
Config status: Active
NAT ALG:
DNS : Enabled
FTP : Enabled
H323 : Disabled
ICMP-ERROR : Enabled
ILS : Disabled
MGCP : Disabled
NBT : Disabled
PPTP : Enabled
RTSP : Enabled
RSH : Disabled
SCCP : Disabled
SIP : Disabled
SQLNET : Disabled
TFTP : Disabled
XDMCP : Disabled
NAT port block group information:
Totally 1 NAT port block groups.
Port block group 1:
Port range: 10001-15000
Block size: 500
Local IP address information:
Start address End address VPN instance
10.110.10.1 10.110.10.10 ---
Global IP pool information:
Start address End address
202.38.1.100 202.38.1.100
NAT outbound port block group information:
Totally 1 outbound port block group items.
Interface: GigabitEthernet1/0/2
port-block-group: 1
Config status : Active
Static NAT load balancing: Disabled
# 通過以下顯示命令,可以看到係統生成的靜態端口塊表項信息。
[Device] display nat port-block static
Slot 1:
Local VPN Local IP Global IP Port block Connections
--- 10.110.10.7 202.38.1.100 13001-13500 1
--- 10.110.10.5 202.38.1.100 12001-12500 1
--- 10.110.10.9 202.38.1.100 14001-14500 1
--- 10.110.10.3 202.38.1.100 11001-11500 1
--- 10.110.10.2 202.38.1.100 10501-11000 1
--- 10.110.10.4 202.38.1.100 11501-12000 1
--- 10.110.10.6 202.38.1.100 12501-13000 1
--- 10.110.10.1 202.38.1.100 10001-10500 1
--- 10.110.10.10 202.38.1.100 14501-15000 1
--- 10.110.10.8 202.38.1.100 13501-14000 1
Total mappings found: 10
· 某公司內網使用的IP地址為192.168.0.0/16。
· 該公司擁有202.38.1.2和202.38.1.3兩個外網IP地址。
需要實現,內部網絡中的192.168.1.0/24網段的用戶可以訪問Internet,其它網段的用戶不能訪問Internet。基於NAT444端口塊動態映射方式複用兩個外網地址202.38.1.2和202.38.1.3,外網地址的端口範圍為1024~65535,端口塊大小為300。當為某用戶分配的端口塊資源耗盡時,再為其增量分配1個端口塊。
圖2-13 NAT444端口塊動態映射配置組網圖
# 配置接口IP地址、路由、安全域及域間策略保證網絡可達,具體配置步驟略。
# 配置地址組0,包含兩個外網地址202.38.1.2和202.38.1.3,外網地址的端口範圍為1024~65535,端口塊大小為300,增量端口塊數為1。
<Device> system-view
[Device] nat address-group 0
[Device-address-group-0] address 202.38.1.2 202.38.1.3
[Device-address-group-0] port-range 1024 65535
[Device-address-group-0] port-block block-size 300 extended-block-number 1
[Device-address-group-0] quit
# 配置ACL 2000,僅允許對內部網絡中192.168.1.0/24網段的用戶報文進行地址轉換。
[Device] acl basic 2000
[Device-acl-ipv4-basic-2000] rule permit source 192.168.1.0 0.0.0.255
[Device-acl-ipv4-basic-2000] quit
# 在接口GigabitEthernet1/0/2上配置出方向動態地址轉換,允許使用地址組0中的地址對匹配ACL 2000的報文進行源地址轉換,並在轉換過程中使用端口信息。
[Device] interface gigabitethernet 1/0/2
[Device-GigabitEthernet1/0/2] nat outbound 2000 address-group 0
[Device-GigabitEthernet1/0/2] quit
# 以上配置完成後,Host A能夠訪問外網服務器,Host B和Host C無法訪問外網服務器。通過查看如下顯示信息,可以驗證以上配置成功。
[Device] display nat all
NAT address group information:
Totally 1 NAT address groups.
Address group ID: 0
Port range: 1024-65535
Port block size: 300
Extended block number: 1
Address information:
Start address End address
202.38.1.2 202.38.1.3
Exclude address information:
Start address End address
--- ---
NAT outbound information:
Totally 1 NAT outbound rules.
Interface: GigabitEthernet1/0/2
ACL: 2000
Address group ID: 0
Port-preserved: N NO-PAT: N Reversible: N
Config status: Active
NAT logging:
Log enable : Disabled
Flow-begin : Disabled
Flow-end : Disabled
Flow-active : Disabled
Port-block-assign : Disabled
Port-block-withdraw : Disabled
Alarm : Disabled
NO-PAT IP usage : Disabled
NAT mapping behavior:
Mapping mode : Address and Port-Dependent
ACL : ---
Config status: Active
NAT ALG:
DNS : Enabled
FTP : Enabled
H323 : Disabled
ICMP-ERROR : Enabled
ILS : Disabled
MGCP : Disabled
NBT : Disabled
PPTP : Enabled
RTSP : Enabled
RSH : Disabled
SCCP : Disabled
SIP : Disabled
SQLNET : Disabled
TFTP : Disabled
XDMCP : Disabled
Static NAT load balancing: Disabled
# 通過以下顯示命令,可以看到NAT會話數、當前可分配的動態端口塊總數和已分配的動態端口塊個數。
[Device] display nat statistics
Total session entries: 1
Session creation rate: 0
Total EIM entries: 0
Total inbound NO-PAT entries: 0
Total outbound NO-PAT entries: 0
Total static port block entries: 0
Total dynamic port block entries: 430
Active static port block entries: 0
Active dynamic port block entries: 1
# 通過以下顯示命令,可以看到生成的動態端口塊表項信息。
[Device] display nat port-block dynamic
Slot 1:
Local VPN Local IP Global IP Port block Connections
--- 192.168.1.10 202.38.1.2 65224-65523 1
Total mappings found: 1
支持DS-Lite協議的私網IPv4主機(即:DS-Lite host)和公網IPv4 network通過IPv6網絡相連。通過在DS-Lite host和AFTR之間建立DS-Lite隧道,並在AFTR連接IPv4 network接口上配置NAT,為DS-Lite host動態分配端口塊,實現IPv4私網穿越IPv6網絡訪問IPv4公網。
圖2-14 DS-Lite隧道配置組網圖
需要將創建的DS-Lite隧道接口加入到安全域,並放行域間流量。(本例即將Tunnel 2加入安全域IPv6Zone,同時放行IPv6Zone域到IPv4Zone域間的相關流量。)
在開始下麵的配置之前,請確保DS-Lite host和AFTR之間IPv6報文路由可達。
(1) 配置AFTR端
# 創建安全域IPv6Zone和IPv4Zone,按照組網圖將接口分別加入到對應的安全域中,配置域間策略保證網絡可達,具體配置步驟略。
# 配置接口GigabitEthernet1/0/1的地址。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 20.1.1.1 24
[Device-GigabitEthernet1/0/1] quit
# 配置接口GigabitEthernet1/0/2(隧道的實際物理接口)的地址。
[Device] interface gigabitethernet 1/0/2
[Device-GigabitEthernet1/0/2] ipv6 address 1::2 64
[Device-GigabitEthernet1/0/2] quit
# 創建模式為AFTR端DS-Lite隧道的接口Tunnel2。
[Device] interface tunnel 2 mode ds-lite-aftr
# 配置Tunnel2接口的IP地址。
[Device-Tunnel2] ip address 30.1.2.2 255.255.255.0
# 配置Tunnel2接口的源接口為GigabitEthernet1/0/2。
[Device-Tunnel2] source gigabitethernet 1/0/2
[Device-Tunnel2] quit
# 將Tunnel2接口加入到安全域IPv6Zone。
[Device] security-zone name IPv6Zone
[Device-security-zone-IPv6Zone] import interface Tunnel 2
[Device-security-zone-IPv6Zone] quit
# 在接口GigabitEthernet1/0/1上開啟DS-Lite隧道功能。
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ds-lite enable
[Device-GigabitEthernet1/0/1] quit
# 配置NAT地址組0,包含兩個外網地址20.1.1.11和20.1.1.12,外網地址的端口範圍為1024~65535,端口塊大小為300。
[Device] nat address-group 0
[Device-address-group-0] address 20.1.1.11 20.1.1.12
[Device-address-group-0] port-range 1024 65535
[Device-address-group-0] port-block block-size 300
[Device-address-group-0] quit
# 配置IPv6 ACL 2100,僅允許對1::/64網段的IPv6源地址進行地址轉換。
[Device] acl ipv6 basic 2100
[Device-acl-ipv6-basic-2100] rule permit source 1::/64
[Device-acl-ipv6-basic-2100] quit
# 在接口GigabitEthernet1/0/1上配置出方向動態地址轉換,允許使用地址組0中的地址對匹配IPv6 ACL 2100的DS-Lite B4報文進行源地址轉換,並在轉換過程中使用端口信息。
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] nat outbound ds-lite-b4 2100 address-group 0
[Device-GigabitEthernet1/0/1] quit
(2) 配置DS-Lite host
配置DS-Lite host的IPv4地址為10.0.0.1,IPv6地址為1::1/64,並配置DS-Lite tunnel路由。(具體配置過程略)
# 完成上述配置後,在AFTR上執行display interface tunnel命令,可以看出Tunnel接口處於up狀態。(具體顯示信息略)
# 從DS-Lite host上可以ping通IPv4 Application server。
C:\> ping 20.1.1.2
Pinging 20.1.1.2 with 32 bytes of data:
Reply from 20.1.1.2: bytes=32 time=51ms TTL=255
Reply from 20.1.1.2: bytes=32 time=44ms TTL=255
Reply from 20.1.1.2: bytes=32 time=1ms TTL=255
Reply from 20.1.1.2: bytes=32 time=1ms TTL=255
Ping statistics for 20.1.1.2:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 1ms, Maximum = 51ms, Average = 24ms
# 通過以下顯示命令,可以看到出方向動態地址轉換的配置信息。
[Device] display nat outbound
NAT outbound information:
Totally 1 NAT outbound rules.
Interface: GigabitEthernet1/0/1
DS-Lite B4 ACL: 2100
Address group ID: 0
Port-preserved: N NO-PAT: N Reversible: N
Config status: Active
# 通過以下顯示命令,可以看到NAT會話數、當前可分配的動態端口塊總數和已分配的動態端口塊個數。
[Device] display nat statistics
Total session entries: 1
Session creation rate: 0
Total EIM entries: 0
Total inbound NO-PAT entries: 0
Total outbound NO-PAT entries: 0
Total static port block entries: 0
Total dynamic port block entries: 430
Active static port block entries: 0
Active dynamic port block entries: 1
# 通過以下顯示命令,可以看到生成的DS-Lite B4動態端口塊表項。
[Device] display nat port-block dynamic ds-lite-b4
Slot 1:
Local VPN DS-Lite B4 addr Global IP Port block Connections
--- 1::1 20.1.1.11 65224-65523 1
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!