园区网实现与安全

NAT原理

NAT技术背景

NAT技术背景

  • 为节省IPv4地址,企业内网使用的都是”私有IP地址”
  • Internet网络的组成设备,使用都是”公有IP地址”
  • 所以企业内网要与lnternet 互通,必须拥有”公有IP地址”

NAT概述

NAT (Network Address Translation ),网络地址转换

  • 主要应用在企业网络的边界设备上
  • 对IP数据报文头部中的”私有IP地址”转换为”公有IP地址”实现内网到外网的访问
  • 实现对企业内网的保护,增强企业内网的安全性,因为外网无法直接访问内网设备的私有IP地址

NAT工作原理

NAT对IP报头中的源IP进行地址转换

5.5.1

NAT工作表:NAT会话表

5.5.2

NAT类型

静态NAT

  • 私有IP地址和公有IP地址1对1转换,不节省公有IP

动态NAT

  • 基于”NAT地址池”实现”私有地址”和”公有地址”之间的随机转换
  • 一个公有地址在不同的时间可以为多个私有地址进行转换,但在同一时间一个公有地址只能为一个私有地址进行转换,所以要求NAT地址池中的公有地址数量要多于企业内部私有地址的数量,所以这种方式并不常用

NAPT:网络地址端口转换(Network Address Port Translation)

  • 多对一的地址转换,使用“IP地址+端口号”的形式进行转换,使多个私有IP地址可共用一个公网IP地址访问外网
  • 允许多个私有地址转换为同一个公有地址,因此也称为“多对一地址转换”或地址复用
  • NAPT的实现方式主要有EasyIP和地址池NAPT

NAT Server

  • NAT Server是一种特殊的静态NAT
  • 主要应用于外网用户访问企业内网服务器的场景

NAT总结

NAT配置在出口设备的出接口上

NAT转换表

  • NAT有一个转换表:一个私有IP 和一个公网IP绑定在一起
  • 数据包出去的时候,转换源IP: 将源IP由私有IP转换为公有IP, 目标IP不变
  • 数据包回来的时候,转换目的IP: 将目的IP由公有IP地址,转换为私有IP,源IP不变

备注

  • 默认路由解决的是数据出去的问题
  • NAT解决的时候数据回来的问题

静态NAT配置

静态NAT

  • 静态NAT也称Basic NAT
  • 静态NAT属于私有IP地址和公有IP地址1对1转换
  • 静态NAT只转换IP地址,不转换端口号

案例需求

企业内网的PC需要访问”公有服务器”

  • 企业租用了1个公网地址段:100.1.1.0/29
  • 实现企业内网主机访问外部网络

5.5.3

案例分析

  • 在企业网络的边界设备上,配置默认路由,企业内网数据可以发送到Internet
  • 因为Internet设备上没有”私有IP地址”的路由条目,所以数据无法返回到”企业内网”
  • 在企业网络的边界设备(路由器)上,使用静态NAT技术,实现”私有IP地址”和”公网IP地址”互相转换

配置思路

  • 在企业边界设备R1中配置接口IP地址和掩码
  • 在企业边界设备R1中配置默认路由,下一跳指向ISP设备
  • 在企业边界设备R1的出接口配置静态NAT

配置命令

R1重要配置

1
2
3
4
[R1]ip route-static 0.0.0.0 0 100.1.1.2                       //配置默认路由
[R1]interface G0/0/1
[R1-G0/0/1]ip address 100.1.1.1 29 //配置公网接口IP地址
[R1-G0/0/1]nat static global 100.1.1.3 inside 192.168.1.1 //配置静态NAT

动态NAT配置

动态NAT

  • 动态NAT基于”NAT地址池”实现”私有地址”和”公有地址”之间的随机转换
  • 一个公有地址在不同的时间可以为多个私有地址进行转换,但在同一时间一个公有地址只能为一个私有地址进行转换,所以要求NAT地址池中的公有地址数量要多于企业内部私有地址的数量,所以这种方式并不常用

案例需求

  • 企业内网的PC需要访问”公网服务器”
  • 部署NAT地址池,实现私有IP地址和地址池里面的公网IP地址动态转换,实现内网多个私有主机访问外网

