当前位置:首页 > 网络黑客 > 正文内容

web服务器是什么(nat转换的三种方式)

访客56年前 (1970-01-01)网络黑客1066

NAT

网络地址转换(NAT)技术的理论部分可以看博客——网络层——NAT。NAT 的功能大致为:在局域网中组织会为内部主机分配私有地址,当内部主机发送数据包到外部网络时私有地址就会自动转换为公有 IP 地址,公有 IP 地址返回的流量的目的地址也会自动转换为内部私有地址。NAT 通常工作在末节网络的边界。

在 NAT 术语中,NAT 转换后的地址称之为全局地址,NAT 转换前的地址为本地地址。内部本地地址是需要进行 NAT 转换的主机的私有地址,外部本地地址是与 ISP 相连的路由器接口的地址,这会是个公有地址。进行 NAT 转换时,内部本地地址将会转换为内部全局地址,外部全局地址会成为目的地址。

地址类型

含义

内部本地地址

转换前的内部源地址

外部本地地址

转换后的目标地址

内部全局地址

转换后的源地址

外部全局地址

转换前的外部目标地址

相关视频讲解:

网络穿透,P2P,打洞的核心原理,NAT,穿透的蓝盟超越网原理:「链接」

网络穿透,NAT,打洞,了解p2p的秘密:「链接」

NAT 的优缺点

优点

允许内网使用私有地址,从而节省了 ISP 分配的公网地址; 增强了与公有网络连接的灵活性; 在内网使用私有地址,可以让公有地址的更换提供方便; 隐藏内网的 IP 地址的细节。

缺点

NAT 转换有一定的时间开销,会使性能下降; 基于端到端的功能可能无法实现; 由于更改了 IP 地址,端到端的 IP 地址因此无法追踪; 修改了报头的值,导致数据包的完整性检查失败; TCP 连接可能因此中断。

NAT 的类型

静态 NAT

静态 NAT 实现本地地址和全局地址的一对一映射,这些映射由网络管理员进行配置。当配置静态 NAT 的设备向互联网发送流量时,内部本地地址会被转换为已配置的内部全局地址,内部全局地址是共有的 IPv4 地址。很显然,静态 NAT 并不能节省共有 IP 地址的使用。例如有如图所示拓扑,可用的公网地址有 170.168.2.2、170.168.2.3、170.168.2.4,则 NAT 转换表可能是:

内部本地 IP 地址

内部全局 IP 地址

192.168.1.21

170.168.2.2

192.168.1.22

170.168.2.3

192.168.1.23

170.168.2.4

例如主机 192.168.1.21 向外部网络发送分组,则配置了 NAT 的路由器发现分组的源 IP 地址是内部本地 IP 地址,则就将该地址转换为内部全局 IP 地址并记录在 NAT 表中,例如这里转换为 170.168.2.2。转换后分组会被转发到外部接口,当路由器收到外部主机返回的分组时,路由器会根据 NAT 表把内部全局 IP 地址转换回内部本地 IP 地址。

动态 NAT

动态 NAT 实现本地地址和全局地址之间的多对多映射,将使用公有地址池,以先到先得的原则分配地址的使用。当配置了动态 NAT 的内部设备访问外部网络时,动态 NAT 会分配 NAT 地址池中可用的 IPv4 地址。动态 NAT 的转换也会受到 IP 地址池的 IP 地址数量限制,例如内部网络有 50 个使用私有地址的设备,IP 地址池有 5 个公有地址,则只能将这 50 个私有地址映射到这 5 个公有地址上。

PAT

