NAT场景与应用
项目背景
为节省IP地址和费用,企业内网使用的都是“私有IP地址”。
Internet网络的组成设备,使用的都是“公有IP地址〞。
企业内网要与Internet互通,必须拥有“公有IP地址”。
企业内网中的设备,无法使用“私自IP地址”与Internet互通。
项目分析
在企业的边缘路由器上,配置默认路由,企业内网数据可以发送到Internet。
因为Internet设备上没有“私有I地址”,的路由路目,所以数据无法返回到“企业内网”。
在企业网络的边缘路由器上,使用NAT技术,实现“私有IP地址”和“公有IP地址”的相互转换。
解决方案
在企业网络的边缘设备路由器上部署
使用NAT技术,实现“私有IP地址”和“公有IP地址”相互转换,即NAT(Network Address Translation)。
NAT概述
NAT→Network Address Translation ,网络地址转换。
- 主要应用在企业网络的边缘设备路由器上。
- 对数据包的“私有IP地址”和“公有IP地址”进行转换,实现内网到外网的访问。
- 实现对企业内网的保护,增强企业内网的安全性,因为外网无法直接访问内网设备的私有IP地址。
NAT工作原理
路由器对数据包进行地址转换,首先边缘路由器要提前配置用于转换的地址(200.1.1.1),如内网PC1(10.1.1.1)访问外网服务器的目标IP为:210.1.1.1,数据包来到边缘路由器后,经过边缘路由器处理后,发往服务器的数据包的源IP地址由原来的10.1.1.1转换为了200.1.1.1,这样数据包便可以发往服务器。而服务器回包时也是回给边缘路由器,再由路由器处理转发到内网的PC1。
NAT核心工作表,表中记录了协议,内部私有IP地址和内部公有IP地址。
NAT类型:
- 静态NAT:
- NAT表条目是通过“手动配置”的方式添加进去的;
- 私有IP地址和公有IP地址都是1对1的关系,不节省公网IP。
- 动态NAT:
- NAT表中的条目是“路由器处理数据包”时自动形成的;
- 基于“NAT地址池”实现私有地址和公有地址之间的转换。比静态NAT更加节点公网IP。
小结
- 公网上,是不存在私有网络的路由条目的。
- NAT一定是配置在私有网络和公有网络的边界设备上。
- NAT实现私有IP地址和公有IP地址的转换,实现到公网的访问。
- NAT保护了企业内网设备的安全性,因为公网设备无法直接访问企业内网设备的私有IP。
静态NAT配置:
企业内网的PC需要访问公网服务器
企业内网购买了2个公网IP地址:200.1.1.1/24和200.1.1.2
项目分析
需要实现私有到公有IP地址的转换,才能实现内网访问外网。因此,需要在企业的边缘设备(R1)上配置:默认路由+静态NAT。
配置思路和命令
配置企业内网边缘设备,在公网地址接口,配置静态NAT。
- R1到电信运营商的默认路由:
- ip route-static 0.0.0.0 0 200.1.1.9
- R1上配置静态NAT:
- interface g0/0/1 //进入连接公网的接口。
- nat static global 200.1.1.2 inside 192.168.1.1
- 模拟电信运营商的网络:
- 配置R2的接口IP。
- 配置公网服务器的IP和网关。
验证与测试
- display nat static ∥查看已经配置的静态NAT。
- PC1 ping 210.1.1.1通
- PC2 ping 210.1.1.1不通
- 因为的配置了PC1的NAT转换,PC2未配置,公司只有一个公网IP,只能实现一个内网IP的转换。
小结
- 配置NAT之前,必须确保边缘设备有默认路由,否则NAT无效。
- NAT必须配置在连接公网的接口上。
- 数据包从内网转发到外网,首先查看路由表,再查看NAT表。
- 数据包从外网返回内网时,首先查看NAT表,再查看路由表。
- 静态NAT配置简单,但不节省公网IP地址,每个私有IP都必须对应一个公网IP地址。
- 这就意味着如果公网用静态方式在访问外网,就要要为每个设备购买一个公网IP地址,板其浪费公有IP。
动态NAT
企业内网的PC需要访问公网服务器,在R1部署静态NAT的话需要购买多个公网IP地址,费用太高。
希望购买少量公网IP地址,实现内网多个私有主机访问外网。
项目分析
企业仅购买5个公网IP地址,供192.168.1.0/24的主机使用。
在R1连接公网的接口上,部署动态NAT,即让多个私有IP地址轮询共享少量公网IP。
解决方案
配置设备的接口IP地址
在R1上配置默认路由,下一跳指向“电信运营商”。
ip route-static 0.0.0.0 0 200.1.1.9
配置思路
- 创建公网地址池,用于NAT转换。
nat address-group 5 200.1.1.2 200.1.1.6
- 创建ACL,用于匹配访问公网服务器的主机IP地址。
acl 2000
rule 10 permit source 192.168.1.0 0.0.0.255
- 在R1的连接公网的接口上,配置动态NAT。
Interface g0/0/1 //R1连接公网的接口
nat outbound 2000 address-group 5 no-pat
小结
- 动态NAT比静态NAT节省公网IP地址。
- 动态NAT的条目本质也是:私有IP地址和公有IP地址是1:1的关系。
- 动态NAT,必须提前配置地址池,包含的是用于地址转换的公网IP地址。
- 动态NAT,必须通过ACL配置可以进行NAT转换的内网主机IP。
- 动态NAT,必须配置在边缘设备的公网接上。
PAT原理与配置
随着企业内网设备增多,访问外网的需求量增大。
在动态NAT的方案中,私有IP有公有IP是1:1的关系,不节省成本。
PAT(Port Address Translation)端口地址转换。
- 同时转换数据包的IP地址和端口号
- 能够多节省大量的公网IP地址
- 公有IP地址和私有IP地址是1对多的关系。
PAT工作原理
配置思路
- 配置内外网各设备IP址址和网关
- 在边缘设备R1上配置默认路由,下一跳指向运营商。
ip route-static 0.0.0.0 0 200.1.1.9
- 创建公网地址池-R1
nat address-group 5 200.1.1.2
- 创建ACL-R1
- acI 2000
rule 10 permit source 192.168.1.0 0.0.0.255
- R1的公网接配置动态PAT
Interface g0/0/1
nat outbound 2000 address-group 5
//去掉了no-pat参数。
PAT小结
- PAT比动态NAT节省公网IP地址,是企业中常见NAT配置方案。
- PAT的本质就是:私有地址和公有地址是多对1的关系。
- PAT的配置,相对动态NAT而言,仅仅是去掉了no-pat参数。
- PAT方案中,针对同一个公网IP地址,通过端口号来区分不同流量。
- PAT可以使用TCP或UDP的端口号范围是0~65535。
动态PAT之EasyIP
项目背景
针对初创企业或者小规模企业,为了节约网络建设成本,可能使用的是“动态”公网IP地址,并且仅仅有一个公网地址。
此时就无法使用运态PNAT实现内网对外网服务的访问。
- 企业的3个部门存在不同的上网需求,如图连接并配置设备地址。
- R1的外网接口通过动态的方式获取公网地址200.1.1.1/24
- 使用最节省公网IP地址的方案,实现内网到外网的访问。
- 三个部门划分为不同的vlan,分别是10/20/30
- 不同VLAN配置不同网段:192.168.x.0/24,(x为vlan号)
- 每个部门的网关,均被配置在SW上。
- 允许vIan 10内的所有主机访问外网。
- 允许vlan 30内除PC3以外的其它所有主机游问外网。
- 仅仅允许vIan 20 内的所有主机位为奇数的主机访问外网。
项目分析
EasylP,是动态PAT类型的一种
将数据包的源IP转换为WAN口的公网IP地址加端口号的形式。
EasyIP 是所有NAT类型中最节省公网IP地址的方案。
配置思路
- 配置终端PC以及公网服务器的IP地址和网关
- 配置SW1,SW1是PC的网关。
- 确保SW1和R1互通。
- 配置企业网络边缘设备(R1)的接口IP地址和静态路由
- 配置模拟运营商的设备(R2)的接口IP地址。
- 确定EasyIP的网络设备R1,以及R1的出口。
- 在R1配置ACL,匹配允许访外网的流量。
- acl 2000
- rule 10 permit source
- rule 20 deny source
- rule 30 permit source
- rule 40 permit source
- 在R1的出接口,配置EasyIP。
- interface g0/0/1
- nat outbound 2000 //符合ACL2000的数据在该接口上发送出去的时候,将源IP地址转换为出接口的公网IP地址。
- 验证
- display ip routing-table //确保配置了默认路由和去往各vlan的路由条目。
- display acl all //确认ACL配置正确
- display nat outbound //查看已经配置好的EasylP
EasylP小结
- EasylP,本上也是动态PAT,最节省公网IP地址的方案。
- 通常应用在WAN口是动态公网IP地址的场景。比如小型企业。
- EasylP,将内网到外网的数据包的源IP地址转换为出接口的公网IP地址。