NAT

网络地址转换,用于实现私有网络和公有网络之间的互访。

私有网络地址和公有网络地址

公有:A:1.0.0.1~126.255.255.254 B:128.0.0.1~191.255.255.254 C:192.0.0.1~223.255.255.254 D:224.0.0.1~239.255.255.254 E:240.0.0.1~255.255.255.254 私有: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

NAT的工作原理

  • NAT用来将内网地址和端口号转换成合法的公网地址和端口号,建立一个会话,与公网主机进行通信。
  • NAT外部的主机无法主动根位于NAT内部的主机通信,NAT内部主机想要通信,必须主动和公网的一个IP通信,路由器负责建立一个映射关系,从而实现数据的转发。

NAT转换原理

NAT:数据包从内网到外网时,会转换源IP地址,由私网地址转换成公网地址。 数据包从外网到内网时,会转换目的IP地址,由公网地址转换成私网地址。

NAT功能

NAT不仅能解决了IP地址不足的问题,而且还能够有效地避免来自网络外部的inbreak,隐藏并保护网络内部的计算机

  1. 带宽分享:这是NAT主机的最大功能
  2. 安全防护:NAT之内的PC联机到Internrt上面时,他所显示的IP是NAT主机的公网IP,所以Client端的PC就具有一定程度的安全了,外界在进行Portscan(端口扫描)的时候,就侦测不到源Client端的PC。

优点:节省公有合法IP地址,处理地址重叠,增强灵活性,安全性 缺点:延迟增大、配置和维护的复杂性不支持某些应用(比如Virtual Private Network)

NAT类型

静态NAT

::: hljs-center

静态NAT博客截图.png

:::

静态NAT实现私网地址和公网地址的一对一转换。有多少个私网地址就需要配置多少个公网地址。静态NAT不能节约公网地址,但可以起到隐藏内部网络的作用。 内部网络向外部网络发送报文时,静态NAT报文的源IP地址替换为对应的公网地址;外部网络向内部网络发送响应报文时,静态NAT将报文的目的地址替换为相应的私网地址。

静态NAT的两种配置方法

第一种:全局模式下设置静态NAT

[R1]nat static global 8.8.8.8 inside 192.168.10.10
[R1]int g0/0/1   ###外网口
[R1-GigabitEthernet0/0/1]nat static enable   ###在网口上启动nat static enable 功能

第二种:直接在接口上声明nat static

[R1]int g0/0/1   ###外网口
[R1-GigabitEthenet0/0/1]nat static global 8.8.8.8 inside 192.168.10.10
[R1]dis nat static   ###查看NAT静态配置信息

动态NAT

多个私网IP地址对应多个公网IP地址,基于地址池一对一映射

  1. 配置外部网口和内部网口的IP地址
  2. 定义合法IP地址池
[R1]nat address-group 1 212.0.0.100  212.0.0.200   ###新建一个名为1的nat地址池

3.定义访问控制列表

[R1]acl 2000   ###创建ACL,允许源地址为192.168.20.0/24网段和11.0.0.0/24的数据通过
[R1-acl-basic-2000]rule permit source 192.168.20.0  0.0.0.255
[R1-acl-basic-2000]rule permit source 11.0.0.0 0.0.0.255

4.在外网口上设置动态IP地址转换

[R1-acl-basic-2000]int g0/0/1   ###外网口
[R1 -GigabitEthernet0/0/1]nat outbound 2000 address-group 1 no-pat   ###将ACL 2000匹配的数据转换为改接口的IP地址作为源地址(no pat不做端口转换,只做IP地址转换,默认为pat)
[R1]dis nat outbound   ####查看NAT Outbound的信息

PAT端口多路复用

PAT:实现一个公网地址和多个私网地址之间的映射,因此可以节约公网地址。

PAT基本原理

将不同私网地址的报文的源IP地址转换为同公网地址,但他们被转换为该地址的不同端口号,因而仍然能够共享同一地址。

PAT作用

  1. 改变数据包的ip地址和端口号
  2. 能够大量节约公网IP地址

PAT类型

  • 动态PAT,包括NAPT和Easy IP
  • 静态PAT包括NAT Server

NAPT

多个私网IP地址对应固定外网IP地址,配置方法与动态NAT类似

  1. 配置外部网口和内部网口的IP地址
  2. 定义合法IP地址池
[R1]nat address-group 1 200.1.1.10 200.1.1.10   ###使用一个固定IP