端口地址转换 PAT实现本地地址和全局地址之间的多对一映射,地址将通过端口号进行重载。由于端口号可以是 0 ~ 65536,所以一个公有 IP 地址可以重载 65536 次。内部本地地址进行转换时,PAT 会将唯一的源端口号添加到内部全局地址上。端口号会用来区分流量,当目的主机返回响应时,端口号会决定路由器将数据包转发到哪个设备上。在实际情况下端口号可能会被其他会话或者应用占用,此时如果使用的端口号已经被使用了,则 PAT 会从端口号组中分配一个可用的端口号。如果已经没有可用的端口号了,PAT 会进入下一个公网地址进行转换,并且重新分配端口号。例如有如图所示拓扑,可用的公网地址只有 170.168.2.2,则 NAT 转换表可能是:

内部本地 IP 地址

内部全局 IP 地址

192.168.1.21:12000

170.168.2.2:12000

192.168.1.22:12000

170.168.2.3:12001

192.168.1.23:24000

170.168.2.4:12002

PAT 可以使用端口号对一个公网地址进行重载,例如主机 192.168.1.21 向外部网络发送分组,则配置了 NAT 的路由器发现分组的源 IP 地址是内部本地 IP 地址,则就将该地址转换为内部全局 IP 地址并加上一个可用的端口号记录在 NAT 表中,例如这里转换为 170.168.2.2:12000。当路由器收到外部主机返回的分组时,路由器会根据 NAT 表,根据端口号把内部全局 IP 地址转换回内部本地 IP 地址。

C/C Linux后台服务器开发高级架构师学习视频 点击 正在跳转 获取,内容知识点包括Linux,Nginx,ZeroMQ,MySQL,Redis,线程池,MongoDB,ZK,Linux内核,CDN,P2P,epoll,Docker,TCP/IP,协程,DPDK等等。免费学习地址:C/C Linux服务器开发/后台架构师【零声教育】-学习视频教程-腾讯课堂

配置静态 NAT

静态 NAT 的配置比较简单,因为只需要将一个内部地址映射到一个外部地址就行。在配置模式使用的命令如下,local-ip 表示进行 NAT 转换的内部地址,global-ip 表示进行 NAT 转换的外部地址,这样就可以建立起地址的映射关系。

 Router(config)# ip nat inside source static local-ip global-ip

接着需要将接口配置为相对于 NAT 的内部接口和外部接口,内部接口使用如下命令在接口配置模式下定义:

 Router(config-if)# ip nat inside

外部接口使用如下命令在接口配置模式下定义:

Router(config-if)# ip nat outside

配置动态 NAT

动态 NAT 的配置需要先定义用于转换的地址池,并且为这个地址池命名,使用的命令如下。“pool-name” 是地址池名,“start-ip” 是第一个可用 ip,“end-ip” 是最后一个可用的 ip,这 2 个参数将表示 ip 地址的范围。netmask 关键字指示哪些地址位属于网络位。

 Router(config)# ip nat pool pool-name start-ip end-ip {netmask netmask | prefix-length prefix-length}

接着需要定义一个 ACL 把需要进行 NAT 转换的流量筛选出来,使用命令如下,使用命名 ACL 也可以:

Router(config)# access-list access-list-number permit source [ source-wildcard ]

接下来要将 ACL 和 NAT 地址池进行绑定,使用的命令如下:

 Router(config)# ip nat inside source list access-list-number pool pool-name

最后接着需要将接口配置为相对于 NAT 的内部接口和外部接口,内部接口使用如下命令定义:

 Router(config-if)# ip nat inside

外部接口使用如下命令定义:

Router(config-if)# ip nat outside

配置 PAT

实验拓扑

思科 11.2.3.7 Lab 配置 NAT 地址池过载和 PAT 的实验拓扑如下。

地址分配表:

设备

接口

IP 地址

子网掩码

默认网关

Gateway

G0/1

192.168.1.1

255.255.255.0

N/A

S0/0/1

209.165.201.18

255.255.255.252

N/A

ISP

S0/0/0 (DCE)

209.165.201.17

255.255.255.252

N/A

Lo0

192.31.7.1

255.255.255.255

N/A

PC-A

NIC

192.168.1.20

255.255.255.0

192.168.1.1

PC-B

NIC

192.168.1.21

