NAT--网络地址转换--理论与基础命令--华为实验


前言

  • 公司的办公网络需要访问 Internet ,但是由于私网地址不允许在 Internet 上使用,全部使用公网 IP 地址又需要支付高额费用,于是很多公司都采用 AT 技术来访问 Internet
  • 通过本文,我们将学习 NAT 的原理及工作过程,掌握如何在 华为路由器上配置 NAT ,以实现公司内部网络访问 Internet 的各种需求

一、NAT概述

  • 随着网络的发展,对公网 IP 地址的需求与日俱增
  • 为了缓解公网 IP 地址的不足, 并且保护公司内部服务器的私网地址,可以使用网络地址转换(Network Address Translation,NAT)技术将私网地址转换为公网地址,以缓解公网 IP 的不足,并且可以隐藏内部服务器的私网地址

1.NAT的概念

  • NAT 通过将内部网络的私网 IP 地址翻译成全球唯一的公网 IP 地址,使内部网络可以连接到互联网等外部网络上,广泛应用于各种类型的互联网接入方式和各种类型的网络中
  • NAT 不仅解决了公网 IP 地址不足的问题,而且能够隐藏内部网络的细节,避免来自网络外部的攻击,可以起到一定的安全作用
  • 借助 NAT ,私有保留地址的内部网络通过路由器发送数据包时,私有地址被转换成合法的 IP 地址,这样一个局域网只需要少量地址(甚至是一个)即可实现私有地址网络中的所有计算机与互联网的通信需求

2.公有网络地址与私有网络地址

  • 公有网络地址(以下简称公网地址)是指在互联网上全球唯一的IP地址
  • 2019年11月26日,是人类互联网时代值得纪念的一天,全球近43亿IPV4地址耗尽
  • 私有网络地址(以下简称私网地址)是指内部网络或主机的IP地址, IANA (互联网数字分配机构)规定将下列的IP地址保留用作私网地址,不在Internet上被分配,可在一个单位或公司内部使用
  • RFC1918中规定私有地址如下:
    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

3.NAT的工作原理

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

4.NAT功能

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

5.NAT的优缺点

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

6.静态 NAT

  • 静态NAT实现私网地址和公网地址的一对一转换,有多少个私网地址就需要配置多少个公网地址,静态NAT不能节约公网地址,但可以起到隐藏内部网络的作用
  • 内部网络向外部网络发送报文时,静态NAT将报文的源IP地址替换为对应的公网地址;外部网络向内部网络发送响应报文时,NAT将报文的目的地址替换为相应的私网地址
    mark
    路由器3个表的作用
  1. 路由表: 数据包通过目的IP查路由表转发
  2. ACL:访问控制列表 、过滤数据包,拒绝,放行
  3. NAT转换表: 内网到外网转换源IP地址,外网到内网转换目的IP地址

二、NAT的配置

1.静态NAT

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

有2种配置方法:

  • 第一种:
    全局模式下设置静态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-GigabitEtherneto/0/1] nat static global 8.8.8.8 inside 192.168.10.10
[R1]dis nat static ###查看NAT静态配置信息

2.动态NAT

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

  1. 配置外部网口和内部网口的IP地址
  2. 定义合法IP地址池
[R1] nat address-group 1 212.0.0.100 212.0.0.200 #新建一个名为1的nat地址池
  1. 定义访问控制列表
