1. 程式人生 > >使用GNS3進行NAT配置

使用GNS3進行NAT配置

一、NAT

1、概念
    NAT:網路地址轉換

  •     實現將內網私有IP地址轉換為公網IP地址
  •     解決公網IP地址數目不足的問題
  •     可保護內網IP地址的私密性,起到一定的安全性
  •     還可實現企業內多個私有IP網段重疊問題

2、NAT分類
    靜態NAT:唯一的私有IP------對映------唯一的公網IP(對映關係確定,永久儲存)
    動態NAT:多個私有IP------對映------多個公網IP(對映關係不確定,向外訪問時建立對映關係)
    埠複用:區域網中多個或全部私有IP------對映------1個公網IP(對映關係不確定,向外訪問時建立    對映關係)

  私有IP地址:
    A類:10.0.0.0--10.255.255.255
    B類:172.16.0.0--172.31.255.255
    C類:492.168.0.0--192.168.255.255

    169.254.0.0--169.254.255.255(主機從DHCP伺服器獲取IP地址失敗、或IP地址發生衝突後自動生成)

3、NAT配置命令
    靜態NAT:
          R3(config)#ip nat inside source static 內部私有IP地址  公網地址

    動態NAT:

         1)建立允許內網IP網段進行NAT轉換的ACL:
              R3(config)#access-list  標準ACL編號  permit  內網IP網段  萬用字元掩碼

         2)建立公網IP地址池:
              R3(config)#ip nat pool 地址池名稱  起始公網地址  結束公網地址  netmask  子網掩碼

         3)建立動態NAT:
              R3(config)#ip nat inside source list  ACL編號  pool  公網地址池名稱

    埠複用:

        1)建立允許內網IP網段進行NAT轉換的ACL:
             R3(config)#access-list  標準ACL編號  permit  內網IP網段  萬用字元掩碼

        2)建立埠複用NAT:
             R3(config)#ip nat inside source list  ACL編號  interface  外網介面  overload

    內部、外部埠定義:
         R3(config)#interface  內網介面
         R3(config-if)#ip  nat  inside
        
         R3(config)#interface  外網介面
         R3(config-if)#ip  nat  outside

二、案例

    拓撲圖

三、案例配置

1、R1路由器的基本網路配置

  configure terminal
  interface f0/0
  ip address 192.168.10.254  255.255.255.0 
  no shutdown
  interface f1/0
  ip address 202.100.10.1  255.255.255.0 
  no shutdown
  exit

  ip route 0.0.0.0 0.0.0.0  202.100.10.2
  exit
  write

2、R2路由器的基本網路配置
   configure terminal
   interface f0/0
   ip address 202.100.10.2  255.255.255.0 
   no shutdown
   interface f1/0
   ip address 202.100.20.1  255.255.255.0 
   no shutdown
   exit
   exit
   write

3、R3路由器的基本網路配置
   configure terminal
   interface f0/0
   ip address 192.168.20.254  255.255.255.0 
   no shutdown
   interface f1/0
   ip address 202.100.20.2  255.255.255.0 
   no shutdown
   exit
  
   ip route 0.0.0.0  0.0.0.0  202.100.20.1

4、PC1(R4)的基本配置
   configure terminal
   hostname  PC1
   interface f0/0
   ip address 192.168.10.1  255.255.255.0 
   no shutdown
   exit

   ip route 0.0.0.0 0.0.0.0  192.168.10.254

5、PC2(R5)的基本配置
   configure terminal
   hostname  PC2
   interface f0/0
   ip address 192.168.20.1  255.255.255.0 
   no shutdown
   exit

   ip route 0.0.0.0  0.0.0.0  192.168.20.254

6、連通性測試:(R1、R3未做NAT配置前)
    R1#ping 202.100.20.2(通)

    R1#ping 192.168.20.1(不通,R2無私網IP網段的路由)  


    R3#ping 202.100.10.1(通)

    R3#ping 192.168.10.1(不通,R2無私網IP網段的路由) 

    PC1#ping 202.100.10.1(通,自己閘道器的外網介面)
    PC1#ping 202.100.10.2(不通,R2路由器無回去的私有網段路由)
    PC1#ping 202.100.20.1(不通,理由同上) 
    PC1#ping 202.100.20.2(不通,理由同上)
    PC1#ping 192.168.20.1(不通,理由同上)

    PC2#ping 202.100.20.2(通,自己閘道器的外網介面)
    PC2#ping 202.100.20.1(不通,R2路由器無回去的私有網段路由)
    PC2#ping 202.100.10.2(不通,理由同上) 
    PC2#ping 202.100.10.1(不通,理由同上)
    PC2#ping 192.168.10.1(不通,理由同上)