255.255.255.0

192.168.1.1

PC-C

NIC

192.168.1.22

255.255.255.0

192.168.1.1

配置并检验 NAT 地址池过载

配置 NAT 地址池过载

配置网关路由器,将来自 192.168.1.0/24 网络的 IP 地址转换为 209.165.200.224/29 范围内的六个可用地址中的一个。首先定义与 LAN 私有 IP 地址相匹配的访问控制列表,由于要对 G0/1 接口的网段 192.168.1.0/24 做 NAT,因此定义 ACL 1 用来允许对 192.168.1.0/24 的流量能够被转换。标准 ACL 筛选流量的作用也可以从此处体现。

Gateway(config)# access-list 1 permit 192.168.1.0 0.0.0.255

定义可用的公有 IP 地址池,和动态 NAT 一样,使用的命令为 “ip nat pool pool-name start-ip end-ip { netmask netmask | prefix-length prefix-length }”。“pool-name” 是地址池名,“start-ip” 是第一个可用 ip,“end-ip” 是最后一个可用的 ip,这 2 个参数将表示 ip 地址的范围。netmask 关键字指示哪些地址位属于网络位。

 Gateway(config)# ip nat pool public_access 209.165.200.225  209.165.200.230 netmask 255.255.255.248

定义从内部源列表到外部地址池的 NAT,使用 “ip nat inside source list access-list-number pool pool-name overload” 命令绑定 ACL 和地址池。注意到示例命令后面跟了个关键字 overload,该关键字表示过载,用于配置 PAT。

Gateway(config)# ip nat inside source list 1 pool public_access overload

指定接口,对接口使用 “ip nat inside” 配置内部接口,“ip nat outside” 命令配置外部接口。

Gateway(config)# interface g0/1
Gateway(config-if)# ip nat inside
Gateway(config-if)# interface s0/0/1
Gateway(config-if)# ip nat outside

检验 NAT 地址池过载

每台 PC 对 192.31.7.1 地址执行 ping 操作后,显示网关路由器上的 NAT 统计数据。

Gateway# show ip nat statistics

该命令可以显示总转换数,NAT 配置参数、地址池地址数量和已分配地址数量。

显示网关路由器上的 NAT。

Gateway# show ip nat translations

该命令可以显示活动的 NAT 转换。

命令列出了 3 个内部本地 IP 地址,分别是 192.168.1.20、192.168.1.21、192.168.1.22,列出了 1 个内部全局 IP 地址 209.165.200.225。

删除 NAT 配置

删除可用公有 IP 地址池。

Gateway(config)# no ip nat pool public_access 209.165.200.225 209.165.200.230 netmask 255.255.255.248

删除从内部源列表到外部地址池的 NAT 转换

 Gateway(config)# no ip nat inside source list 1 pool public_access overload

接口定义外部地址配置并检验 PAT

使用接口定义外部地址

首先定义与 LAN 私有 IP 地址相匹配的访问控制列表,ACL 1 用来允许对 192.168.1蓝盟超越网.0/24 进行转换。标准 ACL 筛选流量的作用也可以从此处体现。

Gateway(config)# access-list 1 permit 192.168.1.0 0.0.0.255

指定接口,对接口使用 ip nat inside 和 ip nat outside 命令。

Gateway(config)# interface g0/1
Gateway(config-if)# ip nat inside
Gateway(config-if)# interface s0/0/1
Gateway(config-if)# ip nat outside

使用接口而不是地址池来定义外部地址,进而配置 PAT,将源列表与外部接口相关联。

Gateway(config)# ip nat inside source list 1 interface serial 0/0/1 overload

检验 PAT

每台 PC 对 192.31.7.1 地址执行 ping 操作后,显示网关路由器上的 NAT 统计数据。

Gateway# show ip nat statistics

显示网关路由器上的 NAT。

Gateway# show ip nat translations

阅读剩余的82%

扫描二维码推送至手机访问。

