文章目錄
什麼是NAT?
NAT,Network Address Translation,實際上就是一種網絡地址轉換的技術。
實際應用:將私網IP地址轉換成公網IP地址。
我們知道IP地址是可以分爲公網IP地址、私網IP地址。
公網IP地址:全網公開的、唯一、數量有限的IP地址
私網IP地址:不同的局域網中可以重複使用的IP地址。
對於兩種不同類的IP地址,私網地址是怎麼訪問公網地址?
實際上,私網地址在訪問公網地址之前,需要在出接口處將自己的私網地址轉換成公網地址,這樣私網的主機就可以訪問公網地址了,而這也就是NAT技術的實際應用方向。
NAT技術的應用
剛開始網絡地址轉換的技術是靜態NAT、動態NAT,而隨着技術的發展和網絡的進一步的需求,NAPT、easy IP等技術的應用接續出現。
這幾種技術有什麼特點與不同呢?
我們引入一個實際場景,如下圖所示,我們要通過路由器以私網地址的角色訪問我們的公網服務器(例如某個ISP運營商服務器),怎麼做呢?
1、靜態NAT
實現原理:通過私有地址和公有地址的一對一映射。
ok,我們按照上面的場景規劃圖,作出了下面的網絡拓撲,如下:
要求很簡單:我們要通過路由器連接公網服務器的接口(路由器的下行接口)配置,源私網IP地址訪問我們的公網服務器轉換成某一個公網地址(如100.1.1.2)的角色去訪問我們的公網服務器。
詳細實驗配置
步驟一、配置PC和Server的IP地址、網關等信息,再給路由器兩個接口配置上相應的IP地址。
- PC配置完IP、網關等信息的截圖:
- Server配置完IP、網關等信息的截圖:
- 路由器配置IP地址截圖:
步驟二、對路由器接口GE0/0/1進行一對一的NAT網絡地址轉換(私網--->公網)
interface GigabitEthernet0/0/1
nat static global 100.1.1.2 inside 192.168.1.1
PS:使用“?”配置命令的話很簡單,最後一個“?”之後出現了“<cr> Please press ENTER to execute command”說明now可以不用再接着填了。
然後dis this檢查一下配置,如下:
我們發現缺省情況下,把192.168.1.0的掩碼置爲32了(255.255.255.255),這個沒影響,不用管,繼續go。
剛剛我們已經創建了一個靜態NAT,即實現了私網IP(192.168.1.1)----->公網IP(100.1.1.2)。但是隻是做了一個地址映射而已,要實際應用還要enable開啓這個映射,如下:
interface GigabitEthernet0/0/1
nat static enable
步驟三、先用服務器ping一下PC主機,再到PC主機ping一下服務器100.1.1.1,另外使用Wireshark分別對接口GE0/0/0、接口GE0/0/1抓一抓數據包看看。
一些小夥伴有點疑惑了,爲什麼先在服務器server那邊ping一下主機PC?
因爲剛開始,主機PC並不知道server的IP地址,需要pin使二者都各自擁有ARP緩存。這樣PC去ping通server就不會出現如下的“unreachable”的情況了,如下圖。
還有,爲什麼要對兩個接口Wireshark抓包?
接口GE0/0/1是剛剛已進行了NAT的,接口GE0/0/0是沒有NAT的。爲了對比NAT技術應用前後節點的效果,我們選擇對兩個接口進行抓包分析。
實驗結果分析
從上圖可以發現:我們剛剛在GE0/0/1(即路由連接公網server的接口)所配置的靜態NAT已經生效了,私網的源IP地址(192.168.1.1)按照映射轉換成了公網的源IP地址(100.1.1.2)。
2、動態NAT
實現原理
動態NAT,通過私有地址和公有地址的一對一映射,不會強制性地靜態綁定,而是動態的進行靜態綁定。其中,使用到了公網地址池、ACL這兩種配置。
解釋一下公網地址池(address-group)、ACL:
NAT地址池來存儲公網IP地址用以NAT;
ACL(訪問控制列表)可用來過濾哪一些私網IP能動態NAT、哪一些不能動態NAT。
實驗配置
大致的配置流程(在上次實驗的基礎上,還有undo之前在GE0/0/1的靜態NAT配置)
1、創建公網地址池--->2、創建ACL訪問控制列表過濾動態NAT的對象--->3、實現並啓用動態NAT映射(利用上面創建好的公網地址池、ACL控制列表)
詳細配置
nat address-group 1 100.1.1.2 100.1.1.7 //創建公網地址池(id=1), 100.1.1.2 ~ 100.1.1.7(6個公網地址)
acl number 2000
rule 5 permit source 192.168.1.0 0.0.0.255 //匹配出需要做NAT的私網IP地址
rule 10 deny
interface GigabitEthernet0/0/1
nat outbound 2000 address-group 1 no-pat //動態NAT映射
3、NAPT
實現原理:將多個私網地址映射到同一個公有IP地址的不同端口,實現公網IP地址的地址複用。
實驗配置
在上次實驗的基礎上,還有undo剛剛在GE0/0/1的動態NAT配置,之後,配置NAPT命令如下:
nat address-group 1 100.1.1.2 100.1.1.7 //創建公網地址池(id=1),100.1.1.2 ~ 100.1.1.7(6個公網地址)
ac1 number 2000
rule 5 permit source 192.168.1.0 0.0.0.255 //匹配出需要做NAT的私網IP地址
rule 10 deny
interface GigabitEthernet0/0/1
ip address 100.1.1.254 255.255.255.0
nat outbound 2000 address-group 1 //NAPT映射
對比前一個實驗(動態NAT的配置),發現其實NAPT配置和動態NAT實驗差不多的,不同的是動態NAT的配置是帶“no-pat”的。
no-pat是是什麼意思?
no-port address translation,也就是不支持端口映射的,這幾種NAT技術中,NAPT才支持的嘛。
4、easy IP
實現原理:將多個私網IP地址映射到連接ISP公網服務器的接口的IP地址的不同端口上,實現公網IP地址的地址複用。
實驗配置
acl number 2000
rule 5 permit source 192.168.1.0 0.0.0.255 //匹配出需要做NAT的私網IP地址
rule 10 deny
interface GigabitEthernet0/0/1
ip address 100.1.1.254 255.255.255.0
nat outbound 2000 //easy IP的映射
5、NAT server
實現原理
NAT server,可以使外網用戶訪問內網服務器,實現私網IP地址和公網IP一對一的映射。
實驗配置
interface GigabitEthernet0/0/1
ip address 100.1.1.254 255.255.255.0
nat server protocol tcp global 100.1.1.2 www inside 192.168.1.1 www //web服務---http
nat server protocol tcp global 100.1.1.3 ftp inside 192.168.1.1 ftp //ftp文件傳輸
↓↓↓閱讀到這裏,估計各位也倦了,一起來聽一聽大魚海棠片尾曲--大魚MV唄,讓中國風給你提提神!↓↓↓
大魚海棠 片尾曲《大魚》周深MV 完整版