5.5.4

案例分析

  • 企业租用公网地址段100.1.1.0/29
  • 在R1连接”公网”的接口上,部署动态NAT,即让多个私有IP地址轮询使用NAT地址池里面的公网IP地址
  • 100.1.1.0/29子网中,可用IP地址仅有6个
    地址范围:100.1.1.0-100.1.1.7
    可用地址范围:100.1.1.1-100.1.1.6
    100.1.1.1配置在R1出接口,100.1.1.2配置在R2-ISP接口
    NAT地址池可用剩余地址:100.1.1.3-200.1.1.6

配置思路

  • 在企业边界设备R1中配置接口IP地址和掩码
  • 在企业边界设备R1中配置默认路由,下一跳指向ISP设备
  • 在企业边界设备R1中创建公网地址池,用于NAT转换
  • 在R1中创建ACL,配置允许哪些内网主机地址可以访问公网
  • 在企业边界设备R1的出接口配置动态NAT

配置命令

R1重要配置

1
2
3
4
5
6
7
[R1]ip route-static 0.0.0.0 0 100.1.1.2                       //配置默认路由
[R1]nat address-group 1 100.1.1.3 100.1.1.5 //创建NAT地址池
[R1]acl 2000 //创建acl
[R1-acl-2000]rule 10 permit source 192.168.1.0 0.0.0.255
[R1]interface G0/0/1
[R1-G0/0/1]ip address 100.1.1.1 29 //配置公网接口IP地址
[R1-G0/0/1]nat outbound 2000 address-group 1 no-pat //配置动态NAT,且不做端口转换

总结

动态NAT

  • 基于”NAT地址池”实现”私有IP地址”和”公有IP地址”之间的转换
  • 一个公有IP地址在不同的时间可以为多个私有IP地址进行转换
  • 但是在同一时间一个公有IP地址只能为一个私有IP地址的网络会话进行转换
  • 所以,如果公司的内网设备有同时上网的需求,产生大量网络会话,会导致NAT地址池枯竭
  • 那么NAT地址池里公有IP地址的数量就需要很多很多,才有可能满足私有IP地址的主机上网的需求
  • 所以动态NAT也没有达到节省公有IP地址的目的

NAPT之地址池NAT

NAPT

NAPT(Network Address Port Translation)网络地址接口转换

  • 使用”IP地址 + 端口号”的形式进行转换
  • 使多个私有IP共用一个公有IP地址访问外网,节约公有IP地址
  • 可以实现高并发的地址转换,也称为”多对一地址转换”或地址复用

5.5.5

配置思路

  • 在企业边界设备R1中配置IP地址和掩码
  • 在企业边界设备R1中配置默认路由,下一跳指向ISP设备
  • 在企业边界设备R1中创建公网地址池,用于NAT转换
  • 在R1中创建ACL,配置允许哪些内网主机地址可以访问公网
  • 在边界设备R1的出接口配置NAPT之地址池NAT

配置命令

R1重要配置

1
2
3
4
5
6
7
[R1]ip route-static 0.0.0.0 0 100.1.1.2                       //配置默认路由
[R1]nat address-group 1 100.1.1.3 100.1.1.5 //创建NAT地址池
[R1]acl 2000 //创建acl
[R1-acl-2000]rule 10 permit source 192.168.1.0 0.0.0.255
[R1]interface G0/0/1
[R1-G0/0/1]ip address 100.1.1.1 29 //配置公网接口IP地址
[R1-G0/0/1]nat outbound 2000 address-group //配置NAPT,相比动态NAT,缺少了no-pat参数

总结

NAPT:网络地址端口转换

  • 使用”IP地址+端口号”的形式进行转换,使多个私有IP地址可共用一个公网IP地址访问外网
  • 允许多个私有地址同时转换为同一个公有地址,因此也称为“多对一地址转换”或地址复用
  • NAPT的实现方式主要有EasyIP和地址池NAPT
  • 地址池NAT在目前企业中应用的最为广泛,是最主流的NAT解决方案
  • 地址池NAT适用于大型企业,主机数量多企业