版权声明:本文由专业黑客技术知识发布,如需转载请注明出处。

本文链接:https://hkjdpt.com/98828.html

标签: 网站随笔

“web服务器是什么(nat转换的三种方式)” 的相关文章

红极一时的韩餐为何败走中国?

  文 | 华商韬略 新媛   因韩国古装剧中出现了中国菜,就要把编剧“处以死刑”?   “电视剧歪曲历史,朝鲜王子招待外国客人竟然吃中国菜!”去年三月,韩国青瓦台请愿网站上出现了“请允许收看被停播电视剧《朝鲜驱魔师》”的请愿,在两周的时间内,请愿人数便多达20万人。   最终迫于民众压力...

最适合穷人开的6款车,十大最省油的车排行榜

的省油,消费者报告,我朋友车有启辰R50自动的,空间要大,7万的裸车价,当然,咱们来看看是哪十款?三菱Mirage百公里油耗6,R50的手动或自动吧。 的.全是十分适合的。不论在哪个档位。 1点6油耗8个以内,城市综合油耗控制在7点3没什么问题 L致炫丰田车在全球都拥有好评,拿现在很省油的一款车比亚...

神奇动物在哪里(神奇动物在哪里3)

  娱乐新闻来源:广州日报 2016年11月29日 14:03   A-A+      扫一扫 手机阅读   我要分享   QQ空间新浪微博腾讯微博QQ微信   原标题:      主角“小雀斑”      电影里动物的设定很可爱。      客串演出的约翰尼·德普      《神奇动物在哪里》剧照...

40秒破华为锁屏密码 华为手机万能密码是多少

周六的情况下,有一个好朋友在微信上跟我说是否有华为设备的原始用户名和密码的文本文档,花了礼拜天夜里的3个钟头给我们梳理一下,最先看一下接下来会给各位共享华为公司什么设施的信息内容: 华为设备类型也是蛮丰富多彩的,不赔是华为公司! 1、无线路由器 用户名admin 密码Admin@huawei...

东风日产尼桑奇骏图片 「日产奇骏越野车图片」

长/宽/高,现在原装的日产东风骑骏那里买的到,奇骏放弃一辆卖得这么好的车型么?当然不是。东风日产新奇骏售价是多少?购车现金优惠。你就知道了。留下的本来尼桑奇骏不止这么长。 而偏家用化车型。奇骏是东风日产旗下紧凑型SUV,车顶道车尾的整体棱角与竖披的后大灯,楼主说的应该是逍客吧。 直指同级对手丰田ra...

2月13确诊人数 辽宁新增确诊20例

北京时间5月13日,中超联赛第10轮战罢,本轮中超现场观众人数统计也已经出炉.恒大主场2-2战平华夏幸福的比赛,恒大主场天河体育中心现场观众人数为47751人,现场观众人数....

评论列表

断渊一镜
3年前 (2022-06-02)

组时,路由器会根据 NAT 表,根据端口号把内部全局 IP 地址转换回内部本地 IP 地址。C/C Linux后台服务器开发高级架构师学习视频 点击 正在跳转 获取,内容知识点包括Lin

囤梦浪胚
3年前 (2022-06-02)

)# access-list access-list-number permit source [ source-wildcard ]接下来要将 ACL 和 NAT 地址池进行绑定,使用的命令如下: Router(config)# ip

冬马痛言
3年前 (2022-06-02)

配置静态 NAT静态 NAT 的配置比较简单,因为只需要将一个内部地址映射到一个外部地址就行。在配置模式使用的命令如下,local-ip 表示进行 NAT 转换的内部地址,global-ip 表示进行 NAT 转换的外

嘻友十驹
3年前 (2022-06-02)

T 可以使用端口号对一个公网地址进行重载,例如主机 192.168.1.21 向外部网络发送分组,则配置了 NAT 的路由器发现分组的源 IP 地址是内部本地 IP 地址,则就将该地址转换

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。