NAT原理

为什么会有NAT

以前由于IPv4地址不足,无法满足网络的发展,IPv6还未广泛应用 为了节约IPv4地址,将IPv4地址分为公有地址和私有地址,企业内网都使用私有IPv4地址,而公网上的设备都使用公网IPv4地址

由于私有IPv4地址在不同的企业内是被重复使用的,所以企业私有IPv4地址在公网上使用会产生IP地址冲突,所以企业私有IPv4地址无法透传到公网,所以企业内网无法与公网设备通信

如果企业内网要与公网通信,企业就需要拥有公网IPv4地址,假设企业有上千台电脑和服务器,所以企业也必然有上千个私有IPv4地址,但是企业可以租用到的公有IPv4地址可能只有4个或8个,所以公网IPv4地址数量太少,无法满足企业内网所有设备的上网需求

所以企业的私有IPv4地址要与公网通信,就需要将多个私有IPv4地址转换为1个公有IPv4地址后,才可以和公网设备通信

如果将企业私有IPv4地址转换为公有IPv4地址,需要依赖一个技术,NAT(网络地址转换)

NAT是什么

NAT是将IP数据报文中的私有IP地址转换为公有IP地址的过程

NAT的作用
  • 对数据包的“私有IP地址”和“公有IP地址”进行转换,实现内网到外网的访问

  • 隐藏内网,避免来自外网的攻击,提高网络安全性

NAT核心工作表:NAT转换表

每一个条目 1个私有 和 1个公有 绑定在一起

数据包从内向外发送时

  • 转换的是数据包的:“源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配置

拓扑
需求

实现企业内网主机(PC1/PC2)访问公网网站服务器(Server1)

配置步骤

第一步:给PC1/PC2/Server1配置接口IP地址,掩码,网关

第二步:R1配置路由和静态NAT -边界路由器R1,配置接口IP地址 -边界路由器R1,配置默认路由 -在边界路由器R1的出接口上配置静态NAT 备注:静态NAT是配置的出口设备的出接口上 第三步:配置ISP路由器 -配置路由器接口IP地址 第四步:测试与验证 -测试PC1/PC2是否可以访问Server1

配置命令

第一步:给PC1/PC2/Server1配置接口IP地址,掩码,网关 第二步:配置NAT R1的配置: [Huawei]sys R1 [R1]int g0/0/0 [R1-GigabitEthernet0/0/2]ip address 192.168.1.254 24 [R1-GigabitEthernet0/0/2]int g0/0/1 [R1-GigabitEthernet0/0/1]ip address 200.1.1.1 24 [R1-GigabitEthernet0/0/1]quit [R1]ip route-static 0.0.0.0 0.0.0.0 200.1.1.2 //配置默认路由,下一跳为公网网关 [R1]int g0/0/1 //进入出接口 [R1-GigabitEthernet0/0/1]nat static global 200.1.1.10 inside 192.168.1.1 //在出口设备的出接口上配置静态NAT,让公网IP 200.1.1.10 和内网IP 192.168.1.1做1对1绑定 以后PC1在访问公网的时候,PC1发送的数据包到达R1的g0/0/1接口的时候,这个接口会将PC1发的 这个数据报文的源IP:192.168.1.1 转换为200.1.1.10,从而实现内网访问公网的需求 [R1-GigabitEthernet0/0/1]nat static global 200.1.1.11 inside 192.168.1.2 第三步:配置ISP路由器 ISP的配置: [Huawei]sys ISP [ISP-]int g0/0/0 [ISP-GigabitEthernet0/0/1]ip address 200.1.1.2 24 [ISP-GigabitEthernet0/0/1]int g0/0/2 [ISP-GigabitEthernet0/0/2]ip address 210.1.1.254 24 第四步:测试与验证 PC1 ping Server1 可以通 PC2 ping Server1 可以通

总结

1)NAT配置在出口设备的出接口上 2)NAT转换表 NAT有一个转换表:一个私有IP 和一个公网IP绑定在一起 数据包出去的时候,转换源IP: 将源IP由私有IP转换为公有IP, 目标IP不变 数据包回来的时候,转换目的IP: 将目的IP由公有IP地址,转换为私有IP,源IP不变 3)备注: -默认路由解决的是数据出去的问题 -NAT解决的时候数据回来的问题 4)静态NAT:

私有IP地址和公有IP地址是1对1转换 一个私有IP地址,绑定一个公有IP地址 静态1对1 并没有从根本上节约IPv4地址

五、动态NAT配置

拓扑

需求

实现企业内网主机(PC1/PC2)访问公网网站服务器(Server1)

配置步骤 在上个实验的基础上:

  第一步:删除静态NAT配置 第二步:配置动态NAT 1.创建NAT地址池-多个公有地址-泳池-多个

  2.创建ACL-看泳池的老大爷-多个

  3.在出口将地址池和ACL进行绑定调用 no-pat -老大爷和泳池绑定在一起 第三步:测试与验证 -测试PC1/PC2是否可以访问Server1

配置命令

删除静态NAT: [R1]in g0/0/1 [R1-GigabitEthernet0/0/1]undo nat static global 200.1.1.10 inside 192.168.1.1 [R1-GigabitEthernet0/0/1]undo nat static global 200.1.1.11 inside 192.168.1.2

动态NAT配置:

[R1]nat address-group 1 200.1.1.5 200.1.1.10 //创建公有地址池

起始地址 结束地址

[R1]acl 2000 //创建ACL

[R1-acl-basic-2000]rule 10 permit source 192.168.1.0 0.0.0.255

允许 192.168.1.0网段

默认规则:拒绝所有

[R1-acl-basic-2000]q

[R1]in g0/0/1 //进入出口

[R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 no-pat // 让acl 2000 定义的内网地址段,192.168.1.0/24 绑定公网地址池 address-group 1 //不做端口转换(no-pat)

总结

动态NAT:

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

六、NAPT之NAT地址池配置

需求

实现企业内网主机(PC1-PC4)访问公网网站服务器(Server1)

配置步骤

第一步:删除出接口动态NAT配置 第二步:配置NAPT 1.创建NAT地址池-多个公有地址-泳池-多个

2.创建ACL-看泳池的老大爷-多个

3.在出口将地址池和ACL进行绑定调用 -老大爷和泳池绑定在一起 第三步:测试与验证 -测试PC1/PC2是否可以访问Server1

配置命令

删除出接口动态NAT配置

[R1]in g0/0/1 //进入出口

[R1-GigabitEthernet0/0/1]undo nat outbound 2000 address-group 1 no-pat

NAPT配置:

[R1]nat address-group 2 200.1.1.3 200.1.1.3 //创建地址池2

地址池可以放入1个地址 起始 结束

[R1]acl 2001 //创建ACL2001

[R1-acl-basic-2001]rule 10 permit source 192.168.1.0 0.0.0.255

[R1]in g0/0/1

[R1-GigabitEthernet0/0/1]nat outbound 2001 address-group 2

配置步骤和动态NAT一样,最后调用时不加no-pat 就是NAPT的配置

测试与验证 PC1 ping server1 -t 通 PC2 ping server1 -t 通

总结

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

七、NAPT之easy-ip配置

需求

实现企业内网主机(PC1-PC4)访问公网网站服务器(Server1)

配置步骤

第一步:删除出接口NAPT配置 第二步:配置easy-IP

1.创建ACL

2.在出口NAT直接调用ACL 第三步:测试与验证 -测试PC1/PC2是否可以访问Server1

配置命令

第一步:删除出接口NAPT配置

[R1]in g0/0/1 //进入出口

[R1-GigabitEthernet0/0/1]undo nat outbound 2001 address-group 2 第二步:配置NAPT之easy-ip R1配置:

1.创建ACL 如已有相同的规则acl(可忽略) [R1]acl 2001 [R1-acl-basic-2001]rule 10 permit source 192.168.1.0 0.0.0.255 //定义acl [R1-acl-basic-2001]quit

2.在出口NAT直接调用ACL [R1]int g0/0/1 [R1-GigabitEthernet0/0/1]nat outbound 2001 //让acl 2001 定义的内网地址段,利用出接口IP地址来做nat 转换 第三步:测试与验证 PC1-4 ping server1 -t (可以抓包验证转换的地址为出接口IP地址)

总结

Easy-ip:

利用出口设备的出接口IP地址做NAT转换 这是目前最节约公网IP的一种NAT解决方案 easy-ip 适用于中小型企业,主机数量少的企业

八、NAT-Server

拓扑

需求

1)让企业内网主机访问公网网站服务器--已完成