7、靜態NAT配置(R1、R3路由器上分別完成)

1>配置

    R1(config)#ip nat inside source static 192.168.10.1  202.100.10.10
    R1(config)#interface f1/0
    R1(config-if)#ip nat outside
    R1(config-if)#interface f0/0
    R1(config-if)#ip nat inside
    R1(config-if)#exit

    R1(config)#exit
    R1#show ip nat translation(可看到2條NAT記錄)

    R3(config)#ip nat inside source static 192.168.20.1  202.100.20.10
    R3(config)#interface f1/0
    R3(config-if)#ip nat outside
    R3(config-if)#interface f0/0
    R3(config-if)#ip nat inside

    R3(config-if)#exit
    R3(config)#exit
    R3#show ip nat translation(可看到2條NAT記錄,此NAT表中的靜態記錄永久存在)


 2>連通性測試

      PC1#ping 202.100.10.2 (通,實現靜態NAT後)
      PC1#ping 202.100.20.1(通,實現靜態NAT後) 
      PC1#ping 202.100.20.2(通,實現靜態NAT後)
      PC1#ping 202.100.20.10(通,實現靜態NAT後,訪問202.100.20.10就是在訪問192.168.20.1),原本202.100.20.10地址並不存在,只是做了靜態對映後,該地址就存在了,只是它對映的是192.168.20.1

      PC2#ping 202.100.20.1 (通,理由同上)
      PC2#ping 202.100.10.2(通,理由同上) 
      PC2#ping 202.100.10.1(通,理由同上)
      PC2#ping 202.100.10.10(通,實現靜態NAT後,訪問202.100.10.10就是在訪問192.168.10.1),原本202.100.10.10地址並不存在,只是做了靜態對映後,該地址就存在了,只是它對映的是192.168.10.1


8、動態NAT配置

  1>配置
    R3(config)#access-list 2 permit 192.168.20.0 0.0.0.255

    R3(config)#no ip nat inside source static 192.168.20.1  202.100.20.10(刪除靜態對映)
    
    R3(config)#ip nat pool caiwubu 202.100.20.20 202.100.20.25 netmask 255.255.255.0

    R3(config)#ip nat inside source list 2 pool caiwubu
    R3(config)#exit

    R3#show ip nat translation(看不到動態對映的NAT記錄,因為:內網未向外訪問,動態對映不能建立)

    內部、外部埠前面已經定義
    

   2>連通性測試

    R1#ping 202.100.20.20(不通,R3路由器的動態NAT對映未建立,外網不能主動訪問內網主機)
    
    PC2#ping 202.100.10.1
    
    R3#show ip nat translation(動態對映建立,可看到ICMP包的轉換記錄,源地址192.168.20.1,轉換為公網IP:202.100.20.20)

9、埠複用

  1>配置

    ACL前面已經建立

    R3(config)#no ip nat pool caiwubu 202.100.20.20 202.100.20.25 netmask 255.255.255.0

    R3(config)#ip nat inside source list 2 interface f0/0 overload
    R3(config)#exit

    R3#show ip nat translation(看不到埠複用的NAT記錄,因為:內網未向外訪問,動態對映不能建立)

    內部、外部埠前面已經定義
   
  2>連通性測試

    PC2#ping 202.100.10.1
    
    R3#show ip nat translation
       (動態對映建立,可看到ICMP包的轉換記錄,源地址192.168.20.1,轉換為外網介面IP:202.100.20.2)

10、埠複用+靜態對映
   開啟PC2的Telnet功能
       PC2(config)#line  vty  0  4
       PC2(config-line)#pass  123
       PC2(config-line)#login
       PC2(config-line)#exit
       PC2(config)#enable  password  abc
       PC2(config)#exit
       PC2#write

    靜態對映前telnet連線測試
        PC1#telnet  202.100.20.2(失敗,未建立23號埠的靜態對映)

    在R3上配置埠複用+靜態對映(ACL前面已經建立)

        R3(config)#ip nat inside source static tcp 192.168.20.1 23 interface f1/0 23

        R3(config)#exit
        R3#show ip nat translation(可以看到一條23號埠的永久對映記錄已經建立)

    Telnet連線測試---成功
          PC1#telnet  202.100.20.2

          輸入Telnet登入密碼:123

          PC2>enable

          輸入特權模式密碼:abc

          PC2#enable