05-NAT配置
本章節下載: 05-NAT配置 (491.23 KB)
· 配置了本地策略路由或接口策略路由後,不支持配置NAT。有關策略路由的詳細介紹請參見“三層技術-IP路由配置指導”中的“策略路由”。
· 設備支持兩種運行模式:獨立運行模式和IRF模式,缺省情況下為獨立運行模式。有關IRF模式的介紹,請參見“IRF配置指導”中的“IRF”。
NAT(Network Address Translation,網絡地址轉換)是將IP數據報頭中的IP地址轉換為另一個IP地址的過程。在實際應用中,NAT主要用於實現私有網絡訪問公共網絡的功能。這種通過使用少量的公網IP地址代表較多的私網IP地址的方式,將有助於減緩可用IP地址空間的枯竭。
私網IP地址是指內部網絡或主機的IP地址,公網IP地址是指在因特網上全球唯一的IP地址。
RFC 1918為私有網絡預留出了三個IP地址塊,如下:
A類:10.0.0.0~10.255.255.255
B類:172.16.0.0~172.31.255.255
C類:192.168.0.0~192.168.255.255
(上述三個範圍內的地址不會在因特網上被分配,因此可以不必向ISP或注冊中心申請而在公司或企業內部自由使用。)
NAT最初的設計目的是用於實現私有網絡訪問公共網絡的功能,後擴展到實現任意兩個網絡間進行訪問時的地址轉換應用,本文中將這兩個網絡分別稱為內部網絡(內網)和外部網絡(外網),通常私網為內部網絡,公網為外部網絡。
圖1-1描述了一個基本的NAT應用。
· 內網用戶主機PC(192.168.1.3)向外網服務器(1.1.1.2)發送的IP報文通過NAT設備。
· NAT設備查看報頭內容,發現該報文是發往外網的,將其源IP地址字段的私網地址192.168.1.3轉換成一個可在Internet上選路的公網地址20.1.1.1,並將該報文發送給外網服務器,同時在NAT設備的網絡地址轉換表中記錄這一映射。
· 外網服務器給內網用戶發送的應答報文(其初始目的IP地址為20.1.1.1)到達NAT設備後,NAT設備再次查看報頭內容,然後查找當前網絡地址轉換表的記錄,用內網私有地址192.168.1.3替換初始的目的IP地址。
上述的NAT過程對終端(如圖中的Host和Server)來說是透明的。對外網服務器而言,它認為內網用戶主機的IP地址就是20.1.1.1,並不知道有192.168.1.3這個地址。因此,NAT“隱藏”了企業的私有網絡。
地址轉換的優點在於,在為內部網絡主機提供了“隱私”保護的前提下,實現了內部網絡的主機通過該功能訪問外部網絡的資源。但它也有一些缺點:
· 由於需要對數據報文進行IP地址的轉換,涉及IP地址的數據報文的報頭不能被加密。在應用協議中,如果報文中有地址或端口需要轉換,則報文不能被加密。例如,不能使用加密的FTP連接,否則FTP協議的port命令不能被正確轉換。
· 網絡調試變得更加困難。比如,某一台內部網絡的主機試圖攻擊其它網絡,則很難指出究竟哪一台主機是惡意的,因為主機的IP地址被屏蔽了。
在實際應用中,我們可能希望某些內部網絡的主機可以訪問外部網絡,而某些主機不允許訪問,即當NAT設備查看IP數據報文的報頭內容時,如果發現源IP地址屬於禁止訪問外部網絡的內部主機,它將不進行地址轉換。另外,也希望隻有指定的公網地址才可用於地址轉換。
設備可以利用ACL(Access Control List,訪問控製列表)和地址池來對地址轉換進行控製。
· 訪問控製列表可以有效地控製地址轉換的使用範圍,隻有滿足訪問控製列表規則的數據報文才可以進行地址轉換。
· 地址池是用於地址轉換的一些連續的公網IP地址的集合,它可以有效地控製公網地址的使用。用戶可根據自己擁有的合法IP地址數目、內部網絡主機數目以及實際應用情況,定義合適的地址池。在地址轉換的過程中,NAT設備將會從地址池中挑選一個IP地址作為數據報文轉換後的源IP地址。
從圖1-1的地址轉換過程可見,當內部網絡訪問外部網絡時,地址轉換將會選擇一個合適的外部地址,來替代內部網絡數據報文的源地址。在圖1-1中是選擇NAT設備出接口的IP地址(公網IP地址)。這樣所有內部網絡的主機訪問外部網絡時,隻能擁有一個外部網絡的IP地址,因此,這種情況同時隻允許最多有一台內部網絡主機訪問外部網絡。
當內部網絡的多台主機並發的要求訪問外部網絡時,NAT也可實現對並發性請求的響應,允許NAT設備擁有多個公有IP地址。當第一個內網主機訪問外網時,NAT選擇一個公有地址IP1,在地址轉換表中添加記錄並發送數據報;當另一內網主機訪問外網時,NAT選擇另一個公有地址IP2,以此類推,從而滿足了多台內網主機訪問外網的請求。
NAT設備擁有的公有IP地址數目要遠少於內部網絡的主機數目,因為所有內網主機並不會同時訪問外網。公有IP地址數目的確定,應根據網絡高峰期可能訪問外網的內網主機數目的統計值來確定。
NAPT(Network Address Port Translation,網絡地址端口轉換)是基本地址轉換的一種變形,它允許多個內部地址映射到同一個公有地址上,也可稱之為“多對一地址轉換”。
NAPT同時映射IP地址和端口號:來自不同內部地址的數據報的源地址可以映射到同一外部地址,但它們的端口號被轉換為該地址的不同端口號,因而仍然能夠共享同一地址,也就是“私有地址+端口號”與“公網IP地址+端口號”之間的轉換。
圖1-2描述了NAPT的基本原理。
圖1-2 NAPT基本原理示意圖
如圖1-2所示,三個帶有內部地址的數據報文到達NAT設備,其中報文1和報文2來自同一個內部地址但有不同的源端口號,報文1和報文3來自不同的內部地址但具有相同的源端口號。通過NAPT映射,三個數據報的源IP地址都被轉換到同一個外部地址,但每個數據報都被賦予了不同的源端口號,因而仍保留了報文之間的區別。當各報文的回應報文到達時,NAT設備網關仍能夠根據回應報文的目的地址和端口號來區別該報文應轉發到的內部主機。
采用NAPT可以更加充分地利用IP地址資源,實現更多內部網絡主機對外部網絡的同時訪問。
NAT隱藏了內部網絡的結構,具有“屏蔽”內部主機的作用,但是在實際應用中,可能需要給外部網絡提供一個訪問內網主機的機會,如給外部網絡提供一台Web服務器,或是一台FTP服務器。
NAT設備提供的內部服務器功能,就是通過靜態配置“公網IP地址+端口號”與“私網IP地址+端口號”間的映射關係,實現公網IP地址到私網IP地址的“反向”轉換。例如,可以將20.1.1.1:8080配置為內網某Web服務器的外部網絡地址和端口號供外部網絡訪問。
如圖1-3所示,外部網絡用戶訪問內部網絡服務器的數據報文經過NAT設備時,NAT設備根據報文的目的地址查找地址轉換表項,將訪問內部服務器的請求報文的目的IP地址和端口號轉換成內部服務器的私有IP地址和端口號。當內部服務器回應該報文時,NAT設備再根據已有的地址映射關係將回應報文的源IP地址和端口號轉換成公網IP地址和端口號。
一般情況下,DNS服務器和訪問私網服務器的用戶都在公網,通過在NAT設備的公網接口上配置內部服務器,可以將公網地址、端口等信息映射到私網內的服務器上,使得公網用戶可以通過內部服務器的域名或公網地址來訪問內部服務器。但是,如圖1-4所示,如果DNS服務器在公網,私網用戶希望通過域名來訪問私網的Web服務器,則會由於DNS服務器向私網用戶發送的響應報文中包含的是私網服務器的公網地址,而導致收到響應報文的私網用戶無法利用域名訪問私網服務器。通過在設備上配置DNS mapping可以解決該問題。
圖1-4 NAT DNS mapping工作示意圖
DNS mapping功能是指,通過配置“域名+公網IP地址+公網端口號+協議類型”的映射表,建立內部服務器域名與內部服務器公網信息的對應關係。在配置了NAT的接口上,設備檢查接收到的DNS響應報文,根據報文中的域名查找用戶配置的DNS mapping映射表,並根據表項內的“公網地址+公網端口+協議類型”信息查找內部服務器地址映射表中該信息對應的私網地址,替換DNS查詢結果中的公網地址。這樣,私網用戶收到的DNS響應報文中就包含了要訪問的內部服務器的私網地址,也就能夠使用內部服務器域名訪問同一私網內的內部服務器。
Easy IP功能是指進行地址轉換時,直接使用接口的外網IP地址作為轉換後的源地址,能夠最大程度的節省IP地址資源。它也可以利用訪問控製列表控製哪些內部地址可以進行地址轉換。
NAT不僅實現了一般的地址轉換功能,同時提供了完善的地址轉換ALG (Application Layer Gateway,應用級網關)機製,使其可以支持一些特殊的應用協議,而不需要對NAT平台進行任何的修改,具有良好的可擴充性。這些特殊協議的報文載荷裏攜帶了地址或端口信息,該信息也可能需要進行地址轉換。
可支持的特殊協議包括:FTP(File Transfer Protocol,文件傳輸協議)、ICMP(Internet Control Message Protocol,因特網控製消息協議)、DNS(Domain Name System,域名係統)、ILS(Internet Locator Service,Internet定位服務)、H.323、SIP(Session Initiation Protocol,會話發起協議)、NetMeeting 3.01、NBT(NetBIOS over TCP/IP,基於TCP/IP的網絡基本輸入輸出係統)等。
NAT多實例允許分屬於不同MPLS VPN的用戶通過同一個出口訪問外部網絡,同時允許分屬於不同MPLS VPN的用戶使用相同的私網地址。當MPLS VPN用戶訪問外部網絡時,地址轉換將內部網絡主機的IP地址和端口替換為設備的外部網絡地址和端口,同時還記錄了用戶的MPLS VPN信息(如協議類型和路由標識符RD等)。回應報文到達時,地址轉換將外部網絡地址和端口還原為內部網絡主機的IP地址和端口,同時可得知是哪一個MPLS VPN用戶的訪問。無論是NAT方式的地址轉換還是NAPT方式的地址轉換都支持多實例。
同時,地址轉換支持內部服務器的多實例,給外部提供訪問MPLS VPN內主機的機會。例如,MPLS VPN1內提供Web服務的主機地址是10.110.1.1,可以使用202.110.10.20作為Web服務器的外部地址,Internet的用戶使用202.110.10.20的地址就可以訪問到MPLS VPN1提供的Web服務。
另外,NAT還可利用外部網絡地址所攜帶的MPLS VPN信息,支持多個MPLS VPN之間的互訪。
表1-1 NAT配置任務簡介
配置任務 |
說明 |
詳細配置 |
|
配置地址轉換 |
配置靜態地址轉換 |
二者必選其一 |
|
配置動態地址轉換 |
|||
配置內部服務器 |
必選 |
||
配置DNS mapping |
可選 |
||
配置地址轉換有效時間 |
可選 |
||
配置NAT ALG功能 |
可選 |
||
配置NAT日誌 |
可選 |
||
配置NAT連接限製 |
可選 |
||
使能鏈路down時NAT表項老化功能 |
可選 |
· 接口下的NAT相關配置(地址轉換或內部服務器配置)改變時,為保證連接的穩定性,建議用戶在完成所有NAT相關的配置之後,保存配置並重啟設備(或通過命令reset nat session手工清除與NAT相關的表項),以避免可能會產生的問題。這些問題主要包括:NAT相關的配置刪除後,已建立的連接仍然可以進行地址轉換處理;在連接過程中進行NAT配置,會因為配置順序的不一致,導致相同的配置產生不同的處理結果。
· 必須保證各接口板上引用的地址池所定義的IP地址沒有重疊。
通過NAT網關設備上靜態建立或動態生成的地址映射關係,實現內部網絡與外部網絡IP地址的轉換。通常,我們按照地址映射關係的產生方式將地址轉換分為動態地址轉換和靜態地址轉換兩類:
· 靜態地址轉換
外部網絡和內部網絡之間的地址映射關係在配置中確定。適用於內部網絡與外部網絡之間的少量固定訪問需求。
· 動態地址轉換
外部網絡和內部網絡之間的地址映射關係由報文動態決定。通過配置訪問控製列表和地址池(或接口地址)的關聯,由“具有某些特征的IP報文”挑選使用“地址池中地址(或接口地址)”,從而建立動態地址映射關係。適用於內部網絡有大量用戶需要訪問外部網絡的需求。這種情況下,關聯中指定的地址池資源由內網報文按需從中選擇使用,訪問外網的會話結束之後該資源便釋放給其它用戶。
無論靜態地址轉換還是動態地址轉換,都可以支持NAT多實例的配置。隻要指定地址所屬的vpn-instance-name,即可以實現對MPLS VPN的支持。
配置靜態地址轉換時,需要首先在係統視圖下配置靜態地址轉換映射,然後在接口下使該轉換生效。
靜態地址轉換映射支持兩種方式:一對一靜態轉換映射、網段對網段靜態轉換映射。
實現一個內部私有網絡地址到一個外部公有網絡地址的轉換。
表1-2 配置一對一靜態地址轉換
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置一對一靜態地址轉換映射 |
nat static local-ip [ vpn-instance local-name ] global-ip [ vpn-instance global-name ] |
必選 |
進入接口視圖 |
interface interface-type interface-number |
- |
使配置的NAT靜態轉換在接口上生效 |
nat outbound static |
必選 |
實現一個內部私有網絡到一個外部公有網絡的地址轉換。
表1-3 配置網段對網段靜態地址轉換
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置網段對網段靜態地址轉換映射 |
nat static net-to-net local-start-address local-end-address global global-network { netmask-length | netmask } |
必選 |
進入接口視圖 |
interface interface-type interface-number |
- |
使配置的NAT靜態轉換在接口上生效 |
nat outbound static |
必選 |
通過在接口上配置訪問控製列表和地址池(或接口地址)的關聯即可實現動態地址轉換。
· 若直接使用接口的IP地址作為轉換後的地址,則配置Easy IP功能來實現動態地址轉換。
· 若選擇使用地址池中的地址作為轉換後的地址,則根據地址轉換過程中是否使用端口信息可將動態地址轉換分為NO-PAT和NAPT兩種方式:NO-PAT為不使用TCP/UDP端口信息實現的多對多地址轉換;NAPT為使用TCP/UDP端口信息實現的多對一地址轉換。
地址轉換關聯一般在NAT設備的出接口上配置,但是當某內網主機需要通過多個出接口訪問外網時,就需要在多個出接口上配置地址轉換關聯,過程複雜,因此設備提供了入接口地址關聯的配置。這樣,當NAT設備作為VPN間互訪的工具時,在出接口較多的情況下,通過在接入各私網的入接口上配置地址轉換關聯達到簡化配置的目的。
· 若配置出接口地址關聯,那麼從出接口發送的首個數據包會首先由訪問控製列表(或報文源地址)進行判定是否允許進行地址轉換,然後根據關聯找到與之對應的地址池(或接口地址)進行源地址轉換,並建立地址轉換表項,後續數據包直接根據地址轉換表項進行轉換。
· 若配置入接口地址關聯,那麼從該接口接收的符合指定訪問控製列表的數據包首先會被重定向到NAT業務板,然後再做與出接口地址轉換類似的源地址轉換處理。該方式下地址轉換不支持Easy IP功能。
在同時配置了入接口和出接口地址關聯的情況下,若報文同時命中了入接口和出接口的地址轉換關聯規則,則以出接口規則優先,即隻按照出接口地址轉換關聯進行轉換。
· 配置控製地址轉換範圍的訪問控製列表。
· 確定是否直接使用接口的IP地址作為轉換後的報文源地址。
· 配置根據實際網絡情況,合理規劃公網IP地址池的起始和結束IP地址。
· 確定地址轉換過程中是否使用端口信息。
訪問控製列表的配置請參見“ACL和QoS配置指導”中的“ACL”。
動態地址轉換的過程中,NAT設備將會從定義的地址池中挑選一個地址作為轉換後的報文源地址。
表1-4 配置地址池
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
定義一個地址池 |
nat address-group group-number start-address end-address |
必選 對於Easy IP功能,不需要配置NAT地址池,直接使用接口地址作為轉換後的IP地址 |
通過配置Easy IP功能,實現直接使用接口的IP地址作為轉換後的報文源地址。
表1-5 配置Easy IP
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置訪問控製列表和接口地址關聯,實現Easy IP功能 |
nat outbound acl-number |
必選 |
通過配置訪問控製列表和地址池(或接口地址)的關聯,將與訪問控製列表匹配的報文的源地址映射為地址池中的地址(或接口地址),且不使用端口信息。
表1-6 配置NO-PAT
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
在出接口配置訪問控製列表和地址池關聯,且不使用端口信息,實現NO-PAT |
nat outbound acl-number [ address-group group-number [ vpn-instance vpn-instance-name ] [ no-pat ] ] |
必選 |
通過配置訪問控製列表和地址池(或接口地址)的關聯,將與訪問控製列表匹配的報文的源地址映射為地址池中的地址(或接口地址),且使用端口信息。
nat outbound acl-number address-group group-number [ vpn-instance vpn-instance-name ] |
通過配置內部服務器,可以將相應的外部地址和端口映射到內部服務器的私有地址和端口上,從而使外部網絡用戶能夠訪問內部服務器。內部服務器與外部網絡的映射表是通過在接口上配置nat server命令生成的。
配置內部服務器時需要配置的信息包括:外部網絡的信息(外部網絡地址global-address、外部網絡端口global-port)、內部網絡的信息(內部網絡地址local-address、內部網絡端口local-port)以及服務協議類型。
配置內部服務器是將私網服務器的地址和端口(local-address、local-port)映射為公網地址和端口(global-address、global-port)允許外部網絡訪問位於私網的服務器。
內部服務器以及對外公布的外網地址均可以支持MPLS L3VPN。當內部服務器位於MPLS L3VPN時,還應指定所屬的vpn-instance-name。如果不設置該值,表示內部服務器不屬於任何一個VPN。
表1-8 配置內部服務器
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置內部服務器 |
nat server protocol pro-type global { global-address | interface interface-type interface-number | current-interface } [ global-port ] [ vpn-instance global-name ] inside local-address [ local-port ] [ vpn-instance local-name ] |
二者必選其一 |
nat server protocol pro-type global { global-address | interface interface-type interface-number | current-interface } global-port1 global-port2 [ vpn-instance global-name ] inside local-address1 local-address2 local-port [ vpn-instance local-name ] |
通過配置DNS mapping,可以實現私網用戶通過域名(DNS服務器在公網)訪問位於同一私網的內部服務器的功能。
表1-9 配置DNS mapping
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置一條域名到內部服務器的映射 |
nat dns-map domain domain-name protocol pro-type ip global-ip port global-port |
必選 |
該配置用於設置地址轉換連接表項的有效時間,可支持多種協議。
表1-10 配置地址轉換有效時間
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置地址轉換有效時間 |
nat aging-time { dns | ftp-ctrl | ftp-data | icmp | no-pat | pptp | tcp | tcp-fin | tcp-syn | udp } seconds |
可選 缺省情況下,各協議的地址轉換有效時間如下: · DNS協議地址轉換表項的有效時間為10秒; · FTP協議控製鏈路(ftp-ctrl)地址轉換表項的有效時間為300秒; · FTP協議數據鏈路(ftp-data)地址轉換表項的有效時間為300秒; · ICMP地址轉換表項的有效時間為10秒; · NO-PAT轉換方式下的私網地址和公網地址轉換表項的有效時間為240秒; · PPTP協議地址轉換表項的有效時間為300秒; · TCP地址轉換表項的有效時間為300秒; · TCP協議fin、rst連接地址轉換表項的有效時間為10秒; · TCP協議syn連接地址轉換表項的有效時間為10秒; · UDP地址轉換表項的有效時間為240秒 |
該配置用於設置地址轉換的應用級網關功能,可支持多種協議。
表1-11 配置NAT ALG功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
使能地址轉換應用網關功能 |
nat alg { all | dns | ftp | h323 | ils | nbt | sip } |
可選 缺省情況下,地址轉換應用網關功能處於使能狀態
|
NAT日誌是NAT設備在進行NAT轉換時生成的一種係統信息。該信息包括報文的源IP地址、源端口、目的IP地址、目的端口、轉換後的源IP地址、轉換後的源端口以及用戶執行的操作等。它隻用於記錄內網用戶訪問外部網絡的情況,不記錄外部用戶對內網服務器的訪問。
內網用戶通過NAT設備訪問外部網絡時,多個用戶共用一個公網地址,從而無法定位訪問網絡的用戶。利用日誌功能可以實時跟蹤、記錄私網用戶訪問外部網絡的情況,增強網絡的安全性。
表1-12 開啟NAT日誌功能
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
使能NAT日誌功能 |
nat log enable [ acl acl-number ] |
必選 缺省情況下,NAT日誌功能處於關閉狀態 |
|
設置在創建NAT連接時生成NAT日誌的記錄 |
nat log flow-begin |
二者至少選其一 |
缺省情況下,創建NAT連接時不生成NAT 日誌 |
使能NAT活躍流的日誌功能,並設置生成活躍流日誌的時間間隔 |
nat log flow-active minutes |
缺省情況下,NAT活躍流的日誌功能處於關閉狀態 |
NAT日誌信息有兩種輸出方式:
· 輸出至信息中心
NAT日誌將被轉化成係統日誌輸出到本設備的信息中心,再通過設置信息中心的輸出方向,最終決定NAT日誌的輸出方向。一次最多可以輸出10條NAT日誌到信息中心。
· 輸出至日誌服務器
係統將NAT日誌封裝成UDP報文發送給網絡中的日誌服務器,如圖1-5所示。輸出的NAT日誌報文可以有多種版本,不同的版本使用的UDP報文格式不同,目前使用的NAT日誌報文格式為版本1。UDP報文中可以包含多條NAT日誌記錄的原始信息,它由一個報文頭和若幹條NAT日誌記錄組成。
NAT日誌的兩種輸出方式互斥,同一時刻隻能選擇一種輸出方式。如果同時配置了兩種輸出方式,則係統會自動選擇輸出到信息中心,而不會發送到日誌服務器。
圖1-5 NAT日誌信息輸出至日誌服務器示意圖
表1-13 配置NAT日誌輸出至信息中心
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
設置NAT日誌輸出至信息中心 |
userlog nat syslog |
必選 缺省情況下,NAT日誌輸出至NAT日誌服務器 |
· NAT日誌輸出到信息中心會占用設備的存儲空間,所以,建議在日誌量較小的情況下,使用該輸出方向。
· NAT日誌輸出至信息中心時,NAT日誌信息的優先級為informational,即作為設備的一般提示信息。
· 有關信息優先級及信息中心的詳細介紹請參見“網絡管理和監控配置指導”中的“信息中心”。
以UDP報文方式將NAT日誌發送給NAT日誌服務器時,可以配置三項參數:
· NAT日誌服務器的IP地址和UDP端口號。如果不配置信息中心輸出方向,也不指定日誌服務器的地址,NAT日誌就會無法正常輸出。
· NAT日誌報文的源IP地址。在日誌服務器端,通過識別NAT日誌的源IP地址,可以迅速定位日誌信息的來源,建議使用Loopback接口地址作為日誌報文的源IP地址。
· NAT日誌報文版本號。輸出的日誌報文可以有多種版本,不同的版本使用的報文格式不同,目前設備支持版本1。
表1-14 配置NAT日誌服務器
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
設置NAT日誌服務器的IP地址和UDP端口號(獨立運行模式) |
userlog nat export slot slot-number host { ipv4-address | ipv6 ipv6-address } udp-port |
必選 |
設置NAT日誌服務器的IP地址和UDP端口號(IRF模式) |
userlog nat export chassis chassis-number slot slot-number host { ipv4-address | ipv6 ipv6-address } udp-port |
|
設置承載NAT日誌的UDP報文的源IP地址 |
userlog nat export source-ip ip-address |
可選 缺省情況下,承載NAT日誌的UDP報文的源IP地址為發送該報文的接口的IP地址 |
設置NAT日誌報文的版本號 |
userlog nat export version version-number |
可選 缺省情況下,NAT日誌報文的版本號為1 |
· 當設備工作在獨立運行模式時,通過指定slot參數,可以為不同的接口板指定不同的日誌服務器,實現日誌服務器的負載分擔。
· 當設備工作在IRF模式時,通過指定chassis參數,可以為成員設備的不同接口板指定不同的日誌服務器,實現日誌服務器的負載分擔。
· NAT日誌服務器的IP地址必須是合法的IPv4或IPv6單播地址。
· 為避免與係統自定義的端口號衝突,建議用戶使用1024以上的UDP端口作為日誌服務器的UDP端口號。
因此,為了保護內部網絡資源(主機或服務器)以及合理分配設備係統資源,需要製定相應的連接限製策略來對設備上建立的連接進行統計和限製。目前,設備支持的連接限製策略可通過限製用戶發起的連接數、限製用戶創建連接的速率以及限製用戶建立連接所占用的帶寬資源來實現。
表1-15 創建連接限製策略
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
創建連接限製策略,並進入連接限製策略視圖 |
connection-limit policy policy-number |
必選 |
對於未指定具體連接限製規則的用戶所建立的連接,將按照缺省的連接限製動作進行處理。
缺省連接限製動作和參數的涵義如下:
· 若缺省的連接限製動作為deny,則表示不對這些用戶進行連接數統計和限製;
· 若缺省的連接限製動作為permit,則需按照缺省連接限製參數的配置來限製用戶連接,即按照指定的連接數上限值來控製用戶最大可建立的連接數,並在連接數下降到指定的下限值後允許新建連接。
需要注意的是,隻有配置連接限製策略與NAT模塊綁定之後,缺省的連接限製配置才能生效。關於連接限製策略與NAT模塊綁定的配置請參見“4. 配置連接限製策略與NAT模塊綁定”。
表1-16 配置缺省連接限製動作/參數
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入連接限製策略視圖 |
connection-limit policy policy-number |
必選 |
設置缺省連接限製動作 |
connection-limit default action { deny | permit } |
可選 缺省情況下,連接限製動作為deny,表示不對用戶連接進行統計和限製 |
設置缺省連接限製參數 |
connection-limit default amount upper-limit max-amount lower-limit min-amount |
可選 缺省情況下,upper-limit為512,lower-limi為256 |
可以根據ACL來限定用戶範圍,則對匹配ACL規則的用戶連接數進行統計和限製。
同一個連接限製策略下可配置多種模式的連接限製規則,不同的連接限製模式對應不同的子規則範圍。
連接數限製是指,當某類型的連接數達到上限值時,設備將不接受該類型的新建連接請求,直到設備上已有連接因老化而刪除,使得當前該類型的連接數等於或者低於連接數下限後,才允許新建連接。
基於ACL的連接限製策略可支持以下三種類型的連接限製規則:
· per-destination:按目的地址方式統計和限製,即到同一個目的地址的連接數目受限。
· per-service:按服務方式統計和限製,即同一種服務(或應用)的連接數目受限。
· per-source:按源地址方式統計和限製,即同一個源地址發起的連接數目受限。
如果在一條規則中同時指定per-destination、per-service、per-source類型中的多個,則各種統計和限製類型組合生效。例如,同時指定per-destination和per-service類型,則表示對同一個目的地址的同一種服務的連接進行統計和限製。
表1-17 配置基於ACL的連接限製策略
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入連接限製策略視圖 |
connection-limit policy policy-number |
必選 |
配置基於ACL的連接限製規則
|
limit limit-id acl acl-number [ { per-destination | per-service | per-source } * amount max-amount min-amount ] |
必選 |
· 在連接限製規則中未配置的參數,將采用缺省連接限製參數的配置。
· 連接限製規則按照規則編號從小到大的順序進行匹配。
通過連接限製策略與NAT模塊的綁定,將已配置的連接限製策略應用到NAT模塊上,對相關的連接進行限製。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置連接限製策略與NAT模塊綁定 |
nat connection-limit-policy policy-number |
必選 |
· 一個模塊隻能綁定一條策略。
· 隻有在連接限製策略與NAT模塊綁定後,缺省的連接限製配置才能生效。
在鏈路備份組網環境中,NAT設備的主接口和備份接口上均配置了地址轉換,當主備鏈路發生切換時,若NAT設備已使能了NAT表項的老化功能,則可以立即將當前所有NAT表項的狀態置為已老化,這樣後續報文會使用切換後新接口上的NAT配置重新建立NAT表項,使得NAT流量快速切換到新的鏈路上。
表1-19 使能鏈路down時NAT表項老化功能
作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
使能接口鏈路down時NAT表項老化功能 |
nat link-down reset-session enable |
必選 缺省情況下,接口鏈路down時NAT表項老化功能處於關閉狀態 |
在完成上述配置後,在任意視圖下執行display命令可以顯示NAT配置後的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下,執行reset命令可以清除地址轉換的統計信息。
表1-20 NAT顯示和維護
操作 |
命令 |
顯示NAT地址池的信息 |
display nat address-group [ group-number ] [ | { begin | exclude | include } regular-expression ] |
顯示地址轉換的有效時間 |
display nat aging-time [ | { begin | exclude | include } regular-expression ] |
顯示所有的NAT配置信息 |
display nat all [ | { begin | exclude | include } regular-expression ] |
顯示NAT模塊創建的連接限製統計信息 |
display nat connection-limit [ source src-address { mask-length | mask } ] [ destination dst-address { mask-length | mask } ] [ destination-port { eq | gt | lt | neq | range } port-number ] [ vpn-instance vpn-instance-name ] [ | { begin | exclude | include } regular-expression ] |
顯示地址轉換關聯的配置信息 |
display nat bound [ | { begin | exclude | include } regular-expression ] |
顯示DNS mapping的配置信息 |
display nat dns-map [ | { begin | exclude | include } regular-expression ] |
顯示內部服務器的信息 |
display nat server [ | { begin | exclude | include } regular-expression ] |
顯示靜態配置的信息 |
display nat static [ | { begin | exclude | include } regular-expression ] |
顯示指定單板上的NAT轉換表項信息(獨立運行模式) |
display nat session [ vpn-instance vpn-instance-name ] slot slot-number [ source { global global-address | inside inside-address } ] [ destination dst-address ] [ | { begin | exclude | include } regular-expression ] |
顯示指定單板上的NAT轉換表項信息(IRF模式) |
display nat session [ vpn-instance vpn-instance-name ] chassis chassis-number slot slot-number [ source { global global-address | inside inside-address } ] [ destination dst-address ] [ | { begin | exclude | include } regular-expression ] |
顯示用戶當前配置的連接限製策略 |
display connection-limit policy { policy-number | all } [ | { begin | exclude | include } regular-expression ] |
顯示連接限製統計信息 |
display connection-limit statistics [ source src-address { mask-length | mask } ] [ destination dst-address { mask-length | mask } ] [ destination-port { eq | gt | lt | neq | range } port-number ] [ vpn-instance vpn-instance-name ] [ | { begin | exclude | include } regular-expression ] |
顯示NAT日誌的配置信息 |
display nat log [ | { begin | exclude | include } regular-expression ] |
查看指定單板上輸出到日誌服務器的日誌的配置和統計信息(獨立運行模式) |
display userlog export slot slot-number [ | { begin | exclude | include } regular-expression ] |
查看指定單板上輸出到日誌服務器的日誌的配置和統計信息(IRF模式) |
display userlog export chassis chassis-number slot slot-number [ | { begin | exclude | include } regular-expression ] |
清除指定單板上的NAT日誌緩存中的記錄(獨立運行模式) |
reset userlog nat logbuffer slot slot-number |
清除指定單板上的NAT日誌緩存中的記錄(IRF模式) |
reset userlog nat logbuffer chassis chassis-number slot slot-number |
清除指定單板上的NAT日誌的統計信息(獨立運行模式) |
reset userlog nat export slot slot-number |
清除指定單板上的NAT日誌的統計信息(IRF模式) |
reset userlog nat export chassis chassis-number slot slot-number |
清除指定單板上的內存中地址轉換的映射表,釋放動態分配的用於存放映射表的內存(獨立運行模式) |
|
清除指定單板上的內存中地址轉換的映射表,釋放動態分配的用於存放映射表的內存(IRF模式) |
reset nat session chassis chassis-number slot slot-number |
清除NAT日誌緩存區中的記錄會造成NAT日誌信息的丟失,正常情況下,建議不要進行清除操作。
缺省情況下,以太網接口、VLAN接口及聚合接口處於DOWN狀態。如果要對這些接口進行配置,請先使用undo shutdown命令使接口狀態處於UP狀態。
內部網絡用戶10.110.10.8/24使用公網地址202.38.1.100訪問Internet。
圖1-6 靜態地址轉換典型配置組網圖
# 按照組網圖配置各接口的IP地址,具體配置過程略。
# 配置一對一靜態地址轉換映射。
<Device> system-view
[Device] nat static 10.110.10.8 202.38.1.100
# 使配置的靜態地址轉換在接口 vlan-int20上生效。
[Device] interface Vlan-interface 20
[Device-Vlan-interface20] nat outbound static
[Device-Vlan-interface20] quit
一個公司擁有202.38.1.1/24至202.38.1.3/24三個公網IP地址,內部網址為10.110.0.0/16,需要實現如下功能:
· 內部網絡中10.110.10.0/24網段的用戶可以訪問Internet,其它網段的用戶不能訪問Internet。使用的公網地址為202.38.1.2和202.38.1.3。
· 對源地址為10.110.10.100的用戶按目的地址進行統計,限製用戶連接數的上限值為1000,下限值為200,即要求與外部服務器建立的連接數不超過1000,不少於200。
# 按照組網圖配置各接口的IP地址,具體配置過程略。
# 配置IP地址池1,包括兩個公網地址202.38.1.2和202.38.1.3。
<Device> system-view
[Device] nat address-group 1 202.38.1.2 202.38.1.3
# 配置訪問控製列表2001,僅允許內部網絡中10.110.10.0/24網段的用戶可以訪問Internet。
[Device] acl number 2001
[Device-acl-basic-2001] rule permit source 10.110.10.0 0.0.0.255
[Device-acl-basic-2001] rule deny
[Device-acl-basic-2001] quit
# 在出接口Vlan-interface20上配置ACL 2001與IP地址池1相關聯。
[Device] interface Vlan-interface 20
[Device-Vlan-interface20] nat outbound 2001 address-group 1
[Device-Vlan-interface 20] quit
# 配置連接限製策略1,對源地址為10.110.10.100的用戶按照目的地址進行統計,限製用戶連接數的上限值為1000,下限值為200。
[Device] acl number 2002
[Device-acl-basic-2002] rule permit source 10.110.10.100 0.0.0.0
[Device-acl-basic-2002] rule deny
[Device-acl-basic-2002] quit
[Device] connection-limit policy 1
[Device-connection-limit-policy-1] limit 0 acl 2002 per-destination amount 1000 200
[Device-connection-limit-policy-1] quit
# 配置連接限製策略1與NAT模塊綁定。
[Device] nat connection-limit-policy 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/24至202.38.1.3/24三個IP地址。需要實現如下功能:
· 外部的主機可以訪問內部的服務器。
· 選用202.38.1.1作為公司對外提供服務的IP地址,Web服務器2對外采用8080端口。
# 按照組網圖配置各接口的IP地址,具體配置過程略。
# 進入接口Vlan-interface20。
<Device> system-view
[Device] interface Vlan-interface 20
# 設置內部FTP服務器。
[Device-Vlan-interface20] nat server protocol tcp global 202.38.1.1 21 inside 10.110.10.3 ftp
# 設置內部Web服務器1。
[Device-Vlan-interface20] nat server protocol tcp global 202.38.1.1 80 inside 10.110.10.1 www
# 設置內部Web服務器2。
[Device-Vlan-interface20] nat server protocol tcp global 202.38.1.1 8080 inside 10.110.10.2 www
# 設置內部SMTP服務器。
[Device-Vlan-interface20] nat server protocol tcp global 202.38.1.1 smtp inside 10.110.10.4 smtp
[Device-Vlan-interface20] quit
某公司內部對外提供Web和FTP服務。公司內部網址為10.110.0.0/16。其中,Web服務器地址為10.110.10.1/16,FTP服務器地址為10.110.10.2/16。公司具有202.38.1.1/24至202.38.1.3/24三個合法的IP地址。另外公司在公網有一台DNS服務器,IP地址為202.38.1.4/24。需要實現如下功能:
· 選用202.38.1.2作為公司對外提供服務的IP地址。
· 公網用戶可以通過域名或IP地址訪問內部服務器。
· 私網用戶可以通過域名訪問內部服務器。
圖1-9 NAT DNS mapping典型配置組網
# 按照組網圖配置各接口的IP地址,具體配置過程略。
# 進入VLAN接口 20。
<Device> system-view
[Device] interface Vlan-interface 20
# 配置內部Web服務器。
[Device-Vlan-interface20] nat server protocol tcp global 202.38.1.2 inside 10.110.10.1 www
# 配置內部FTP服務器。
[Device-Vlan-interface20] nat server protocol tcp global 202.38.1.2 inside 10.110.10.2 ftp
[Device-Vlan-interface20] 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 www
[Device] nat dns-map domain ftp.server.com protocol tcp ip 202.38.1.2 port ftp
[Device] quit
# 上述配置完成後,可以用display命令查看DNS mapping的配置情況。
<Device> display nat dns-map
NAT DNS mapping information:
There are currently 2 NAT DNS mapping(s)
Domain-name: www.server.com
Global-IP : 202.38.1.2
Global-port: 80(www)
Protocol : 6(TCP)
Domain-name: ftp.server.com
Global-IP : 202.38.1.2
Global-port: 21(ftp)
Protocol : 6(TCP)
私網Host A和公網Host B均可通過域名www.server.com訪問私網內的Web服務器,以及通過域名ftp.server.com訪問私網內的FTP服務器。
· 私網上的Host通過Device A訪問公網上的設備Device B;
· Device A開啟NAT轉換功能,它對私網用戶和公網設備之間往來的報文做NAT轉換,並將NAT日誌轉化成係統日誌送到信息中心;
· 通過查看信息中心的記錄,實現對私網用戶的監控。
圖1-10 NAT日誌輸出到信息中心組網圖
# 按照組網圖配置各接口的IP地址,具體配置過程略。
下麵隻列出了與NAT日誌相關的配置,各設備的IP地址及NAT網關NAT功能的配置略。
# 設置Device A的NAT日誌輸出到信息中心。
<DeviceA> system-view
[DeviceA] userlog nat syslog
# 在Device A上開啟NAT日誌功能。
[DeviceA] nat log enable
# 通過查看日誌緩衝區監視私網用戶的訪問記錄。
[DeviceA] quit
<DeviceA> dir
Directory of cf:/
0 -rw- 16850028 Aug 07 2009 04:02:42 mainpack.bin
1 drw- - Aug 07 2005 05:13:48 logfile
2 -rw- 1747 Aug 07 2009 04:05:38 vrpcfg.cfg
3 -rw- 524288 Aug 13 2009 01:27:40 basicbtm.bin
4 -rw- 524288 Aug 13 2009 01:27:40 extendbtm.bin
249852 KB total (232072 KB free)
File system type of cf: FAT32
<DeviceA> cd logfile
<DeviceA> more logfile.log
……略……
%@250005%Jul 7 04:20:04:72 2005 DeviceA USERLOG/7/NAT:
ICMP; 192.168.1.6:768--->1.1.1.1:12288; 2.2.2.2:768;
[2005/07/07 04:20:03-0000/00/00 00:00:00];
Operator 8: Data flow created
%@250006%Jul 7 04:20:10:72 2005 DeviceA USERLOG/7/NAT:
ICMP; 192.168.1.6:768--->1.1.1.1:12288; 2.2.2.2:768;
[2005/07/07 04:20:03-2005/07/07 04:20:09];
Operator 1: Normal over
%@250007%Jul 7 04:20:30:72 2005 DeviceA USERLOG/7/NAT:
ICMP; 192.168.1.6:768--->1.1.1.1:12288; 2.2.2.2:768;
[2005/07/07 04:20:29-0000/00/00 00:00:00];
Operator 8: Data flow created
……略……
日誌文件中除了有NAT日誌外,還有其他的係統日誌。該舉例裏的NAT日誌信息表示的具體含義如表1-21所示。
表1-21 NAT日誌顯示信息描述表
字段 |
描述 |
ICMP |
ICMP協議 |
192.168.1.6:768 |
轉換前報文的源地址和源端口 |
1.1.1.1:12288 |
轉換後報文的源地址和源端口 |
2.2.2.2:768 |
目的地址和目的端口 |
2005/07/07 04:20:03 2005/07/07 04:20:29 |
NAT會話創建時間(本例中的時間是設備的係統時間,當采用UDP報文方式輸出日誌記錄時,在UDP報文中填寫的是係統時間距格林威治時間1970年1月1日0時整的秒數,日誌服務器再根據自己的係統時間設置轉換後再輸出) |
2005/07/07 04:20:09 0000/00/00 00:00:00 |
NAT會話的結束時間 0000/00/00 00:00:00表示結束時間不確定 |
Operator |
NAT日誌創建的原因,包括: · Aged for reset or config-change表示配置改變或者手工刪除會話時生成的日誌; · Aged for no-pat of NAT表示no-pat會話老化時生成的日誌; · Active data flow timeout表示NAT會話的持續時間超過流活躍時間時生成的日誌 · Data flow created表示NAT會話創建時生成的日誌; · Normal over表示會話老化時生成的日誌 |
· 私網上的PC通過Device A訪問公網上的設備Device B;
· Device A上配置NAT轉換功能,它對私網用戶和公網設備之間往來的報文做地址轉換,並將NAT日誌以UDP報文方式送往NAT日誌服務器;
· NAT日誌服務器運行XLog軟件,查看收到的NAT日誌信息。
圖1-11 NAT日誌輸出到日誌服務器組網圖
# 按照組網圖配置各接口的IP地址,具體配置過程略。
下麵隻列出了與NAT日誌相關的配置,各設備的IP地址及NAT設備上的NAT配置略。
# 設置Device A的NAT日誌輸出到NAT日誌服務器。
<DeviceA> system-view
[DeviceA] userlog nat export host 3.3.3.7 9021
# 設置Device A的NAT日誌報文的源地址為9.9.9.9。
[DeviceA] userlog nat export source-ip 9.9.9.9
# 在Device A上開啟NAT日誌功能。
[DeviceA] nat log enable
在NAT日誌/係統日誌服務器上需要允許Xlog軟件來查看收到的NAT日誌信息。
故障排除:通過打開NAT的調試信息開關,根據設備上的調試信息,初步定位錯誤,然後使用其它命令作進一步的判斷。調試時,注意觀察地址轉換後的源地址,要保證這個地址是希望轉換的地址,否則可能會是地址池配置錯誤。同時要保證目的網絡到地址池中地址段的路由可達。注意防火牆以及地址轉換本身的訪問控製列表對地址轉換造成的影響,同時注意路由的配置。
故障排除:如果外部主機不能正常訪問內部服務器,請檢查是否是內部服務器主機的配置有錯或路由器上對內部服務器的配置有錯,如對內部服務器的IP地址指定錯誤等等。同時也有可能是防火牆禁止了外部主機對內部網絡的訪問,可以用display acl命令來查看。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!