【NAT原理及應用實戰】圖文並茂,徹底搞懂網絡地址轉換

文章目錄

什麼是NAT?

NAT技術的應用

1、靜態NAT

2、動態NAT

3、NAPT

4、easy IP

5、NAT server


什麼是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技術應用前後節點的效果,我們選擇對兩個接口進行抓包分析。


實驗結果分析

靜態NAT之前---GE0/0/0

 

靜態NAT之後---GE0/0/1

 從上圖可以發現:我們剛剛在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 完整版


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章