2)让公网主机可以访问企业内网服务器(web/ftp)-实现内网服务器的对外映射

配置步骤

配置步骤: 第一步:给PC/Server配置接口IP地址,掩码,网关 第二步:R1配置默认路由 -边界路由器R1,配置接口IP地址和掩码 -边界路由器R1,配置默认路由 第三步:配置easy-IP -配置ACL-允许那些内网网段访问互联网 -在边界路由器R1的出接口配置easy-IP 第四步:配置nat-server -在企业内网中将server1的ftp服务启动,将server2的web服务启动 -在边界路由器R1的出接口的配置nat-server(实现外网主机访问内网服务器) 第五步:配置ISP路由器 -配置ISP-dx路由器接口IP地址 第六步:测试与验证 -测试PC1/PC2是否可以访问Server1

配置命令

第一步:给Client/Server1/Server2配置接口IP地址,掩码,网关 第二步:配置默认路由 R1配置: [Huawei]sys R1 [R1]int g0/0/2 [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 200.1.1.1 24 //掩码是29 [R1-GigabitEthernet0/0/1]quit [R1]ip route-static 0.0.0.0 0.0.0.0 200.1.1.2 //配置默认路由 第三步:配置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 备注: 让外网主机ping 通200.1.1.10(做nat-server -icmp 绑定) [R1-G0/0/1]nat server protocol icmp global 200.1.1.10 inside 192.168.1.1

第四步:配置NAT Server R1配置: [R1]int g0/0/1 [R1-G0/0/1]nat server protocol tcp global 200.1.1.10 21 inside 192.168.1.1 21 //将私有IP:192.168.1.1的21端口映射给公有IP:200.1.1.10的21的端口 //让外网主机能够通过200.1.1.10:21 访问到企业内网ftp服务器 [R1-G0/0/1]nat server protocol tcp global 200.1.1.10 80 inside 192.168.1.2 80 //将私有IP:192.168.1.2的80端口映射给公有IP:200.1.1.10的80的端口 //让外网主机能够通过200.1.1.10:80 访问到企业内网web服务器 [R1-G0/0/1]quit =============================================================== 第五步:配置ISP路由器 ISP的配置: [Huawei]sys ISP- [ISP]int g0/0/1 [ISP-GigabitEthernet0/0/0]ip address 200.1.1.2 24 [ISP-GigabitEthernet0/0/0]int g0/0/2 [ISP-GigabitEthernet0/0/1]ip address 210.1.1.254 24 第五步:测试与验证 外网:Client1 通过http-client1 访问内网web服务器: http://200.1.1.10 外网:Client1 通过ftp-client1 访问内网ftp服务器 :服务器地址:200.1.1.10

总结

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

DAY10-面试题

1.问题: 在面对外部网络攻击时,ACL和NAT如何协同提高企业网络的安全性?

ACL通过定义哪些流量可以进入网络来提供访问控制,而NAT通过转换内外网络地址来隐藏内部网络结构。两者协同工作,ACL阻止不安全或不必要的流量,而NAT则提供一个额外的安全层,防止外部攻击者直接访问内部网络资源。

2.问题:在进行网络维护时,您发现有些内部网络设备使用静态NAT配置连接到公网。考虑到IPv4地址的稀缺,您怎样决定是否继续使用静态NAT,或者转向使用动态NAT或NAPT?

我会基于网络需求和可用资源来评估。如果网络中有少量关键设备需要稳定的公网IP,例如公开的Web服务器或远程访问服务器,那么我会保留这些设备的静态NAT配置。但对于大部分内部用户而言,动态NAT或NAPT将是更有效的解决方案,因为它们允许多个私有IP共享有限的公网IP资源。我还会考虑NAPT的端口重用特性,这在公网IP非常有限的情况下尤为重要。此外,我会关注网络安全和管理的便利性,确保任何更改都不会降低网络的整体性能和安全性。

  • 12
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值