3.定义访问控制列表

[R1]acl 2000   ###允许源地址为192.168. 30.0/24网段的数据通过
[R1-acl-adv-2000]rule permit source 192.168.30.0   0.0.0.255

4.在外网口上设置IP地址转换

[R1-acl-basic-2000]int g0/0/1   ###外网口

[R1-GlgabltEthernet0/0/1]nat outbound 2000 address-group 1

EasyIP

多个私网IP地址对应外网口公网IP地址

  1. 配置外部网口和内部网口的IP地址
  2. 定义合法IP地址池 由于直接实验外网口IP地址所以不用再定义IP地址池 3.定义访问控制列表
[R1]acl 3000   ###允许源地址为192.168.30.0/24网9段的数据通过

[R1-acl-adv-3000]rule permit ip source 192.168.30.0  0.0.0.255

4.在外网口上设置IP地址转换

[R1]Int g0/0/1   ###外网口
[R1-GigabitEthernet0/0/1]nat outbound 3000   ###当acl3000匹配的源IP数据到达此接口时,转换为该接口的IP地址做为源地址
[R1]display nat session all   ###查看NAT的流表信总

NAT Server

端口映射,将私网地址端口映射到公网地址,实现内网服务器供外网用户访问

[R1]int g0/0/1
[R1 -GigabitEthernet0/0/1]nat server protocol tcp global 9.9.9.9 www inside 192.168.10.100 www   ###在连接公网的接口上将私网服务器地址和公网地址做一对NAT映射绑定
[R1-GigabitEthernet0/0/1]nat server protocol tcp global current-interface 8080 inside 10.1.1.1 www   ###在连接公网的接口上将私网服务器地址和外网接口做一对NAT映射绑定
[R1-GigabitEthernet0/0/1]nat server protocol tcp global current-interface 2121 inside 10.1.1.2 ftp-interface 8080 inside 10.1.1.1 www   ###在连接公网的接口上将私网服务器地址和外网接口做一对NAT映射绑定
[R1-GigabitEthernet0/0/1]nat server protocol tcp global current-interface 2121 inside 10.1.1.2 ftp   ###端口为21可以直接使用关键字“ftp”代替

实验配置

::: hljs-center

拓扑图.png

:::

全局模式下配置NAT

::: hljs-center

PC1.png

::: ::: hljs-center

Server1.png

::: R1配置

<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]us	
[Huawei]user-in	
[Huawei]user-interface con	
[Huawei]user-interface console 0
[Huawei-ui-console0]i	
[Huawei-ui-console0]idle-timeout 0 0
[Huawei-ui-console0]q
[Huawei]sys R1
[R1]un in en
Info: Information center is disabled.
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 192.168.1.254 24
[R1-GigabitEthernet0/0/0]un shu
Info: Interface GigabitEthernet0/0/0 is not shutdown.
[R1-GigabitEthernet0/0/0]int g0/0/1
[R1-GigabitEthernet0/0/1]ip add 12.0.0.254 24
[R1-GigabitEthernet0/0/1]un shu
Info: Interface GigabitEthernet0/0/1 is not shutdown.
[R1-GigabitEthernet0/0/1]int g0/0/2
[R1-GigabitEthernet0/0/2]ip add 192.168.2.254 24
[R1-GigabitEthernet0/0/2]un shu
Info: Interface GigabitEthernet0/0/2 is not shutdown.
[R1-GigabitEthernet0/0/2]q
[R1]nat s	
[R1]nat static g	
[R1]nat static global 8.8.8.8 i	
[R1]nat static global 8.8.8.8 inside 192.168.1.1
[R1]dis th
[V200R003C00]
#
 sysname R1
#
 snmp-agent local-engineid 800007DB03000000000000
 snmp-agent 
#
 clock timezone China-Standard-Time minus 08:00:00
#
portal local-server load portalpage.zip
#
 drop illegal-mac alarm
#
 undo info-center enable
#
 set cpu-usage threshold 80 restore 75
#
return
[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]nat s	
[R1-GigabitEthernet0/0/1]nat st	
[R1-GigabitEthernet0/0/1]nat static-	
[R1-GigabitEthernet0/0/1]nat static en	
[R1-GigabitEthernet0/0/1]nat static enable 
[R1-GigabitEthernet0/0/1]q
[R1]

::: hljs-center

PC1ping.png

:::