NAPT之Easy IP

案例需求

中小型企业,租用公网网段200.1.1.0/30

  • 可用地址范围:200.1.1.1-200.1.1.2,分别配置在边界设备的出接口和ISP设备的设备接口上,没有空闲的公网IP地址可以做NAT转换,所以使用EasyIP

5.5.6

Easy IP

  • EasyIP是一种特殊的NAPT,最节省公网IP地址
  • EasyIP使用出接口的公网IP地址作为NAT转换后的地址
  • EasyIP使用“IP地址+端口号”的形式进行转换
  • EasyIP可以利用ACL来控制哪些内部地址可以进行地址转换
  • EasyIP方式特别适合中小型局域网访问Internet的情况

配置思路

  • 在企业边界设备R1中配置IP地址和掩码
  • 在企业边界设备R1中配置默认路由,下一跳指向ISP设备
  • 在R1中创建ACL,配置允许哪些内网主机地址可以访问公网
  • 在边界设备R1的出接口配置NAPT之EasyIP

配置命令

R1重要配置

1
2
3
4
5
6
[R1]ip route-static 0.0.0.0 0 100.1.1.2                       //配置默认路由
[R1]acl 2000 //创建acl
[R1-acl-2000]rule 10 permit source 192.168.1.0 0.0.0.255
[R1]interface G0/0/1
[R1-G0/0/1]ip address 100.1.1.1 29 //配置公网接口IP地址
[R1-G0/0/1]nat outbound 2000 //配置EasyIP

总结

easy-ip

  • 利用出口设备的出接口IP地址做NAT转换

  • 这是目前最节约公网IP的一种NAT解决方案

  • easy-ip 适用于中小型企业,主机数量少的企业

NAT Server

NAT Server

  • NAT具有“屏蔽”内部主机的作用,但有时内网需要向外网提供服务,比如提供WEB服务,这种情况下需要内网的服务器不被“屏蔽”,外网用户可以随时访问内网服务器
  • NAT Server可以很好地解决外网主机访问内网服务器的需求
  • NAT Server需要提前配置好“公网IP地址+端口号”与“私网IP+端口号”的映射关系
  • 当外网用户访问内网服务器时,将服务器的“公网IP地址+端口号”转换为对应的“私网IP地址+端口号”

案例需求

企业内网部署Web服务器,对外提供服务

  • 允许外网主机访问企业内部服务器,使用NAT Server

允许企业内网主机访问外部网络,使用EasyIP或者地址池IP

5.5.7

实验分析

  • 外网用户通过互联网访问任何服务和应用,都是依靠“运营商”的路由设备
  • 运营商的路由器没有私有网段的路由,只能访问公网地址才可以
  • 企业租用公网IP地址,外部用户通过这些地址才能访问
  • 企业网络设备必须能够实现”私有地址”和”公有地址”的转换
  • 为了实现外网主机访问内网服务器,我们使用NAT Server

配置思路

  • 配置内网服务器的IP地址和网关
  • 配置并启用内网服务器的Web服务
  • 在企业边界设备R1中配置接口IP地址和掩码
  • 在企业边界设备R1中配置默认路由,下一跳指向ISP设备
  • 在R1中创建ACL,配置允许哪些内网主机地址可以访问公网
  • 在边界设备R1的出接口配置NAPT之EasyIP
  • 在边界设备R1的出接口配置NAT Server

配置命令

R1重要配置

1
2
3
4
5
6
7
[R1]ip route-static 0.0.0.0 0 100.1.1.2                                        //配置默认路由
[R1]acl 2000 //创建acl
[R1-acl-2000]rule 10 permit source 192.168.1.0 0.0.0.255
[R1]interface G0/0/1
[R1-G0/0/1]ip address 100.1.1.1 29 //配置公网接口IP地址
[R1-G0/0/1]nat outbound 2000 //配置EasyIP
[R1-G0/0/1]nat server protocol tcp global 100.1.1.6 80 inside 192.168.1.1 80 //配置NAT Server

总结

NAT Server

  • 是一种特殊的静态NAT

  • 主要应用于外网用户访问企业内网服务器的场景