05-NAT配置
本章節下載: 05-NAT配置 (1016.66 KB)
2.12.4 開啟NO-PAT方式下NAT地址組中地址成員使用率的日誌信息功能
2.13.2 開啟對TCP SYN和SYN ACK報文中時間戳的刪除功能
2.16.1 內網用戶通過NAT地址訪問外網配置舉例(靜態地址轉換)
2.16.2 內網用戶通過NAT地址訪問外網配置舉例(地址不重疊)
2.16.3 內網用戶通過NAT地址訪問外網配置舉例(地址重疊)
2.16.5 外網用戶通過域名訪問內網服務器配置舉例(地址不重疊)
2.16.6 外網用戶通過域名訪問內網服務器配置舉例(地址重疊)
NAT(Network Address Translation,網絡地址轉換)是將IP數據報文頭中的IP地址轉換為另一個IP地址的過程。在實際應用中,NAT主要應用在連接兩個網絡的邊緣設備上,用於實現允許內部網絡用戶訪問外部公共網絡以及允許外部公共網絡訪問部分內部網絡資源(例如內部服務器)的目的。
全局NAT的優先級高於接口NAT。若同時存在全局NAT策略和接口NAT的配置,當流量與全局NAT策略中任意一條過濾規則匹配,那麼接口NAT中的源地址轉換和目的轉換的配置均不生效。建議不要同時配置接口NAT和全局NAT。
設備上經過NAT轉換的報文不會再進行AFT轉換。
使用NAT功能進行地址轉換時,NAT模塊會發布公網IP地址的主機路由。如果公網IP地址是一段地址範圍,則NAT模塊會對公網IP地址範圍劃分網段,劃分網段時使用的掩碼長度為8、16、24、26、28、30。例如,公網IP地址範圍為122.90.12.128~122.90.12.135,則NAT模塊發布的主機路由的目的地址和掩碼長度為122.90.12.128/30和122.90.12.132/30。
NAT基本概念如下:
· NAT設備:配置了NAT功能的連接內部網絡和外部網絡的邊緣設備。
· NAT接口:NAT設備上應用了NAT相關配置的接口。
· NAT規則:用於進行地址轉換的NAT配置稱為NAT規則。NAT規則的位置決定了匹配的優先級,位置越靠前的NAT規則,其匹配優先級越高。
· NAT地址:用於進行地址轉換的公網IP地址,與外部網絡路由可達,可靜態指定或動態分配。
· NAT表項:NAT設備上用於記錄網絡地址轉換映射關係的表項。關於NAT表項的詳細介紹請參見“1.6 NAT表項”。
· Easy IP功能:NAT轉換時直接使用設備上接口的IP地址作為NAT地址。設備上接口的地址可靜態指定或通過DHCP或PPPoE等協議動態獲取。
· 全局NAT:NAT規則的應用範圍為全局。對於全局NAT,所有經過NAT設備的流量都會進行匹配,並對匹配NAT規則的流量進行地址轉換。
· 接口NAT:NAT規則的應用範圍為接口。對於接口NAT,隻有經過應用NAT規則的接口的流量才會進行匹配,並對匹配NAT規則的流量進行地址轉換。
圖1-1 NAT基本工作過程示意圖
如圖1-1所示,一台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之內的一個端口。
基於端口塊的PAT模式包括端口塊方式包括靜態映射和動態映射兩種,主要應用在NAT444中。
· 端口塊靜態映射
端口塊靜態映射是指,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服務。這種情況下,通過定義內部服務器對外提供服務使用的外部IP地址+端口與內部服務器在內網使用的地址+端口的映射關係,實現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.9 NAT支持ALG”。
NO-PAT表項有以下兩個作用:
· 保證後續來自相同源地址的新建連接與首次連接使用相同的轉換關係。
· 允許滿足指定條件的主機向NAT地址發起的新建連接根據NO-PAT表項進行反向地址轉換。
該表項在與其相關聯的所有NAT會話表項老化後老化。
端口塊表項記錄1個用戶在網關轉換前的私網IP地址、轉換後對應的公網IP地址及其端口塊。端口塊表項分為靜態端口塊表項和動態端口塊表項。關於端口塊表項的詳細介紹,請參見“1.5.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支持多VPN實例。
NAT hairpin功能用於滿足位於內網側的用戶之間或內網側的用戶與服務器之間通過NAT地址進行訪問的需求,通過對報文同時進行源地址和目的地址的轉換來實現。它支持兩種組網模式:
· P2P:位於內網側的用戶之間通過動態分配的NAT地址互訪。內網各主機首先向外網服務器注冊自己的內網地址信息,該地址信息為外網側出方向地址轉換的NAT地址,然後內網主機之間通過使用彼此向外網服務器注冊的外網地址進行互訪。
· C/S:位於內網側的用戶使用NAT地址訪問內網服務器。
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過渡方案。
NAT444解決方案分為集中部署和分布部署兩種。
通過在CR設備上安裝處理NAT業務的slot或者旁掛NAT444設備來實現NAT444。如圖1-5所示,用戶訪問外部網絡時,CPE設備上進行第一次NAT轉換,然後在BRAS上完成AAA認證和私網地址的分配,認證通過後,用戶發起訪問外網的報文會在NAT444網關上進行NAT444轉換(第二次NAT轉換)。
圖1-5 NAT444集中部署組網圖
通過在BRAS設備上安裝處理NAT業務的slot實現NAT444,此種部署方式需要配置BRAS聯動功能。如圖1-6所示。配置NAT444網關與BRAS聯動(通過在認證ISP域中指定具體的用戶地址類型),用戶通過AAA認證並分配得到私網地址之後,NAT444網關會立即為該用戶分配公網地址以及端口塊,並將用戶的私網IP地址、分配的公網地址及該端口塊的映射關係通知給BRAS(如果NAT444網關上可分配的公網資源已耗盡,BRAS會強製用戶下線,也不會對用戶進行計費)。BRAS記錄該地址映射關係,並將這個映射關係上報給AAA服務器。之後,該用戶訪問外部網絡時直接使用NAT444網關已經分配的公網地址和端口塊。通過此聯動功能,AAA服務器能夠獲得並統一維護所有用戶的地址映射關係,提供更便捷的用戶溯源服務。
目前,僅支持對PPP用戶的業務與NAT444網關聯動。
圖1-6 NAT444分布式部署組網圖
分屬不同VPN的內部網絡主機使用了相同的地址空間,為了實現不同VPN中地址重疊的內網主機互訪,需要配置靜態NAT,對同一個方向的同一條流的數據報文同時進行源IP地址轉換和目的IP地址轉換。
如圖1-7所示,VPN 1和VPN 2中的內網用戶地址均為192.168.1.1。配置靜態NAT,將VPN 1中Host A的地址在VPN 2中轉換為172.16.1.1,將VPN 2中Host B的地址在VPN 1中轉換為172.16.2.1。當靜態NAT生效後,Host A使用172.16.2.1能夠訪問Host B,Host B使用172.16.1.1能夠訪問Host A。
圖1-7 地址中疊的兩個VPN之間互訪
當內部網絡主機使用外網注冊地址或者合法的外網地址訪問外部網絡時,內網主機的IP地址和外網主機的IP地址可能會發生重疊。為了實現內網主機能夠成功訪問與之地址重疊的外部服務器,需要配置NAT ALG+動態NAT。
如圖1-8所示,內網Host通過域名訪問外網Web服務器,Host和Web服務器的IP地址均為192.168.1.1。
(1) 內網Host首先向外網的DNS服務器發起DNS查詢請求。
(2) DNS服務器發送的DNS應答報文中,Web服務器的域名對應的IP地址為192.168.1.1。DNS應答報文經過NAT設備時,進行DNS的NAT ALG處理,將DNS應答報文中域名對應的IP地址192.168.1.1轉換為10.1.1.1(該地址為臨時分配的NAT地址)。NAT設備將ALG處理後的DNS應答報文發送給內網Host。
(3) Host訪問Web服務器的報文中,源IP地址為192.168.1.1,目的IP地址為10.1.1.1。報文經過NAT設備時,NAT設備根據動態NAT配置將源地址192.168.1.1轉換為20.1.1.1;NAT設備檢測到目的地址10.1.1.1為臨時分配的NAT地址,根據步驟(2)中的轉換關係,將10.1.1.1轉換為192.168.1.1。
在實際組網中,用戶可以通過限製當前VPN的會話數,避免某個VPN消耗過多資源。當設備統計到該VPN實際建立的NAT會話數已經超過配置的限製數,將不會再建立新的NAT會話,從而限製該用戶的訪問。
接口NAT通用配置限製和指導如下:
· 如果NAT規則中使用了ACL進行報文過濾,則NAT隻對匹配指定的ACL permit規則的報文才進行地址轉換,匹配時僅關注ACL規則中定義的源IP地址、源端口號、目的IP地址、目的端口號、傳輸層協議類型和VPN實例,不關注ACL規則中定義的其它元素。
· 在雙上行鏈路組網環境中,一個出接口配置了地址轉換,另一個出接口沒有配置地址轉換,這種情況下,建議用戶不要將兩個出接口添加到同一個安全域,否則可能導致流量中斷。關於“安全域”的相關介紹,請參見“安全配置指導”中的“安全域”。
· 若接口上同時存在普通NAT靜態地址轉換、普通NAT動態地址轉換、內部服務器、NAT444端口塊靜態映射和NAT444端口塊動態映射的配置,則在地址轉換過程中,它們的優先級從高到低依次為:
a. 內部服務器。
b. 普通NAT靜態地址轉換。
c. NAT444端口塊靜態映射。
d. NAT444端口塊動態映射和普通NAT動態地址轉換。對於NAT444端口塊動態映射和普通NAT動態地址轉換,係統在處理IPv4報文時對二者不做區分,統一按照ACL編號由大到小的順序匹配。
配置BRAS聯動功能時,需要注意:
· 目前,支持BRAS聯動功能的用戶地址類型包括私網IP地址(private-ipv4)和私網雙棧地址(private-ds)。
· 用戶上線後,若NAT444配置發生變更,則在線用戶使用的公網IP和端口塊也會隨之變化,而上報給RADIUS服務器的公網IP和端口塊並不能保持同步變化,會導致在線用戶溯源不準確。因此,建議在NAT444配置發生變更之後,立即手動強製所有使用該NAT配置的用戶下線。當用戶再次上線之後,將會使用配置變更後的公網IP和端口。
(1) 配置接口上的地址轉換方式
(2) (可選)配置NAT hairpin功能
(3) (可選)配置NAT ALG
(4) (可選)配置NAT DNS mapping功能
(5) (可選)配置NAT維護功能
(6) (可選)配置NAT日誌功能
(7) (可選)特定條件下的NAT配置
¡ 開啟對TCP SYN和SYN ACK報文中時間戳的刪除功能
(8) 配置NAT基於VPN限製會話數
入方向的靜態地址轉換建議與接口上的出方向動態地址轉換(nat outbound)、內部服務器(nat server)或出方向靜態地址轉換(nat static outbound)配合使用,以實現“源IP地址轉換+目的IP地址轉換”。
· 配置控製地址轉換範圍的ACL。ACL配置的相關介紹請參見“ACL和QoS配置指導”中的“ACL”。
· 對於入方向靜態地址轉換,需要手動添加路由:目的地址為靜態地址轉換配置中指定的local-ip或local-network;下一跳為靜態地址轉換配置中指定的外網地址,或者報文出接口的實際下一跳地址。
出方向一對一靜態地址轉換通常應用在外網側接口上,用於實現一個內部私有網絡地址到一個外部公有網絡地址的轉換,具體過程如下:
· 對於經過該接口發送的內網訪問外網的報文,將其源IP地址與指定的內網IP地址local-ip進行匹配,並將匹配的源IP地址轉換為global-ip。
· 對於該接口接收到的外網訪問內網的報文,將其目的IP地址與指定的外網IP地址global-ip進行匹配,並將匹配的目的IP地址轉換為local-ip。
多個出方向一對一靜態地址轉換引用不同的ACL規則時,可以將同一個私網地址轉換為不同的公網地址。
出方向一對一靜態地址轉換的配置中不引用ACL規則時,該靜態地址轉換允許反方向發起的連接進行地址轉換。否則,必須指定reversible參數才允許反向地址轉換。
調整出方向一對一靜態NAT規則的匹配優先級時,被移動的規則必須滿足如下所有條件:
· 被移動的NAT規則均指定了規則名稱。
· 被移動的NAT規則的global-ip相同或local-ip相同。符合此條件的兩條NAT規則中,至少有一條NAT規則引用了ACL。
(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 ] ] [ vrrp virtual-router-id ] [ rule rule-name ] [ priority priority ] [ disable ] [ counting ] [ packet-type-ignore ] [ description text ]
(3) (可選)調整出方向一對一靜態NAT規則的匹配優先級。
nat static outbound rule move nat-rule-name1 { after | before } nat-rule-name2
缺省情況下,出方向一對一靜態NAT規則的位置決定了匹配的優先級,位置越靠前的NAT規則,其匹配優先級越高。
(4) 進入接口視圖。
interface interface-type interface-number
(5) 開啟接口上的NAT靜態地址轉換功能。
nat static enable
缺省情況下,NAT靜態地址轉換功能處於關閉狀態。
出方向網段對網段靜態地址轉換通常應用在外網側接口上,用於實現一個內部私有網絡到一個外部公有網絡的地址轉換,具體過程如下:
· 對於經過該接口發送的內網訪問外網的報文,將其源IP地址與指定的內網網絡地址進行匹配,並將匹配的源IP地址轉換為指定外網網絡地址之一。
· 對於該接口接收到的外網訪問內網的報文,將其目的IP地址與指定的外網網絡地址進行匹配,並將匹配的目的IP地址轉換為指定的內網網絡地址之一。
調整出方向網段到網段靜態NAT規則的匹配優先級時,被移動的規則必須滿足如下所有條件:
· 要移動的NAT規則均指定了規則名稱。
· 要移動的NAT規則的外網網段相同或內網網段相同。符合此條件的兩條NAT規則中,至少有一條NAT規則引用了ACL。
(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 ] ] [ vrrp virtual-router-id ] [ rule rule-name ] [ priority priority ] [ disable ] [ counting ]
(3) (可選)調整出方向網段對網段靜態NAT規則的匹配優先級。
nat static outbound net-to-net rule move nat-rule-name1 { after | before } nat-rule-name2
缺省情況下,出方向網段對網段靜態NAT規則的位置決定了匹配的優先級,位置越靠前的NAT規則,其匹配優先級越高。
(4) 進入接口視圖。
interface interface-type interface-number
(5) 開啟接口上的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 ] ] [ vrrp virtual-router-id ] [ 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。
調整入方向一對一靜態NAT規則的匹配優先級時,被移動的規則必須滿足如下所有條件:
· 要移動的NAT規則均指定了規則名稱。
· 要移動的NAT規則的global-ip相同或local-ip相同。符合此條件的兩條NAT規則中,至少有一條NAT規則引用了ACL。
(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 ] [ packet-type-ignore ] [ description text ]
(3) (可選)調整入方向一對一靜態NAT規則的匹配優先級。
nat static inbound rule move nat-rule-name1 { after | before } nat-rule-name2
缺省情況下,入方向一對一靜態NAT規則的位置決定了匹配的優先級,位置越靠前的NAT規則,其匹配優先級越高。
(4) 進入接口視圖。
interface interface-type interface-number
(5) 開啟接口上的NAT靜態地址轉換功能。
nat static enable
缺省情況下,NAT靜態地址轉換功能處於關閉狀態。
入方向網段對網段靜態地址轉換用於實現一個內部私有網絡與一個外部公有網絡之間的地址轉換,具體過程如下:
· 對於經過該接口發送的內網訪問外網的報文,將其目的IP地址與指定的內網網絡地址進行匹配,並將匹配的目的IP地址轉換為指定的外網網絡地址之一。
· 對於該接口接收到的外網訪問內網的報文,將其源IP地址與指定的外網網絡地址進行匹配,並將匹配的源IP地址轉換為指定的內網網絡地址之一。
調整入方向網段到網段靜態NAT規則的匹配優先級時,被移動的規則必須滿足如下所有條件:
· 要移動的NAT規則均指定了規則名稱。
· 要移動的NAT規則的外網網段相同或內網網段相同。符合此條件的兩條NAT規則中,至少有一條NAT規則引用了ACL。
(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) (可選)調整入方向網段對網段靜態NAT規則的匹配優先級。
nat static inbound net-to-net rule move nat-rule-name1 { after | before } nat-rule-name2
缺省情況下,入方向網段對網段靜態NAT規則的位置決定了匹配的優先級,位置越靠前的NAT規則,其匹配優先級越高。
(4) 進入接口視圖。
interface interface-type interface-number
(5) 開啟接口上的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編號的大小決定,編號越大,優先級越高。
· 配置控製地址轉換範圍的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) 退回係統視圖。
quit
(5) 進入接口視圖。
interface interface-type interface-number
(6) 配置出方向動態地址轉換。請至少選擇其中一項進行配置。
¡ 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 ] [ counting ] [ description text ]
¡ 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 ] [ counting ] [ description text ]
一個接口下可配置多個出方向的動態地址轉換。
參數 |
功能 |
address-group |
不指定該參數時,則直接使用該接口的IP地址作為轉換後的地址,即實現Easy IP功能 |
no-pat reversible |
在指定該參數,並且已經存在NO-PAT表項的情況下,對於經過該接口收到的外網訪問內網的首報文,將其目的IP地址與NO-PAT表項進行匹配,並將目的IP地址轉換為匹配的NO-PAT表項中記錄的內網地址 |
(7) (可選)配置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方式的出方向動態地址轉換有效。
(8) (可選)調整出方向動態NAT規則的匹配優先級。
nat outbound rule move nat-rule-name1 { after | before } nat-rule-name2
入方向動態地址轉換功能通常與接口上的出方向動態地址轉換(nat outbound)、內部服務器(nat server)或出方向靜態地址轉換(nat static outbound)配合,用於實現“源IP地址轉換+目的IP地址轉換”,不建議單獨使用。
由於自動添加路由表項速度較慢,通常建議手工添加路由。
(1) 進入係統視圖。
system-view
(2) 創建NAT地址組,並進入NAT地址組視圖。
nat address-group group-id [ name group-name ]
(3) 添加地址組成員。
address start-address end-address
可通過多次執行本命令添加多個地址組成員。
當前地址組成員的IP地址段不能與該地址組中或者其它地址組中已有的地址組成員重疊。
(4) 退回係統視圖。
quit
(5) 進入接口視圖。
interface interface-type interface-number
(6) 配置入方向動態地址轉換。
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 ] [ counting ] [ description text ]
一個接口下可配置多個入方向的動態地址轉換。
參數 |
功能 |
no-pat reversible |
指定該參數,並且已經存在NO-PAT表項的情況下,對於經過該接口發送的內網訪問外網的首報文,將其目的IP地址與NO-PAT表項進行匹配,並將目的IP地址轉換為匹配的NO-PAT表項中記錄的外網地址 |
no-pat add-route |
· 指定該參數,則有報文命中該配置時,設備會自動添加路由表項:目的地址為本次地址轉換使用的地址組中的地址,出接口為本配置所在接口,下一跳地址為報文的源地址 · 沒有指定該參數,則用戶需要在設備上手工添加路由 |
(7) (可選)調整入方向動態NAT規則的匹配優先級。
nat inbound rule move nat-rule-name1 { after | before } nat-rule-name2
內部服務器通常配置在外網側接口上。通過在NAT設備上配置內部服務器,建立一個或多個內網服務器內網地址和端口與外網地址和端口的映射關係,使外部網絡用戶能夠通過配置的外網地址和端口來訪問內網服務器。內部服務器可以位於一個普通的內網內,也可以位於一個VPN實例內。
內部服務器可以通過如下配置方式實現。
· 普通內部服務器:將內網服務器的地址和端口映射為外網地址和端口,允許外部網絡中的主機通過配置的外網地址和端口訪問位於內網的服務器。
· 負載分擔內部服務器:在配置內部服務器時,將內部服務器的內網信息指定為一個內部服務器組,組內的多台主機可以共同對外提供某種服務。外網用戶向內部服務器指定的外網地址發起應用請求時,NAT設備可根據內網服務器的權重和當前連接數,選擇其中一台內網服務器作為目的服務器,實現內網服務器負載分擔。
· 基於ACL的內部服務器:普通內部服務器方式必須指定公網地址,基於ACL內部服務器不用指定具體的公網地址,而是指定公網地址的集合,即通過ACL規則匹配過濾的一部分公網地址。對於符合ACL規則的報文,它的目的地址統一轉換成相同的內部服務器地址和端口,它是普通內部服務器的擴展。
· 基於對象組的內部服務器:基於對象組的內部服務器使用地址對象組和服務對象組作為報文匹配條件,對於符合匹配條件的報文,它的目的地址和端口統一轉換成相同的內部服務器地址和端口。關於對象組的詳細介紹,請參見“安全配置指導”中的“對象組”。
使用RTP(Real-Time Transport Protocol,實時傳輸協議)傳輸音視頻的場景中,在RTP會話期間,服務器和客戶端作為會話的參與者會周期性發送RTCP(Real-time ControlProtocol,實時傳輸控製協議)報文。如果服務器位於私網,配置nat server命令時需要指定reversible參數,否則服務器發送到公網客戶端的RTCP報文會被NAT設備丟棄,導致音視頻傳輸業務出現異常。
在配置負載分擔內部服務器時,若配置一個外網地址,N個連續的外網端口號對應一個內部服務器組,或N個連續的外網地址,一個外網端口號對應一個內部服務器組,則內部服務器組的成員個數不能小於N,即同一用戶不能通過不同的外網地址或外網端口號訪問相同內網服務器的同一服務。在支持NAT內部服務器自動分配NAT規則名稱的版本上執行配置回滾操作時,如果回滾配置文件中的NAT內部服務器不存在係統為其自動分配的NAT規則名稱,會出現回滾失敗的錯誤提示信息。比如,回滾配置文件中的配置為nat server global 112.1.1.1 inside 192.168.20.1,回滾操作完成後的配置為nat server global 112.1.1.1 inside 192.168.20.1 rule 內部服務器規則_10(內部服務器規則_10為係統自動分配的NAT規則名稱),係統會將此配置與回滾文件中的配置進行比較,比較後發現兩者不一致,會提示用戶回滾失敗。這種情況下,相關的命令已下發成功,用戶無需處理。
配置內部服務器時,如果將TCP或UDP協議的端口號改為非知名端口號,則NAT設備不會進行ALG處理,導致用戶無法使用內部服務器提供的服務。可通過如下兩種方式解決上述問題:
· 修改內部服務器配置,使用TCP或UDP協議自身的知名端口號。
· 不修改內部服務器配置,使用port-mapping命令建立TCP或UDP協議與對應的內部服務器配置中的端口號的映射。關於port-mapping命令的詳細介紹,請參見“安全配置指導”中的“APR”。
(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 ] [ vrrp virtual-router-id ] [ rule rule-name ] [ disable ] [ counting ] [ description text ]
¡ 外網地址單一,外網端口連續。
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 } ] [ vrrp virtual-router-id ] [ rule rule-name ] [ disable ] [ counting ] [ description text ]
¡ 外網地址連續,未使用外網端口。
nat server protocol pro-type global global-address1 global-address2 [ 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 } ] [ vrrp virtual-router-id ] [ rule rule-name ] [ disable ] [ counting ] [ description text ]
¡ 外網地址連續,外網端口單一。
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 ] | [ local-address | local-address1 local-address2 ] [ local-port ] } [ vpn-instance local-vpn-instance-name ] [ acl { ipv4-acl-number | name ipv4-acl-name } ] [ vrrp virtual-router-id ] [ rule rule-name ] [ disable ] [ counting ] [ description text ]
一個接口下可以配置多個普通內部服務器。
(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 } ] [ vrrp virtual-router-id ] [ rule rule-name ] [ disable ] [ counting ] [ description text ]
一個接口下可以配置多個負載分擔內部服務器。
(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 ] [ vrrp virtual-router-id ] [ rule rule-name ] [ priority priority ] [ disable ] [ counting ] [ description text ]
一個接口下可以配置多個基於ACL的內部服務器。
(4) (可選)調整基於ACL內部服務器NAT規則的匹配優先級。
nat server rule move nat-rule-name1 { after | before } nat-rule-name2
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端口塊靜態映射配置。
一個接口下可配置多條基於不同端口塊組的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。
向NAT地址組中添加地址成員時,可采用如下方式之一:
· 添加一個或多個IP地址段。
· 添加一個接口,即實現Easy IP功能的NAT444端口塊動態映射。與實現Easy IP功能的出方向動態地址轉換相比,該方式支持用戶溯源。
對於同一個NAT地址組,隻能采用一種地址成員添加方式。
在NAT轉換後的IP地址為設備外網側接口的IP地址,且該地址是通過DHCP或PPPoE等協議動態獲取的情況下,為了防止接口IP地址變化導致NAT IP地址信息不正確,請采用添加接口的方式。
(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) 添加地址成員。下麵兩種方法互斥,請選擇其中一項進行配置。
¡ 將IP地址段作為NAT地址組中的地址成員。
address start-address end-address
可通過多次執行本命令添加多個地址組成員。
當前地址組成員的IP地址段不能與該地址組中或者其它地址組中已有的地址成員組成員
重疊。
¡ 將接口的IP地址作為NAT地址組中的地址成員,即實現Easy IP功能。
address interface interface-type interface-number
缺省情況下,未指定接口地址作為地址成員。
在同一個NAT地址組中,通過本命令隻能將一個接口的地址作為地址成員。
(5) (可選)配置端口範圍。
port-range start-port-number end-port-number
缺省情況下,端口範圍為1~65535。
該配置僅對PAT方式地址轉換生效。
(6) 配置端口塊參數。
port-block block-size block-size [ extended-block-number extended-block-number ]
缺省情況下,未配置NAT地址組的端口塊參數。
該配置僅對PAT方式地址轉換生效。
(7) 退回係統視圖。
quit
(8) 進入接口視圖。
interface interface-type interface-number
(9) 配置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 ] [ counting ] [ description text ]
port-preserved參數對NAT444端口塊動態映射無效。
(10) (可選)開啟NAT444業務熱備份功能。
a. 退回係統視圖。
quit
b. 開啟NAT444業務熱備份功能。
nat port-block synchronization enable
缺省情況下,NATNAT444業務熱備份功能處於關閉狀態。
本命令的支持情況與設備的型號有關,具體請參見命令參考。
在已配置NAT444端口塊動態映射的情況下,當同一個源IP地址的報文從不同出接口進行NAT地址轉換時,可能會分配到不同的端口塊。如果需要使同一個源IP地址分配到相同的端口塊,請開啟端口塊全局共享功能。
(1) 進入係統視圖。
system-view
(2) 配置NAT444端口塊全局共享功能。
nat port-block global-share enable
缺省情況下,端口塊全局共享功能處於關閉狀態。
NAT hairpin功能用於滿足位於內網側的用戶之間或用戶與服務器之間通過NAT地址進行訪問的需求。開啟NAT hairpin的內網側接口上會對報文同時進行源地址和目的地址的轉換。
NAT hairpin功能需要與地址轉換配合工作,支持如下兩種不同的配合方式:
· NAT hairpin功能與內部服務器(nat server)、出方向動態地址轉換(nat outbound)配合工作。
· NAT hairpin功能與內部服務器(nat server)、出方向靜態地址轉換(nat static outbound)配合工作。
NAT hairpin與不同的地址轉換配合工作時,這些配置所在的接口必須在同一個接口板,否則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的相關轉換配置來完成載荷信息的轉換,以保證後續數據連接的正確建立。
(1) 進入係統視圖。
system-view
(2) 開啟指定或所有協議類型的NAT ALG功能。
nat alg { all | dns | ftp | h323 | icmp-error | ils | mgcp | nbt | pptp | rsh | rtsp | sccp | sctp | sip | sqlnet | tftp | xdmcp }
缺省情況下,DNS、FTP、ICMP差錯報文、PPTP、RTSP協議類型的NAT ALG功能處於開啟狀態,其他協議類型的NAT ALG功能處於關閉狀態。
NAT DNS mapping功能適用於DNS服務器在公網、私網用戶希望通過域名來訪問內部服務器的場景中。在該場景中,NAT設備對來自外網的DNS響應報文進行DNS ALG處理時,借助DNS mapping映射關係精確匹配內部服務器配置,進而獲取內部服務器的內網IP地址。具體機製如下:
(1) NAT設備收到來自外網的DNS響應報文時,獲取內網服務器域名和外網IP地址的對應關係。
(2) NAT設備根據域名和應用服務器外網IP地址的對應關係查找NAT DNS mapping映射表,獲取“內部服務器域名<-->外網IP地址+外網端口號+協議類型”的映射關係。
(3) NAT設備根據“內部服務器域名<-->外網IP地址+外網端口號+協議類型”的映射關係匹配內部服務器配置,獲取內部服務器的內網IP地址,並進行地址轉換。
(4) NAT設備將地址轉換後的DNS響應報文發送給內網用戶。
DNS mapping功能需要和內部服務器配合使用,由nat server配置定義內部服務器對外提供服務的外網IP地址和端口號,由DNS mapping建立“內部服務器域名<-->外網IP地址+外網端口號+協議類型”的映射關係。
(1) 進入係統視圖。
system-view
(2) 開啟DNS協議類型的NAT ALG功能。
nat alg dns
缺省情況下,DNS協議類型的NAT ALG功能處於開啟狀態。
(3) 配置一條域名到內部服務器的映射。
nat dns-map domain domain-name protocol pro-type { interface interface-type interface-number | ip global-ip } port global-port
可配置多條域名到內部服務器的映射。
在單台NAT設備的組網中,一旦發生單點故障,內網用戶將無法與外網通信。采用HA方案可以很好的避免上述情況的發生。在該方案中部署兩台設備組成HA,這兩台設備均可承擔NAT業務,並通過HA通道進行會話熱備、會話關聯表熱備、NAT端口塊表項熱備以及NAT配置的同步。當其中一台設備故障後流量自動切換到另一台正常工作的設備。
有關HA的詳細介紹,請參見“可靠性配置指導”中的“雙機熱備(RBM)”。
HA組網中的兩台設備均可承擔NAT業務,實際處理NAT業務的設備由VRRP備份組中的Master設備承擔。下麵以主備模式的HA為例,介紹該場景中當Master設備發生故障時如何保證NAT業務不中斷。
如圖2-1所示,Device A和Device B組成HA(Device A為HA中的主管理設備,Device B為HA中的從管理設備),Device A通過備份通道將會話表項、會話關聯表項和端口塊表項實時備份到Device B。同時,Device A和Device B的下行鏈路組成VRRP備份組1,上行鏈路組成VRRP備份組2,並將VRRP和HA關聯。HA根據鏈路狀態或設備的轉發能力選擇Device A作為Master設備,正常情況下,由Device A進行地址轉換。
如圖2-2所示,當Device A的接口Interface A2發生故障時,Device B在VRRP備份組中的狀態由Backup變為Master,由於Device B上已經有相關的NAT配置信息和業務表項,因此可以保證鏈路切換後的NAT業務不中斷。
在主備模式的HA組網中,靜態IP地址轉換、源IP地址轉換、目的IP地址轉換的部分轉換配置會將轉換後的公網IP地址或內部服務器對外提供服務的公網IP地址下發到地址管理。然後,主、備設備均會向同一局域網內所有節點通告公網IP與自身物理接口MAC地址的對應關係。導致與HA直連的上行三層設備可能會將下行報文發送給HA中的Backup設備,從而影響業務的正常運行。
為了避免上述情況的發生,需要將地址轉換方式與VRRP備份組綁定。執行綁定操作後,僅Master設備收到對轉換後IP地址或內部服務器對外提供服務的公網IP地址的ARP請求後,會回應ARP響應報文,響應報文中攜帶的MAC地址為此VRRP備份組的虛擬MAC地址,使得與HA直連的上行三層設備隻會將下行報文發送給HA中的Master設備,保證業務的正常運行。
關於HA的詳細介紹,請參見“高可靠性配置指導”中的“雙機熱備(RBM)”。
本功能的支持情況與設備型號有關,請以設備的實際情況為準。
型號 |
說明 |
MPU-60 |
支持 |
MPU-100 |
支持 |
MPU-100-X1 |
支持 |
MPU-100-G |
不支持 |
請在HA的主管理設備上將NAT轉換配置與VRRP備份組綁定。
在主備模式的HA組網中使用NAT444端口塊動態映射時,必須開啟NAT444業務熱備份功能(通過nat port-block synchronization enable命令)。否則,主備切換後會觸發端口塊重新分配,從而導致流量中斷。
(1) 進入係統視圖。
system-view
(2) 將地址轉換配置與VRRP備份組綁定。請根據網絡需求選擇步驟(3)~(8)中的一項或多項進行配置。
(3) 將NAT地址組與VRRP備份組綁定。
a. 進入NAT地址組視圖。
nat address-group group-id [ name group-name ]
b. 將NAT地址組與VRRP備份組綁定。
vrrp vrid virtual-router-id
缺省情況下,NAT地址組未綁定任何VRRP備份組。
(4) 將NAT端口塊組與VRRP備份組綁定。
a. 進入NAT端口塊組視圖。
nat port-block-group group-id
b. 將NAT端口塊組與VRRP備份組綁定。
vrrp vrid virtual-router-id
缺省情況下,NAT端口塊組未綁定任何VRRP備份組。
(5) 將出方向一對一靜態地址轉換映射與VRRP備份組綁定。
請參見“2.3.3 配置出方向一對一靜態地址轉換”。
(6) 將出方向網段到網段的靜態地址轉換映射VRRP備份組綁定。
請參見“2.3.4 配置出方向網段對網段靜態地址轉換”。
(7) 將基於對象組的出方向靜態地址轉換映射VRRP備份組綁定。
請參見“2.3.5 配置基於對象組的出方向靜態地址轉換”。
(8) 將NAT內部服務器與VRRP備份組綁定。
a. 進入接口視圖。
interface interface-type interface-number
b. 將NAT內部服務器與VRRP備份組綁定。
請參見“2.5.2 配置普通內部服務器”、“2.5.4 配置負載分擔內部服務器”、“2.5.5 配置基於ACL的內部服務器”。
在雙主模式的HA組網中,兩台設備互為主備,仍然可能出現與HA直連的上行三層設備將下行報文發送給HA中的Backup設備,從而影響業務正常運行的情況。
為了避免上述情況的發生,需要將地址轉換方式與VRRP備份組綁定。執行綁定操作後,僅Master設備收到對轉換後IP地址或內部服務器對外提供服務的公網IP地址的ARP請求後,會回應ARP響應報文,響應報文中攜帶的MAC地址為此VRRP備份組的虛擬MAC地址。關於HA的詳細介紹,請參見“高可靠性配置指導”中的“雙機熱備(RBM)”。
本功能的支持情況與設備型號有關,請以設備的實際情況為準。
型號 |
說明 |
MPU-60 |
支持 |
MPU-100 |
支持 |
MPU-100-X1 |
支持 |
MPU-100-G |
不支持 |
請根據不同的情況選擇不同的配置方式:
· 雙主模式的HA組網中,兩台設備可以共用同一個NAT地址組/NAT端口塊組,需要注意的是,為了防止不同的Master設備將不同主機的流量轉換為同一個地址和端口號,需要使用PAT模式的地址轉換,並配置nat remote-backup port-alloc命令,使得不同的Master設備使用不同範圍的端口資源。
· 除上述情況外,建議雙主模式HA組網中的兩台設備使用不同的公網IP進行地址轉換,避免出現不同的Master設備對不同主機的流量進行地址轉換後,地址轉換的結果相同的情況。例如,當HA中的兩台設備使用不同地址範圍的NAT地址組/NAT端口塊組時(通過NAT規則引用的ACL匹配用戶流量,實現不同源IP地址範圍的用戶流量使用不同的NAT地址組/NAT端口塊組進行地址轉換),不同的內網用戶設置不同的網關地址,使得正向地址轉換的流量由不同的Master設備進行處理。請在HA的主管理設備上將不同的NAT地址組或NAT端口塊組與不同的VRRP備份組綁定,從而引導反向地址轉換的流量使用不同的Master設備進行地址轉換,實現NAT業務的負載分擔。
在雙主模式的HA組網中,需要注意:
· 使用NAT444端口塊動態映射時,必須同時開啟NAT444業務熱備份功能(通過nat port-block synchronization enable命令)和端口拆分功能(通過nat remote-backup port-alloc命令)。否則,兩台設備可能因分配相同的端口而導致端口衝突,從而造成流量中斷。
· 使用NAT444端口塊靜態映射時,配置nat port-block synchronization enable命令後,nat remote-backup port-alloc命令才會生效。
(1) 進入係統視圖。
system-view
(2) 將地址轉換配置與VRRP備份組綁定。請根據網絡需求選擇步驟(3)~(8)中的一項或多項進行配置。
(3) 將NAT地址組與VRRP備份組綁定。
a. 進入NAT地址組視圖。
nat address-group group-id [ name group-name ]
b. 將NAT地址組與VRRP備份組綁定。
vrrp vrid virtual-router-id
缺省情況下,NAT地址組未綁定任何VRRP備份組。
重複執行本命令,最後一次執行的命令生效。
(4) 將NAT端口塊組與VRRP備份組綁定。
a. 進入NAT端口塊組視圖。
nat port-block-group group-id
b. 將NAT地址組或NAT端口塊組與VRRP備份組綁定。
vrrp vrid virtual-router-id
缺省情況下,NAT地址組或NAT端口塊組未綁定任何VRRP備份組。
重複執行本命令,最後一次執行的命令生效。
(5) 將出方向一對一靜態地址轉換映射與VRRP備份組綁定。
請參見“2.3.3 配置出方向一對一靜態地址轉換”。
(6) 將出方向網段到網段的靜態地址轉換映射VRRP備份組綁定。
請參見“2.3.4 配置出方向網段對網段靜態地址轉換”。
(7) 將基於對象組的出方向靜態地址轉換映射VRRP備份組綁定。
請參見“2.3.5 配置基於對象組的出方向靜態地址轉換”。
(8) 將NAT內部服務器與VRRP備份組綁定。
a. 進入接口視圖。
interface interface-type interface-number
b. 將NAT內部服務器與VRRP備份組綁定。
請參見“2.5.2 配置普通內部服務器”、“2.5.4 配置負載分擔內部服務器”、“2.5.5 配置基於ACL的內部服務器”。
(9) (可選)指定HA中主、從管理設備可以使用的NAT端口塊範圍。
a. 退回係統視圖。
quit
b. 指定HA中主、從管理設備可以使用的NAT端口塊範圍。
nat remote-backup port-alloc { primary | secondary }
缺省情況下,HA中的主、從管理設備共用NAT端口資源。
參數 |
功能 |
primary |
表示使用數值較小的一半端口 |
secondary |
表示使用數值較大的一半端口 |
缺省情況下,NAT設備對ICMP報文的地址轉換失敗時,不會發送ICMP差錯報文,從而導致使用ICMP協議報文的應用無法感知此事件。開啟本功能後,NAT設備對ICMP報文地址轉換失敗時,會發送ICMP差錯報文,使用ICMP協議報文的應用根據收到的ICMP差錯報文發現和定位問題。
(1) 進入係統視圖。
system-view
(2) 開啟設備NAT轉換失敗發送ICMP差錯報文功能。
nat icmp-error reply
缺省情況下,NAT轉換失敗時,設備不發送ICMP差錯報文。
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端口塊動態映射方式中,當端口塊分配失敗時,係統會輸出日誌信息。
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資源用盡時,係統會輸出告警日誌。
(4) (可選)配置動態NAT444端口塊使用率的閾值。
nat log port-block usage threshold threshold-value
缺省情況下,動態NAT444的端口塊使用率的閾值為90%。
創建動態端口塊表項時,若端口塊的使用率大於閾值,係統會輸出告警日誌。
創建NO-PAT表項時,若NO-PAT方式下NAT地址組中地址成員的使用率超過設定的百分比時,係統將會輸出日誌信息。
隻有開啟NAT日誌功能(通過nat log enable命令)之後,NAT地址組中地址成員使用率的日誌信息功能才能生效。
(1) 進入係統視圖。
system-view
(2) 開啟NAT日誌功能。
nat log enable [ acl { ipv4-acl-number | name ipv4-acl-name } ]
缺省情況下,NAT日誌功能處於關閉狀態。
ACL參數對NO-PAT方式下NAT地址組中地址成員使用率的日誌信息功能無效。
(3) 開啟NO-PAT方式下NAT地址組中地址成員使用率的日誌信息功能,並設置NAT地址組中地址成員使用率的閾值。
nat log no-pat ip-usage [ threshold value ]
缺省情況下,NAT地址組中地址成員使用率的日誌信息功能處於關閉狀態。
在入方向動態地址轉換功能與隧道功能配合使用的組網環境中,若多個隧道接口引用同一個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設備的出接口(假設為Interface A和Interface B)下配置出方向動態地址轉換(引用不同的地址組),基於出接口所屬安全域的不同情況,NAT設備的處理機製有所不同:
· 如果兩個出接口屬於不同的安全域,當Interface A的鏈路發生故障切換到Interface B的鏈路時,NAT設備會刪除原來的會話表項,由流量觸發重新建立NAT會話,保證用戶訪問外網的業務不受影響。
· 如果兩個出接口屬於相同的安全域,當Interface A的鏈路發生故障切換到Interface B的鏈路時,NAT設備不會刪除原來的會話表項,流量與原來的會話表項匹配,導致用戶無法訪問外網。為了避免該問題的發生,請開啟本功能,保證用戶業務的可用性。
(1) 進入係統視圖。
system-view
(2) 開啟主備鏈路切換後的NAT會話重建功能。
nat link-switch recreate-session
缺省情況下,主備鏈路切換後的NAT會話重建功能處於關閉狀態。
NAT可支持的會話數是NAT模塊的重要指標。單個用戶很難占滿NAT設備的出口帶寬,但卻可以輕易將NAT的會話資源全部消耗掉,從而導致其他用戶無法訪問外網。雖然連接數限製功能可以限製會話數量,但是無法精準限製允許建立的NAT會話數量。
本功能用於對私網側VPN中允許用戶建立的NAT會話數量進行精準限製,防止某個或某些VPN中的用戶將NAT會話資源耗盡,導致其他VPN中的用戶無法訪問外網。
開啟本功能後,用戶可以限製指定VPN的會話數量,以避免某個VPN消耗過多資源。當設備統計到該VPN實際建立的NAT會話數已經超過配置的限製數,將不會再建立新的NAT會話,從而限製該用戶的訪問。
(1) 進入係統視圖。
system-view
(2) 限製指定VPN中允許建立的NAT會話數。
nat session-limit vpn-instance vpn-instance-name max-count max-count
缺省情況下,不會限製VPN中允許建立的NAT會話數。
在完成上述配置後,在任意視圖下執行display命令可以顯示NAT配置後的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下,執行reset命令可以清除NAT表項。
表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 |
顯示NAT EIM表項信息 |
(獨立運行模式) display nat eim [ slot slot-number ] (IRF模式) display nat eim [ chassis chassis-number slot slot-number ] |
顯示NAT入接口動態地址轉換關係的配置信息 |
display nat inbound |
顯示NAT日誌功能的配置信息 |
display nat log |
顯示NAT NO-PAT表項信息 |
(獨立運行模式) display nat no-pat { ipv4 | ipv6 } [ slot slot-number ] (IRF模式) display nat no-pat { ipv4 | ipv6 } [ chassis chassis-number slot slot-number ] |
顯示NO-PAT方式下NAT地址組中地址成員的使用率 |
(獨立運行模式) display nat no-pat ip-usage [ address-group { group-id | name group-name } | object-group object-group-name ] [ slot slot-number ] (IRF模式) display nat no-pat ip-usage [ address-group { group-id | name group-name } | object-group object-group-name ] [ chassis chassis-number slot slot-number ] |
顯示NAT出接口動態地址轉換關係的配置信息 |
display nat outbound |
顯示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 ] [ 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 ] [ verbose ] |
顯示NAT會話數限製統計節點信息 |
(獨立運行模式) display nat session-limit stat-nodes { all-vpn-instance | vpn-instance vpn-instance-name } [ slot slot-number ] (IRF模式) display nat session-limit stat-nodes { all-vpn-instance | vpn-instance vpn-instance-name } [ chassis chassis-number slot slot-number ] |
顯示NAT靜態地址轉換的配置信息 |
display nat static |
顯示NAT統計信息 |
(獨立運行模式) display nat statistics [ summary ] [ slot slot-number ] (IRF模式) display nat statistics [ summary ] [ chassis chassis-number slot slot-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 } ] | static [ port-block-group group-id ] } [ slot slot-number ] (IRF模式) display nat port-block { dynamic [ address-group { group-id | name group-name } ] | static [ port-block-group group-id ] } [ chassis chassis-number slot slot-number ] |
顯示動態NAT444地址組中端口塊的使用率 |
(獨立運行模式) display nat port-block-usage [ address-group group-id ] [ slot slot-number ] (IRF模式) display nat port-block-usage [ address-group group-id ] [ chassis chassis-number slot slot-number ] |
清除NAT轉換計數信息 |
reset nat count statistics { all | dynamic | policy | server | static | static-port-block } |
刪除NAT會話 |
(獨立運行模式) reset nat session [ slot slot-number ] (IRF模式) reset nat session [ chassis chassis-number slot slot-number ] |
內部網絡用戶10.110.10.8/24使用外網地址202.38.1.100訪問Internet。
圖2-3 靜態地址轉換典型配置組網圖
# 按照組網圖配置各接口的IP地址,具體配置過程略。
# 配置內網IP地址10.110.10.8到外網地址202.38.1.100之間的一對一靜態地址轉換映射。
<Router> system-view
[Router] nat static outbound 10.110.10.8 202.38.1.100
# 使配置的靜態地址轉換在接口GigabitEthernet1/0/2上生效。
[Router] interface gigabitethernet 1/0/2
[Router-GigabitEthernet1/0/2] nat static enable
# 以上配置完成後,內網主機可以訪問外網服務器。通過查看如下顯示信息,可以驗證以上配置成功。
[Router] display nat static
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會話信息。
[Router] display nat session verbose
Slot 0:
Total sessions found: 0
Slot 2:
Initiator:
Source IP/port: 10.110.10.8/42496
Destination IP/port: 202.38.1.111/2048
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: ICMP(1)
Inbound interface: GigabitEthernet1/0/1
Responder:
Source IP/port: 202.38.1.111/42496
Destination IP/port: 202.38.1.100/0
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: ICMP(1)
Inbound interface: GigabitEthernet1/0/2
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
· 某公司內網使用的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-4 內網用戶通過NAT訪問外網配置組網圖(地址不重疊)
# 按照組網圖配置各接口的IP地址,具體配置過程略。
# 配置地址組0,包含兩個外網地址202.38.1.2和202.38.1.3。
<Router> system-view
[Router] nat address-group 0
[Router-address-group-0] address 202.38.1.2 202.38.1.3
[Router-address-group-0] quit
# 配置ACL 2000,僅允許對內部網絡中192.168.1.0/24網段的用戶報文進行地址轉換。
[Router] acl basic 2000
[Router-acl-ipv4-basic-2000] rule permit source 192.168.1.0 0.0.0.255
[Router-acl-ipv4-basic-2000] quit
# 在接口GigabitEthernet1/0/2上配置出方向動態地址轉換,允許使用地址組0中的地址對匹配ACL 2000的報文進行源地址轉換,並在轉換過程中使用端口信息。
[Router] interface gigabitethernet 1/0/2
[Router-GigabitEthernet1/0/2] nat outbound 2000 address-group 0
以上配置完成後,Host A能夠訪問WWW server,Host B和Host C無法訪問WWW server。通過查看如下顯示信息,可以驗證以上配置成功。
[Router] 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
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 : Enabled
ICMP-ERROR : Enabled
ILS : Enabled
MGCP : Enabled
NBT : Enabled
PPTP : Enabled
RTSP : Enabled
RSH : Enabled
SCCP : Enabled
SIP : Enabled
SQLNET : Enabled
TFTP : Enabled
XDMCP : Enabled
Static NAT load balancing: Disabled
# 通過以下顯示命令,可以看到Host A訪問WWW server時生成NAT會話信息。
[Router] display nat session verbose
Slot 0:
Total sessions found: 0
Slot 2:
Initiator:
Source IP/port: 192.168.1.10/52992
Destination IP/port: 200.1.1.10/2048
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: ICMP(1)
Inbound interface: GigabitEthernet1/0/1
Responder:
Source IP/port: 200.1.1.10/4
Destination IP/port: 202.38.1.3/0
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: ICMP(1)
Inbound interface: GigabitEthernet1/0/2
State: ICMP_REPLY
Application: INVALID
Rule ID: -/-/-
Rule name:
Start time: 2012-08-15 14:53:29 TTL: 12s
Initiator->Responder: 1 packets 84 bytes
Responder->Initiator: 1 packets 84 bytes
Total sessions found: 1
· 某公司內網網段地址為192.168.1.0/24,該網段與要訪問的外網Web服務器所在網段地址重疊。
· 該公司擁有202.38.1.2和202.38.1.3兩個外網IP地址。
· 需要實現,內網用戶可以通過域名訪問外網的Web服務器。
圖2-5 內網用戶通過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功能。
<Router> system-view
[Router] nat alg dns
# 配置ACL 2000,僅允許對192.168.1.0/24網段的用戶報文進行地址轉換。
[Router] acl basic 2000
[Router-acl-ipv4-basic-2000] rule permit source 192.168.1.0 0.0.0.255
[Router-acl-ipv4-basic-2000] quit
# 創建地址組1。
[Router] nat address-group 1
# 添加地址組成員202.38.1.2。
[Router-address-group-1] address 202.38.1.2 202.38.1.2
[Router-address-group-1] quit
# 創建地址組2。
[Router] nat address-group 2
# 添加地址組成員202.38.1.3。
[Router-address-group-2] address 202.38.1.3 202.38.1.3
[Router-address-group-2] quit
# 在接口GigabitEthernet1/0/2上配置入方向動態地址轉換,允許使用地址組1中的地址對DNS應答報文載荷中的外網地址進行轉換,並在轉換過程中不使用端口信息,以及允許反向地址轉換。
[Router] interface gigabitethernet 1/0/2
[Router-GigabitEthernet1/0/2] nat inbound 2000 address-group 1 no-pat reversible
# 在接口GigabitEthernet1/0/2上配置出方向動態地址轉換,允許使用地址組2中的地址對內網訪問外網的報文進行源地址轉換,並在轉換過程中使用端口信息。
[Router-GigabitEthernet1/0/2] nat outbound 2000 address-group 2
# 配置靜態路由,目的地址為外網服務器NAT地址202.38.1.2,出接口為GigabitEthernet1/0/2,下一跳地址為20.2.2.2(20.2.2.2為本例中的直連下一跳地址,實際使用中請以具體組網情況為準)。
[Router] ip route-static 202.38.1.2 32 gigabitethernet 1/0/2 20.2.2.2
以上配置完成後,Host A能夠通過域名訪問Web server。通過查看如下顯示信息,可以驗證以上配置成功。
[Router] 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
Address group ID: 2
Port range: 1-65535
Address information:
Start address End address
202.38.1.3 202.38.1.3
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 : Enabled
ICMP-ERROR : Enabled
ILS : Enabled
MGCP : Enabled
NBT : Enabled
PPTP : Enabled
RTSP : Enabled
RSH : Enabled
SCCP : Enabled
SIP : Enabled
SQLNET : Enabled
TFTP : Enabled
XDMCP : Enabled
Static NAT load balancing: Disabled
# 通過以下顯示命令,可以看到Host A訪問WWW server時生成NAT會話信息。
[Router] display nat session verbose
Slot 0:
Total sessions found: 0
Slot 2:
Initiator:
Source IP/port: 192.168.1.10/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/1
Responder:
Source IP/port: 192.168.1.10/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/2
State: TCP_ESTABLISHED
Application: HTTP
Rule ID: -/-/-
Rule name:
Start time: 2012-08-15 14:53:29 TTL: 3597s
Initiator->Responder: 7 packets 308 bytes
Responder->Initiator: 5 packets 312 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-6 外網用戶通過外網地址訪問內網服務器配置組網圖
# 按照組網圖配置各接口的IP地址,具體配置過程略。
# 進入接口GigabitEthernet1/0/2。
<Router> system-view
[Router] interface gigabitethernet 1/0/2
# 配置內部FTP服務器,允許外網主機使用地址202.38.1.1、端口號21訪問內網FTP服務器。
[Router-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。
[Router-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。
[Router-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服務器。
[Router-GigabitEthernet1/0/2] nat server protocol tcp global 202.38.1.1 smtp inside 10.110.10.4 smtp
# 以上配置完成後,外網Host能夠通過NAT地址訪問各內網服務器。通過查看如下顯示信息,可以驗證以上配置成功。
[Router] 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 : Enabled
ICMP-ERROR : Enabled
ILS : Enabled
MGCP : Enabled
NBT : Enabled
PPTP : Enabled
RTSP : Enabled
RSH : Enabled
SCCP : Enabled
SIP : Enabled
SQLNET : Enabled
TFTP : Enabled
XDMCP : Enabled
Static NAT load balancing: Disabled
# 通過以下顯示命令,可以看到Host訪問FTP server時生成NAT會話信息。
[Router] display nat session verbose
Slot 0:
Total sessions found: 0
Slot 2:
Initiator:
Source IP/port: 202.38.1.10/1694
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
Responder:
Source IP/port: 10.110.10.3/21
Destination IP/port: 202.38.1.10/1694
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/1
State: TCP_ESTABLISHED
Application: FTP
Rule ID: -/-/-
Rule name:
Start time: 2012-08-15 14:53:29 TTL: 3597s
Initiator->Responder: 7 packets 308 bytes
Responder->Initiator: 5 packets 312 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-7 外網用戶通過域名訪問內網服務器配置組網圖(地址不重疊)
· 外網主機通過域名訪問Web服務器,首先需要通過訪問內網DNS服務器獲取Web服務器的IP地址,因此需要通過配置NAT內部服務器將DNS服務器的內網IP地址和DNS服務端口映射為一個外網地址和端口。
· DNS服務器回應給外網主機的DNS報文載荷中攜帶了Web服務器的內網IP地址,因此需要將DNS報文載荷中的內網IP地址轉換為一個外網IP地址。外網地址分配可以通過出方向動態地址轉換功能實現,轉換載荷信息可以通過DNS ALG功能實現。
# 按照組網圖配置各接口的IP地址,具體配置過程略。
# 開啟DNS協議的ALG功能。
<Router> system-view
[Router] nat alg dns
# 配置ACL 2000,允許對內部網絡中10.110.10.2的報文進行地址轉換。
[Router] acl basic 2000
[Router-acl-ipv4-basic-2000] rule permit source 10.110.10.2 0
[Router-acl-ipv4-basic-2000] quit
# 創建地址組1。
[Router] nat address-group 1
# 添加地址組成員202.38.1.3。
[Router-address-group-1] address 202.38.1.3 202.38.1.3
[Router-address-group-1] quit
# 在接口GigabitEthernet1/0/2上配置NAT內部服務器,允許外網主機使用地址202.38.1.2訪問內網DNS服務器。
[Router] interface gigabitethernet 1/0/2
[Router-GigabitEthernet1/0/2] nat server protocol udp global 202.38.1.2 inside 10.110.10.3 dns
# 在接口GigabitEthernet1/0/2上配置出方向動態地址轉換,允許使用地址組1中的地址對DNS應答報文載荷中的內網地址進行轉換,並在轉換過程中不使用端口信息,以及允許反向地址轉換。
[Router-GigabitEthernet1/0/2] nat outbound 2000 address-group 1 no-pat reversible
以上配置完成後,外網Host能夠通過域名訪問內網Web server。通過查看如下顯示信息,可以驗證以上配置成功。
[Router] 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
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 : Enabled
ICMP-ERROR : Enabled
ILS : Enabled
MGCP : Enabled
NBT : Enabled
PPTP : Enabled
RTSP : Enabled
RSH : Enabled
SCCP : Enabled
SIP : Enabled
SQLNET : Enabled
TFTP : Enabled
XDMCP : Enabled
Static NAT load balancing: Disabled
# 通過以下顯示命令,可以看到Host訪問Web server時生成NAT會話信息。
[Router] display nat session verbose
Slot 0:
Total sessions found: 0
Slot 2:
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
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
State: TCP_ESTABLISHED
Application: HTTP
Rule ID: -/-/-
Rule name:
Start time: 2012-08-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-8 外網用戶通過域名訪問內網服務器配置組網圖(地址重疊)
這是一個典型的雙向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功能。
<Router> system-view
[Router] nat alg dns
# 配置ACL 2000,允許對內部網絡中192.168.1.0/24網段的報文進行地址轉換。
[Router] acl basic 2000
[Router-acl-ipv4-basic-2000] rule permit source 192.168.1.0 0.0.0.255
[Router-acl-ipv4-basic-2000] quit
# 創建地址組1。
[Router] nat address-group 1
# 添加地址組成員202.38.1.2。
[Router-address-group-1] address 202.38.1.2 202.38.1.2
[Router-address-group-1] quit
# 創建地址組2。
[Router] nat address-group 2
# 添加地址組成員202.38.1.3。
[Router-address-group-2] address 202.38.1.3 202.38.1.3
[Router-address-group-2] quit
# 在接口GigabitEthernet1/0/2上配置NAT內部服務器,允許外網主機使用地址202.38.1.4訪問內網DNS服務器。
[Router] interface gigabitethernet 1/0/2
[Router-GigabitEthernet1/0/2] nat server protocol udp global 202.38.1.4 inside 192.168.1.3 dns
# 在接口GigabitEthernet1/0/2上配置出方向動態地址轉換,允許使用地址組1中的地址對DNS應答報文載荷中的內網地址進行轉換,並在轉換過程中不使用端口信息,以及允許反向地址轉換。
[Router-GigabitEthernet1/0/2] nat outbound 2000 address-group 1 no-pat reversible
# 在接口GigabitEthernet1/0/2上配置入方向動態地址轉換,允許使用地址組2中的地址對外網訪問內網的報文進行源地址轉換,並在轉換過程中使用端口信息。
[Router-GigabitEthernet1/0/2] nat inbound 2000 address-group 2
# 配置到達202.38.1.3地址的靜態路由,出接口為GigabitEthernet1/0/2,下一跳地址為20.2.2.2(20.2.2.2為本例中的直連下一跳地址,實際使用中請以具體組網情況為準)。
[Router] ip route-static 202.38.1.3 32 gigabitethernet 1/0/2 20.2.2.2
# 以上配置完成後,外網Host能夠通過域名訪問內網相同IP地址的Web server。通過查看如下顯示信息,可以驗證以上配置成功。
[Router] 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
Address group ID: 2
Port range: 1-65535
Address information:
Start address End address
202.38.1.3 202.38.1.3
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 : Enabled
ICMP-ERROR : Enabled
ILS : Enabled
MGCP : Enabled
NBT : Enabled
PPTP : Enabled
RTSP : Enabled
RSH : Enabled
SCCP : Enabled
SIP : Enabled
SQLNET : Enabled
TFTP : Enabled
XDMCP : Enabled
Static NAT load balancing: Disabled
# 通過以下顯示命令,可以看到Host訪問Web server時生成NAT會話信息。
[Router] display nat session verbose
Slot 0:
Total sessions found: 0
Slot 2:
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
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
State: TCP_ESTABLISHED
Application: HTTP
Rule ID: -/-/-
Rule name:
Start time: 2012-08-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-9 內網用戶通過NAT地址訪問內網服務器配置組網圖
該需求為典型的C-S模式的NAT hairpin應用,具體配置思路如下。
· 為使外網主機可以通過外網地址訪問內網FTP服務器,需要在外網側接口配置NAT內部服務器。
· 為使內網主機通過外網地址訪問內網FTP服務器,需要在內網側接口開啟NAT hairpin功能。其中,目的IP地址轉換通過匹配外網側接口上的內部服務器配置來完成,源地址轉換通過匹配內部服務器配置所在接口上的出方向動態地址轉換或出方向靜態地址轉換來完成,本例中采用出方向動態地址轉換配置。
# 按照組網圖配置各接口的IP地址,具體配置過程略。
# 配置ACL 2000,允許對內部網絡中192.168.1.0/24網段的報文進行地址轉換。
<Router> system-view
[Router] acl basic 2000
[Router-acl-ipv4-basic-2000] rule permit source 192.168.1.0 0.0.0.255
[Router-acl-ipv4-basic-2000] quit
# 在接口GigabitEthernet1/0/2上配置NAT內部服務器,允許外網主機使用地址202.38.1.2訪問內網FTP服務器,同時使得內網主機訪問內網FTP服務器的報文可以進行目的地址轉換。
[Router] interface gigabitethernet 1/0/2
[Router-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地址進行源地址轉換。
[Router-GigabitEthernet1/0/2] nat outbound 2000
# 在接口GigabitEthernet1/0/1上開啟NAT hairpin功能。
[Router] interface gigabitethernet 1/0/1
[Router-GigabitEthernet1/0/1] nat hairpin enable
# 以上配置完成後,內網主機和外網主機均能夠通過外網地址訪問內網FTP Server。通過查看如下顯示信息,可以驗證以上配置成功。
[Router] 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 : Enabled
ICMP-ERROR : Enabled
ILS : Enabled
MGCP : Enabled
NBT : Enabled
PPTP : Enabled
RTSP : Enabled
RSH : Enabled
SCCP : Enabled
SIP : Enabled
SQLNET : Enabled
TFTP : Enabled
XDMCP : Enabled
Static NAT load balancing: Disabled
# 通過以下顯示命令,可以看到Host A訪問FTP server時生成NAT會話信息。
[Router] display nat session verbose
Slot 0:
Total sessions found: 0
Slot 2:
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
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
State: TCP_ESTABLISHED
Application: FTP
Rule ID: -/-/-
Rule name:
Start time: 2012-08-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-10 內網用戶通過NAT地址互訪配置組網圖
該需求為典型的P2P模式的NAT hairpin應用,具體配置思路如下。
· 內網中的客戶端需要向外網中的服務器注冊,因此需要進行源地址轉換,可以通過在外網側接口配置出方向動態地址轉換實現。
· 服務器記錄客戶端的IP地址和端口號,且該地址和端口號是NAT轉換後的。由於服務器記錄的客戶端IP地址和端口號需要供任意源地址訪問,因此客戶端地址的轉換關係必須不關心對端地址,這可以通過配置EIM模式的動態地址轉換實現。
· 內部主機通過外網地址進行互訪,需要在內網側接口開啟NAT hairpin功能。
# 按照組網圖配置各接口的IP地址,具體配置過程略。
# 配置ACL 2000,允許對內部網絡中192.168.1.0/24網段的報文進行地址轉換。
<Router> system-view
[Router] acl basic 2000
[Router-acl-ipv4-basic-2000] rule permit source 192.168.1.0 0.0.0.255
[Router-acl-ipv4-basic-2000] quit
# 在外網側接口GigabitEthernet1/0/2上配置Easy IP方式的出方向動態地址轉換,允許使用接口GigabitEthernet1/0/2的IP地址對內網訪問外網的報文進行源地址轉換,因為多個內部主機共用一個外網地址,因此需要配置為PAT方式,即轉換過程中使用端口信息。
[Router] interface gigabitethernet 1/0/2
[Router-GigabitEthernet1/0/2] nat outbound 2000
# 配置PAT方式下的地址轉換模式為EIM,即隻要是來自相同源地址和源端口號的且匹配ACL 2000的報文,不論其目的地址是否相同,通過PAT轉換後,其源地址和源端口號都被轉換為同一個外部地址和端口號。
[Router] nat mapping-behavior endpoint-independent acl 2000
# 在內網側接口GigabitEthernet1/0/1上開啟NAT hairpin功能。
[Router] interface gigabitethernet 1/0/1
[Router-GigabitEthernet1/0/1] nat hairpin enable
# 以上配置完成後,Host A、Host B和Host C 分別向外網服務器注冊之後,它們之間可以相互訪問。通過查看如下顯示信息,可以驗證以上配置成功。
[Router] 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 : Enabled
ICMP-ERROR : Enabled
ILS : Enabled
MGCP : Enabled
NBT : Enabled
PPTP : Enabled
RTSP : Enabled
RSH : Enabled
SCCP : Enabled
SIP : Enabled
SQLNET : Enabled
TFTP : Enabled
XDMCP : Enabled
Static NAT load balancing: Disabled
# 通過以下顯示命令,可以看到Client A訪問Client B時生成NAT會話信息。
[Router] display nat session verbose
Slot 0:
Total sessions found: 0
Slot 2:
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
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
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-11 地址重疊的兩個VPN之間互訪配置組網圖
這是一個典型的兩次NAT應用:兩個VPN之間主機交互的報文的源IP地址和目的IP地址都需要轉換,即需要在連接兩個VPN的接口上先後進行兩次NAT,這可以通過在NAT設備的兩側接口上分別配置靜態地址轉換實現。
# 按照組網圖配置各接口的VPN實例和IP地址,具體配置過程略。
# 配置VPN 1內的IP地址192.168.1.2到VPN 2內的IP地址172.16.1.2之間的靜態地址轉換映射。
<Router> system-view
[Router] 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之間的靜態地址轉換映射。
[Router] nat static outbound 192.168.1.2 vpn-instance vpn2 172.16.2.2 vpn-instance vpn1
# 在接口GigabitEthernet1/0/2上配置靜態地址轉換。
[Router] interface gigabitethernet 1/0/2
[Router-GigabitEthernet1/0/2] nat static enable
# 在接口GigabitEthernet1/0/1上配置靜態地址轉換。
[Router] interface gigabitethernet 1/0/1
[Router-GigabitEthernet1/0/1] nat static enable
# 以上配置完成後,Host A和Host B可以互通,且Host A的對外地址為172.16.1.2,Host B的對外地址為172.16.2.2。通過查看如下顯示信息,可以驗證以上配置成功。
[Router] 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 : Enabled
ICMP-ERROR : Enabled
ILS : Enabled
MGCP : Enabled
NBT : Enabled
PPTP : Enabled
RTSP : Enabled
RSH : Enabled
SCCP : Enabled
SIP : Enabled
SQLNET : Enabled
TFTP : Enabled
XDMCP : Enabled
Static NAT load balancing: Disabled
# 通過以下顯示命令,可以看到Host A訪問Host B時生成NAT會話信息。
[Router] display nat session verbose
Slot 0:
Total sessions found: 0
Slot 2:
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
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
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-12 負載分擔內部服務器配置組網圖
# 按照組網圖配置各接口的IP地址,具體配置過程略。
# 配置內部服務器組0及其成員10.110.10.1、10.110.10.2和10.110.10.3。
<Router> system-view
[Router] nat server-group 0
[Router-nat-server-group-0] inside ip 10.110.10.1 port 21
[Router-nat-server-group-0] inside ip 10.110.10.2 port 21
[Router-nat-server-group-0] inside ip 10.110.10.3 port 21
[Router-nat-server-group-0] quit
# 在接口Gigabitethernet1/0/2上配置負載分擔內部服務器,引用內部服務器組0,該組內的主機共同對外提供FTP服務。
[Router] interface gigabitethernet 1/0/2
[Router-GigabitEthernet1/0/2] nat server protocol tcp global 202.38.1.1 ftp inside server-group 0
# 以上配置完成後,外網主機可以訪問內網FTP服務器組。通過查看如下顯示信息,可以驗證以上配置成功。
[Router] 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: 2)
10.110.10.3/21 (Connections: 2)
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 : Enabled
ICMP-ERROR : Enabled
ILS : Enabled
MGCP : Enabled
NBT : Enabled
PPTP : Enabled
RTSP : Enabled
RSH : Enabled
SCCP : Enabled
SIP : Enabled
SQLNET : Enabled
TFTP : Enabled
XDMCP : Enabled
Static NAT load balancing: Disabled
# 通過以下顯示命令,可以看到外網主機訪問內網FTP server時生成NAT會話信息。
[Router] display nat session verbose
Slot 0:
Total sessions found: 0
Slot 2:
Initiator:
Source IP/port: 202.38.1.25/53957
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
Responder:
Source IP/port: 10.110.10.3/21
Destination IP/port: 202.38.1.25/53957
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/1
State: TCP_ESTABLISHED
Application: FTP
Rule ID: -/-/-
Rule name:
Start time: 2012-08-16 11:06:07 TTL: 26s
Initiator->Responder: 1 packets 60 bytes
Responder->Initiator: 2 packets 120 bytes
Total sessions found: 1
某公司內部對外提供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-13 NAT DNS mapping配置組網圖
· 內網服務器對外提供服務,需要配置NAT內部服務器將各服務器的內網IP地址和端口映射為一個外網地址和端口。
· 內網主機通過域名訪問內網服務器時,首先需要通過出接口地址轉換分配的外網地址訪問外網的DNS服務器,並獲取內網服務器的內網IP地址。由於DNS服務器向內網主機發送的響應報文中包含的是內網服務器的外網地址,因此NAT設備需要將DNS報文載荷內的外網地址轉換為內網地址,這可以通過查找DNS mapping映射表配合DNS ALG功能實現。DNS mapping映射表用於實現根據“域名+外網IP地址+外網端口號+協議類型”查找到對應的“內網IP+內網端口號”。
# 按照組網圖配置各接口的IP地址,具體配置過程略。
# 開啟DNS的NAT ALG功能。
<Router> system-view
[Router] nat alg dns
# 進入接口GigabitEthernet1/0/2。
[Router] interface gigabitethernet 1/0/2
# 配置NAT內部Web服務器,允許外網主機使用地址202.38.1.2訪問內網Web服務器。
[Router-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服務器。
[Router-GigabitEthernet1/0/2] nat server protocol tcp global 202.38.1.2 inside 10.110.10.2 ftp
# 在接口GigabitEthernet1/0/2上配置Easy IP方式的出方向動態地址轉換。
[Router-GigabitEthernet1/0/2] nat outbound
# 配置兩條DNS mapping表項:Web服務器的域名www.example.com對應IP地址202.38.1.2;FTP服務器的域名ftp.example.com對應IP地址202.38.1.2。
[Router] nat dns-map domain www.example.com protocol tcp ip 202.38.1.2 port https
[Router] nat dns-map domain ftp.example.com protocol tcp ip 202.38.1.2 port ftp
[Router] quit
# 以上配置完成後,內網主機和外網主機均可以通過域名訪問內網服務器。通過查看如下顯示信息,可以驗證以上配置成功。
[Router] 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.example.com
Global IP : 202.38.1.2
Global port: 21
Protocol : TCP(6)
Config status: Active
Domain name: www.example.com
Global IP : 202.38.1.2
Global port: 443
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 : Enabled
ICMP-ERROR : Enabled
ILS : Enabled
MGCP : Enabled
NBT : Enabled
PPTP : Enabled
RTSP : Enabled
RSH : Enabled
SCCP : Enabled
SIP : Enabled
SQLNET : Enabled
TFTP : Enabled
XDMCP : Enabled
Static NAT load balancing: Disabled
# 通過以下顯示命令,可以看到外網主機訪問內網Web Server時生成NAT會話信息。
[Router] display nat session verbose
Slot 0:
Total sessions found: 0
Slot 2:
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
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
State: TCP_ESTABLISHED
Application: HTTP
Rule ID: -/-/-
Rule name:
Start time: 2012-08-26 14:53:29 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-14 NAT444端口塊靜態映射配置組網圖
# 按照組網圖配置各接口的IP地址,具體配置過程略。
# 創建NAT端口塊組1。
<Router> system-view
[Router] nat port-block-group 1
# 添加私網地址成員10.110.10.1~10.110.10.10。
[Router-port-block-group-1] local-ip-address 10.110.10.1 10.110.10.10
# 添加公網地址成員為202.38.1.100。
[Router-port-block-group-1] global-ip-pool 202.38.1.100 202.38.1.100
# 配置端口塊大小為500,公網地址的端口範圍為10001~15000。
[Router-port-block-group-1] block-size 500
[Router-port-block-group-1] port-range 10001 15000
[Router-port-block-group-1] quit
# 在接口GigabitEthernet1/0/2上配置NAT444端口塊靜態映射,引用端口塊組1。
[Router] interface gigabitethernet 1/0/2
[Router-GigabitEthernet1/0/2] nat outbound port-block-group 1
[Router-GigabitEthernet1/0/2] quit
# 以上配置完成後,內網主機可以訪問外網服務器。通過查看如下顯示信息,可以驗證以上配置成功。
[Router] 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 : Enabled
ICMP-ERROR : Enabled
ILS : Enabled
MGCP : Enabled
NBT : Enabled
PPTP : Enabled
RTSP : Enabled
RSH : Enabled
SCCP : Enabled
SIP : Enabled
SQLNET : Enabled
TFTP : Enabled
XDMCP : Enabled
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
# 通過以下顯示命令,可以看到係統生成的靜態端口塊表項信息。
[Router] display nat port-block static
Slot 1:
Local VPN Local IP Global IP Port block Connections
--- 10.110.10.1 202.38.1.100 10001-10500 2
--- 10.110.10.2 202.38.1.100 10501-11000 0
--- 10.110.10.3 202.38.1.100 11001-11500 0
--- 10.110.10.4 202.38.1.100 11501-12000 0
--- 10.110.10.5 202.38.1.100 12001-12500 1
--- 10.110.10.6 202.38.1.100 12501-13000 0
--- 10.110.10.7 202.38.1.100 13001-13500 0
--- 10.110.10.8 202.38.1.100 13501-14000 0
--- 10.110.10.9 202.38.1.100 14001-14500 0
--- 10.110.10.10 202.38.1.100 14501-15000 0
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-15 NAT444端口塊動態映射配置組網圖
# 按照組網圖配置各接口的IP地址,具體配置過程略。
# 配置地址組0,包含兩個外網地址202.38.1.2和202.38.1.3,外網地址的端口範圍為1024~65535,端口塊大小為300,增量端口塊數為1。
<Router> system-view
[Router] nat address-group 0
[Router-address-group-0] address 202.38.1.2 202.38.1.3
[Router-address-group-0] port-range 1024 65535
[Router-address-group-0] port-block block-size 300 extended-block-number 1
[Router-address-group-0] quit
# 配置ACL 2000,僅允許對內部網絡中192.168.1.0/24網段的用戶報文進行地址轉換。
[Router] acl basic 2000
[Router-acl-ipv4-basic-2000] rule permit source 192.168.1.0 0.0.0.255
[Router-acl-ipv4-basic-2000] quit
# 在接口GigabitEthernet1/0/2上配置出方向動態地址轉換,允許使用地址組0中的地址對匹配ACL 2000的報文進行源地址轉換,並在轉換過程中使用端口信息。
[Router] interface gigabitethernet 1/0/2
[Router-GigabitEthernet1/0/2] nat outbound 2000 address-group 0
# 以上配置完成後,Host A能夠訪問外網服務器,Host B和Host C無法訪問外網服務器。通過查看如下顯示信息,可以驗證以上配置成功。
[Router] 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
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 : Enabled
ICMP-ERROR : Enabled
ILS : Enabled
MGCP : Enabled
NBT : Enabled
PPTP : Enabled
RTSP : Enabled
RSH : Enabled
SCCP : Enabled
SIP : Enabled
SQLNET : Enabled
TFTP : Enabled
XDMCP : Enabled
Static NAT load balancing: Disabled
# 通過以下顯示命令,可以看到NAT會話數、當前可分配的動態端口塊總數和已分配的動態端口塊個數。
[Router] 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
# 通過以下顯示命令,可以看到生成的動態端口塊表項信息。
[Router] display nat port-block dynamic
Slot 0:
Local VPN Local IP Global IP Port block Connections
Total mappings found: 0
Slot 2:
Local VPN Local IP Global IP Port block Connections
--- 192.168.1.10 202.38.1.2 65224-65523 1
Total mappings found: 1
· 某公司內部的SIP用戶User使用的IP地址為192.168.0.0/16。
· 該公司擁有202.38.1.2和202.38.2.2兩個外網IP地址。
· Router作為NAT網關連接企業內部和Internet。User能夠通過Router上連接不同運營商的出接口訪問不同的SIP服務器。User訪問SIP Server A時,Router將報文的源IP地址轉換為202.38.1.2;User訪問SIP Server B時,Router將報文的源IP地址轉換為202.38.2.2。
· User訪問SIP Server A後,Router會生成關聯表,用於記錄對SIP協議報文載荷中的地址進行轉換的映射關係。後續User訪問SIP Server B時,Router首先查找關聯表對SIP協議報文進行地址轉換。這種情況下,Router可能會將User訪問SIP Server B的報文載荷中的IP地址轉換為202.38.1.2。SIP Server B收到User發送的報文後,向User發送目的IP為202.38.1.2的數據報文。由於ISP 2沒有去往202.38.1.2的路由,導致SIP Server B發送的數據報文無法正常轉發。為了避免上述問題的產生,需要在Router上開啟SIP協議關聯表項匹配目的地址功能。開啟此功能後,當數據報文匹配關聯表項時,需要同時匹配目的地址,避免僅匹配關聯表項的源IP和源端口號可能導致的地址轉換出錯的問題。
圖2-16 內網用戶通過NAT訪問外網SIP服務器配置組網圖
# 按照組網圖配置各接口的IP地址,具體配置過程略。
# 配置地址組0,包含外網地址202.38.1.2。
<Router> system-view
[Router] nat address-group 0
[Router-address-group-0] address 202.38.1.2 202.38.1.2
[Router-address-group-0] quit
# 配置地址組1,包含外網地址202.38.2.2。
[Router] nat address-group 1
[Router-address-group-1] address 202.38.2.2 202.38.2.2
[Router-address-group-1] quit
# 配置ACL 2000,僅允許對內部網絡中192.168.1.0/24網段的用戶報文進行地址轉換。
[Router] acl basic 2000
[Router-acl-ipv4-basic-2000] rule permit source 192.168.1.0 0.0.0.255
[Router-acl-ipv4-basic-2000] quit
# 在接口GigabitEthernet1/0/2上配置出方向動態地址轉換,允許使用地址組0中的地址對匹配ACL 2000的報文進行源地址轉換,並在轉換過程中使用端口信息。
[Router] interface gigabitethernet 1/0/2
[Router-GigabitEthernet1/0/2] nat outbound 2000 address-group 0
[Router-GigabitEthernet1/0/2] quit
# 在接口GigabitEthernet1/0/3上配置出方向動態地址轉換,允許使用地址組1中的地址對匹配ACL 2000的報文進行源地址轉換,並在轉換過程中使用端口信息。
[Router] interface gigabitethernet 1/0/3
[Router-GigabitEthernet1/0/3] nat outbound 2000 address-group 1
[Router-GigabitEthernet1/0/3] quit
# 開啟SIP的NAT ALG功能。
[Router] nat alg sip
# 開啟SIP協議會話關聯表項匹配目的地址功能。
[Router] session relation-table match destination-ip sip enable
# 通過以下顯示命令,可以看到Host訪問SIP server A時生成NAT會話信息。
[Router] display nat session verbose
Slot 0:
Total sessions found: 0
Slot 2:
Initiator:
Source IP/port: 192.168.1.10/5060
Destination IP/port: 200.1.1.10/5060
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/1
Responder:
Source IP/port: 200.1.1.10/5060
Destination IP/port: 202.38.1.2/1024
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/2
State: TCP_ESTABLISHED
Application: SIP
Rule ID: -/-/-
Rule name:
Start time: 2022-07-08 14:53:29 TTL: 12s
Initiator->Responder: 1 packets 84 bytes
Responder->Initiator: 1 packets 84 bytes
Initiator:
Source IP/port: 192.168.1.10/1026
Destination IP/port: 200.1.1.10/1026
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: UDP(17)
Inbound interface: GigabitEthernet1/0/1
Responder:
Source IP/port: 200.1.1.10/1026
Destination IP/port: 202.38.1.2/1027
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: UDP(17)
Inbound interface: GigabitEthernet1/0/2
State: UDP_READY
Application: RTP
Rule ID: -/-/-
Rule name:
Start time: 2022-07-08 14:53:29 TTL: 12s
Initiator->Responder: 1 packets 84 bytes
Responder->Initiator: 1 packets 84 bytes
Total sessions found: 2
# 通過以下顯示命令,可以看到Host訪問SIP server B時生成NAT會話信息。
[Router] display nat session verbose
Slot 0:
Total sessions found: 0
Slot 2:
Initiator:
Source IP/port: 192.168.1.10/5060
Destination IP/port: 200.2.1.10/5060
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/1
Responder:
Source IP/port: 200.2.1.10/5060
Destination IP/port: 202.38.2.2/1024
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/2
State: TCP_ESTABLISHED
Application: SIP
Rule ID: -/-/-
Rule name:
Start time: 2022-07-08 14:53:29 TTL: 12s
Initiator->Responder: 1 packets 84 bytes
Responder->Initiator: 1 packets 84 bytes
Initiator:
Source IP/port: 192.168.1.10/1026
Destination IP/port: 200.2.1.10/1026
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: UDP(17)
Inbound interface: GigabitEthernet1/0/1
Responder:
Source IP/port: 200.2.1.10/1026
Destination IP/port: 202.38.2.2/1027
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: UDP(17)
Inbound interface: GigabitEthernet1/0/2
State: UDP_READY
Application: RTP
Rule ID: -/-/-
Rule name:
Start time: 2022-07-08 14:53:29 TTL: 12s
Initiator->Responder: 1 packets 84 bytes
Responder->Initiator: 1 packets 84 bytes
Total sessions found: 2
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!