[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的信息

3.PAT端口多路复用

  • PAT又称为NAPT (Network Address Port Translation) ,它实现一个公网地址和多个私网地址之间的映射,因此可以节约公网地址
  • PAT的基本原理是将不同私网地址的报文的源IP地址转换为同一公网地址,但他们被转换为该地址的不同端口号,因而仍然能够共享同一地址

PAT有以下作用:

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

PAT的类型有以下:

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

4.NAPT

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

  1. 配置外部网口和内部网口的IP地址
  2. 定义合法IP地址池
[R1]nat address-group 1 200.1.1.10 200.1.1.10 ##使用一个固定IP
  1. 定义访问控制列表
|[R1]acl 2000
###允许源地址为192.168.30.0/24网段的数据通过
[R1-acl-adv-2000] rule permit source 192.168.30.0 0.0.0.255
  1. 在外网口上设置1P地址转换
[R1-acl-basic-2000]int g0/0/1 ###外网口
[R1-GigabitEthernet0/0/1] nat outbound 2000 address-group 1

5.Easy IP

多个私网IP地址对应外网口公网IP地址(比如12.0.0.1)

  1. 配置外部网口和内部网口的IP地址
  2. 定义合法IP地址池
    由于直接实验外网口IP地址所以不用再定义1P地址池
  3. 定义访问控制列表
[R1] acl 3000 ##允许源地址为192.168.30.0/24网段的数据通过
[R1-acl-adv-3000]rule permit ip source 192.168.30.0 0.0.0.255
  1. 在外网口上设置IP地址转换
[R1]int g0/0/1 ###外网口
[R1-GigabitEthernet0/0/1] nat outbound 3000
##当acl 3000匹配的源IP数据到达此接口时,转换为该接口的IP地址做为源地址
[R1] display nat session all ####查看NAT的流表信息

6.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
###端口为21可以直接使用关键字"ftp"代替

三、华为实验

1.拓扑图

mark

2.全局模式下配置NAT

mark
mark

  • R1
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys R1
[R1]un in en
Info: Information center is disabled.
##配置各端口IP
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 192.168.1.254 24
[R1-GigabitEthernet0/0/0]un sh
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 sh
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 sh
Info: Interface GigabitEthernet0/0/2 is not shutdown.
[R1-GigabitEthernet0/0/2]q
##全局模式下将私网地址配置8.8.8.8公网地址
[R1]nat static global 8.8.8.8 inside 192.168.1.1
[R1]di th

[R1]int g0/0/1
##在此端口上启用nat功能
[R1-GigabitEthernet0/0/1]nat static enable 

mark

3.动态NAT

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

##因为我们这里基于上一个实验继续往下面做,所以需要先删除旧配置
[R1-GigabitEthernet0/0/1]undo nat static enable 
[R1-GigabitEthernet0/0/1]q
[R1]un nat static global 8.8.8.8 inside 192.168.1.1

##配置nat公网地址池
[R1]nat address-group 1 12.0.0.100 12.0.0.200
#创建acl
[R1]acl 2000
##筛选部分私网地址,避免全部私网地址进入导致路由崩溃
[R1-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255

[R1-acl-basic-2000]q
[R1]int g0/0/1
##将nat功能配置至此端口中
[R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 no-pat 
[R1-GigabitEthernet0/0/1]di th

mark

4.Easy IP

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

##首先删除旧配置
[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]un nat ou 2000 address-group 1 no-pat 

##创建acl3000
[R1-GigabitEthernet0/0/1]acl 3000
##允许私网网段
[R1-acl-adv-3000]rule permit ip source 192.168.1.0 0.0.0.255
[R1-acl-adv-3000]di th

[R1-acl-adv-3000]q
##进入配置端口
[R1]int g0/0/1
##将acl3000配置上端口
[R1-GigabitEthernet0/0/1]nat outbound 3000

[R1-GigabitEthernet0/0/1]q
##查看信息
[R1]dis nat session all	

5.NAT server

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

[R1]int g0/0/0
[R1-GigabitEthernet0/0/1]un nat outbound 3000
[R1-GigabitEthernet0/0/1]di th

[R1-GigabitEthernet0/0/1]q
[R1]int g0/0/0
##在连接公网的接口上将私网服务器地址和外网接口做一对NAT映射绑定
[R1-GigabitEthernet0/0/0]nat server protocol tcp global current-interface 8080 i
nside 12.0.0.1 www
[R1-GigabitEthernet0/0/0]di th

猜你喜欢

转载自blog.csdn.net/weixin_51486343/article/details/112110656