NAT概述
什么是NAT
- 网络地址转换
NAT的作用
- 对ip报头中的私有ip地址和公有ip地址进行转换,实现内网到外网的访问
- 隐藏内网,提高网络安全性
NAT核心工作表:NAT转换表
- 每一个条目一个私有和一个公有绑定
数据包从内向外发送时 - 转换的是数据包的源ip地址,由私转公
- 先经过路由表,再经过NAT表
数据包从外向内返回时 - 转换的是数据包的目的ip地址,由公转私
- 先经过NAT表,再经过路由表
NAT分类
静态NAT:
- 私有ip地址和公有ip地址都是1对1转换,不节省公网ip
动态NAT:
- 基于“NAT地址池”实现“私有IP地址”和“公有IP地址”之间的转换
- 一个公有IP地址在不同的时间可以为多个私有IP地址进行转换
- 但是在同一时间一个公有IP地址只能为一个私有IP地址的网络会话进行转换
- 所以,动态NAT也没有从根本上解决公网IP节约的问题,
- 所以,如果公司的内网设备有同时上网的需求,产生大量网络会话,会导致NAT地址池枯竭
- 那么NAT地址池里公有IP地址的数量就需要很多很多,才有可能满足私有IP地址的主机上网的需求
- 所以动态NAT也没有从根本上解决节省公有IP地址的目的
NAPT:网络地址端口转换( Network Address Port Translation )
- 多对一的地址转换,使用“IP地址+端口号”的形式进行转换,使多个私有IP地址可共用一个公网IP地址访问外网
- 允许多个私有地址同时转换为同一个公有地址,因此也称为“多对一地址转换”或地址复用
- NAPT的实现方式主要有EasyIP和地址池NAPT
NAT Server:
- NATServer 是一种特殊的静态NAT
- 主要应用于外网用户访问企业内网服务器的场景
NAT实验
静态NAT
需求
- 实现企业内网主机(PC1/PC2)访问公网网站服务器(Server1)
配置步骤
第一步:给PC1/PC2/Server1配置接口IP地址,掩码,网关
第二步:R1配置路由和静态NAT
- 边界路由器R1,配置接口IP地址
- 边界路由器R1,配置默认路由
- 在边界路由器R1的出接口上配置静态NAT
ps:静态NAT是配置的出口设备的出接口上
第三步:配置ISP-dx 路由器 - 配置路由器接口IP地址
第四步:测试与验证 - 测试PC1/PC2是否可以访问Server1
配置命令
第一步:给PC1/PC2/Server1配置接口IP地址,掩码,网关
第二步:配置NAT
R1的配置:
- [Huawei]sys R1
- [R1]int g0/0/0
- [R1-G0/0]ip address 192.168.1.254 24
- [R1-G0/0/0]int g0/0/1
- [R1-G0/0/1]ip address 100.1.1.1 29 //掩码是29
- [R1-G0/0/1]quit
- [R1]ip route-static 0.0.0.0 0.0.0.0 100.1.1.2 //配置默认路由,下一跳为公网网关
- [R1]int g0/0/1 //进入出接口
- [R1-G0/0/1]nat static global 100.1.1.3 inside 192.168.1.1
//在出口设备的出接口上配置静态NAT,让公网IP 100.1.1.3 和内网IP 192.168.1.1做1对1绑定以后PC1在访问公网的时候,PC1发送的数据包到达R1的g0/0/1接口的时候,这个接口会将PC1发的这个数据报文的源IP:192.168.1.1 转换为100.1.1.3,从而实现内网访问公网的需求- [R1-G0/0/1]nat static global 100.1.1.3 inside 192.168.1.1
第三步:配置ISP-dx路由器
ISP-dx的配置:
- [Huawei]sys ISP-dx
- [ISP-dx]int g0/0/0
- [ISP-dx-G0/0/0]ip address 100.1.1.2 29
- [ISP-dx-G0/0/0]int g0/0/1
- [ISP-dx-G0/0/1]ip address 200.1.1.254 24
第四步:测试与验证
- PC1 ping Server1 可以通
- PC2 ping Server1 可以通
总结
NAT配置在出口设备的出接口上
NAT转换表
- NAT有一个转换表:一个私有IP 和一个公网IP绑定在一起
- 数据包出去的时候,转换源IP: 将源IP由私有IP转换为公有IP, 目标IP不变
- 数据包回来的时候,转换目的IP: 将目的IP由公有IP地址,转换为私有IP,源IP不变
ps: - 默认路由解决的是数据出去的问题
- NAT解决的时候数据回来的问题
静态NAT: - 私有IP地址和公有IP地址是1对1转换
- 一个私有IP地址,绑定一个公有IP地址
- 静态1对1 并没有从根本上节约IPv4地址
动态NAT
需求
- 实现企业内网主机(PC1/PC2)访问公网网站服务器(Server1)
配置步骤
第一步:给PC1/PC2/Server1配置接口IP地址,掩码,网关
第二步:R1配置路由
- 边界路由器R1,配置接口IP地址
- 边界路由器R1,配置默认路由
第三步:配置动态NAT - 配置NAT地址池–定义公网IP地址
- 配置ACL-允许那些内网网段访问互联网
- 在边界路由器R1的出接口配置动态NAT(不做端口转换-no-pat)
第四步:配置ISP-dx路由器 - 配置ISP-dx路由器接口IP地址
第五步:测试与验证 - 测试PC1/PC2是否可以访问Server1
配置命令
第一步:给PC1/PC2/Server1配置接口IP地址,掩码,网关
第二步:配置默认路由
R1的配置:
- [Huawei]sys R1
- [R1]int g0/0/0
- [R1-G0/0/0]ip address 192.168.1.254 24
- [R1-G0/0/0]int g0/0/1
- [R1-G0/0/1]ip address 100.1.1.1 29 //掩码是29
- [R1-G0/0/1]quit
- [R1]ip route-static 0.0.0.0 0.0.0.0 100.1.1.2 //配置默认路由
第三步:配置动态NAT
- [R1]nat address-group 1 100.1.1.3 100.1.1.5
- [R1]acl 2000
- [R1-acl-basic-2000]rule 10 permit source 192.168.1.0 0.0.0.255
- [R1-acl-basic-2000]quit
- [R1]int g0/0/1
- [R1-G0/0/1]nat outbound 2000 address-group 1 no-pat
// 让acl 2000 定义的内网地址段,192.168.1.0/24 绑定公网地址池 address-group 1
//不做端口转换(no-pat)
第四步:配置ISP-dx路由器
ISP-dx的配置:
- [Huawei]sys ISP-dx
- [ISP-dx]int g0/0/0
- [ISP-dx-G0/0/0]ip address 100.1.1.2 29
- [ISP-dx-G0/0/0]int g0/0/1
- [ISP-dx-G0/0/1]ip address 200.1.1.254 24
总结
动态NAT:
- 基于“NAT地址池”实现“私有IP地址”和“公有IP地址”之间的转换
- 一个公有IP地址在不同的时间可以为多个私有IP地址进行转换
- 但是在同一时间一个公有IP地址只能为一个私有IP地址的网络会话进行转换
- 所以,动态NAT也没有从根本上解决公网IP节约的问题,
- 所以,如果公司的内网设备有同时上网的需求,产生大量网络会话,会导致NAT地址池枯竭
- 那么NAT地址池里公有IP地址的数量就需要很多很多,才有可能满足私有IP地址的主机上网的需求
- 所以动态NAT也没有从根本上解决节省公有IP地址的目的
NAPT之NAT地址池
需求
- 实现企业内网主机(PC1-PC4)访问公网网站服务器(Server1)
配置步骤
第一步:给PC1-PC4/Server1配置接口IP地址,掩码,网关
第二步:R1配置默认路由
- 边界路由器R1,配置接口IP地址
- 边界路由器R1,配置默认路由
第三步:配置NAPT之地址池NAT - 配置NAT地址池–定义公网IP地址
- 配置ACL-允许那些内网网段访问互联网
- 在边界路由器R1的出接口配置NAPT之地址池NAT
第四步:配置ISP-dx路由器 - 配置ISP-dx路由器接口IP地址
第五步:测试与验证 - 测试PC1-PC4是否可以访问Server1
配置命令
第一步:给PC1/PC2/Server1配置接口IP地址,掩码,网关
第二步:配置默认路由
R1配置:
- [Huawei]sys R1
- [R1]int g0/0/0
- [R1-G0/0/0]ip address 192.168.1.254 24
- [R1-G0/0/0]int g0/0/1
- [R1-G0/0/1]ip address 100.1.1.1 29 //掩码是29
- [R1-G0/0/1]quit
- [R1]ip route-static 0.0.0.0 0.0.0.0 100.1.1.2 //配置默认路由
第三步:配置NAPT之地址池NAT
R1配置:
- [R1]nat address-group 1 100.1.1.3 100.1.1.5 //创建nat地址池
- [R1]acl 2000
- [R1-acl-basic-2000]rule 10 permit source 192.168.1.0 0.0.0.255 //定义acl
- [R1-acl-basic-2000]quit
- [R1]int g0/0/1
- [R1-G0/0/1]nat outbound 2000 address-group 1
- //acl 2000 定义的内网地址段,192.168.1.0/24 绑定公网地址池 address-group 1
- //表示的是利用address-group 1地址池里面的公网IP给acl 2000定义的私有IP地址段:192.168.1.0/24 做nat转换
第四步:配置ISP-dx路由器
ISP-dx的配置:
- [Huawei]sys ISP-dx
- [ISP-dx]int g0/0/0
- [ISP-dx-G0/0/0]ip address 100.1.1.2 29
- [ISP-dx-G0/0/0]int g0/0/1
- [ISP-dx-G0/0/1]ip address 200.1.1.254 24
第五步:测试与验证
- PC1 ping server1 -t 通
- PC2 ping server1 -t 通
总结
- NAPT:网络地址端口转换
- 使用“IP地址+端口号”的形式进行转换,使多个私有IP地址可共用一个公网IP地址访问外网
- 允许多个私有地址同时转换为同一个公有地址,因此也称为“多对一地址转换”或地址复用
- NAPT的实现方式主要有EasyIP和地址池NAPT
- 地址池NAT在目前企业中应用的最为广泛,是最主流的NAT解决方案
- 地址池NAT适用于大型企业,主机数量多企业
NAPT之easy-ip
需求
- 实现企业内网主机(PC1-PC4)访问公网网站服务器(Server1)
配置步骤
第一步:给PC1/PC2/Server1配置接口IP地址,掩码,网关
第二步:R1配置默认路由
- 边界路由器R1,配置接口IP地址(修改IP地址和掩码,目前掩码为30)
- 边界路由器R1,配置默认路由 (修改默认路由的下一跳地址为200.1.1.2)
第三步:配置动态NAT - 配置ACL-允许那些内网网段访问互联网
- 在边界路由器R1的出接口配置easy-ip
第四步:配置ISP-dx路由器 - 配置ISP-dx路由器接口IP地址
第五步:测试与验证 - 测试PC1-PC4是否可以访问Server1
配置命令
第一步:给PC1/PC2/Server1配置接口IP地址,掩码,网关
第二步:配置默认路由
R1配置:
- [Huawei]sys R1
- [R1]int g0/0/0
- [R1-G0/0/0]ip address 192.168.1.254 24
- [R1-G0/0/0]int g0/0/1
- [R1-G0/0/1]ip address 100.1.1.1 30 //掩码是30
- [R1-G0/0/1]quit
- [R1]ip route-static 0.0.0.0 0.0.0.0 100.1.1.2 //配置默认路由
第三步:配置NAPT之easy-ip
R1配置:
- [R1]acl 2000
- [R1-acl-basic-2000]rule 10 permit source 192.168.1.0 0.0.0.255 //定义acl
- [R1-acl-basic-2000]quit
- [R1]int g0/0/1
- [R1-GigabitEthernet0/0/1]nat outbound 2000
- //让acl 2000 定义的内网地址段,利用出接口IP地址来做nat 转换
第四步:配置ISP-dx路由器
ISP-dx的配置:
- [Huawei]sys ISP-dx
- [ISP-dx]int g0/0/0
- [ISP-dx-G0/0/0]ip address 100.1.1.2 30
- [ISP-dx-G0/0/0]int g0/0/1
- [ISP-dx-G0/0/1]ip address 200.1.1.254 24
第五步:测试与验证
- PC1-4 ping server1 -t (可以抓包验证转换的地址为出接口IP地址)
总结
easy-ip:
- 利用出口设备的出接口IP地址做NAT转换
- 这是目前最节约公网IP的一种NAT解决方案
- easy-ip 适用于中小型企业,主机数量少的企业
NAT-Server
需求
- 让企业内网主机访问公网网站服务器–已完成
- 让公网主机可以访问企业内网服务器(web)-实现内网服务器的对外映射
配置步骤:
第一步:给PC/Server配置接口IP地址,掩码,网关
第二步:R1配置默认路由
- 边界路由器R1,配置接口IP地址和掩码
- 边界路由器R1,配置默认路由
第三步:配置地址池nat - 创建NAT地址池
- 配置ACL-允许那些内网网段访问互联网
- 在边界路由器R1的出接口配置地址池nat(做端口转换)
第四步:配置nat-server - 在企业内网中将server2的web服务启动,将server3的ftp服务启动
- 在边界路由器R1的出接口的配置nat-server(实现外网主机访问内网服务器)
第五步:配置ISP-dx路由器 - 配置ISP-dx路由器接口IP地址
第六步:测试与验证 - 测试PC1/PC2是否可以访问Server1
配置命令
第一步:给PC1/PC2/Server1配置接口IP地址,掩码,网关
第二步:配置默认路由
R1配置:
- [Huawei]sys R1
- [R1]int g0/0/0
- [R1-GigabitEthernet0/0/0]ip address 192.168.1.254 24
- [R1-GigabitEthernet0/0/0]int g0/0/1
- [R1-GigabitEthernet0/0/1]ip address 100.1.1.1 29 //掩码是29
- [R1-GigabitEthernet0/0/1]quit
- [R1]ip route-static 0.0.0.0 0.0.0.0 100.1.1.2 //配置默认路由
第三步:配置NAPT只地址池NAT
R1配置:
- [R1]nat address-group 1 100.1.1.3 100.1.1.5
- [R1]acl 2000
- [R1-acl-basic-2000]rule 10 permit source 192.168.1.0 0.0.0.255 //定义acl
- [R1-acl-basic-2000]quit
- [R1]int g0/0/1
- [R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1
- //利用address-group 1地址池里面的公网IP给:acl 2000定义的私有IP地址段:192.168.1.0/24 做nat转换
ps: 让外网主机ping 通100.1.1.6(做nat-server -icmp 绑定)- [R1-G0/0/1]nat server protocol icmp global 100.1.1.6 inside 192.168.1.10
第四步:配置NAT Server
R1配置:
- [R1]int g0/0/1
- [R1-G0/0/1]nat server protocol tcp global 100.1.1.6 80 inside 192.168.1.10 80
- //将私有IP:192.168.1.10的80端口映射给公有IP:100.1.1.6的80的端口
- //让外网主机能够通过100.1.1.6:80 访问到企业内网web服务器
第五步:配置ISP-dx路由器
ISP-dx的配置:
- [Huawei]sys ISP-dx
- [ISP-dx]int g0/0/0
- [ISP-dx-GigabitEthernet0/0/0]ip address 100.1.1.2 29
- [ISP-dx-GigabitEthernet0/0/0]int g0/0/1
- [ISP-dx-GigabitEthernet0/0/1]ip address 200.1.1.254 24
第六步:测试与验证
- 内网:PC1-4 ping server1 -t
- 外网:Client1 通过http-client1 访问内网web服务器: http://100.1.1.6
总结
- NATServer 是一种特殊的静态NAT
- 主要应用于外网用户访问企业内网服务器的场景