张春 发表于 2024-8-27 15:00:55

NAT server之服务器映射(端口映射)--华为篇

作者:一天,公众号:网络之路博客(ID:NetworkBlog)。让你的网络之路不在孤单,一起学习,一起成长。
https://img-blog.csdnimg.cn/direct/a8c02305607646dc8dca64fd7741c212.png
技术背景

在很多场景中,好比企业、学校、甚至家里都有一些对外的业务提供,好比流派网址、NAS、ERP等,在实际摆设中,这些提供访问的服务器都属于内网,配置的是内网地址,导致的情况是公网用户没法对私网地址直接举行访问,学过上篇内容的源NAT功能是把私网用户的源地址转换成可上网的地址(固然可上网的就分私网跟公网了,由运营商分配的)然后发送出去,那么NAT Server的作用恰好相反, 它是当其他公网用户访问我们服务的公网地址时候,举行目的地址转换(留意肯定要是公网地址),在华为华三里面的这个功能叫做---NAT server(服务器映射),可能大家都奇怪,为什么标题里面有端口映射、甚至DMZ,这个主要是各个厂商的叫法不一样,可能客户只会某一种叫法,导致在了解需求的时候,有点懵!不过不要紧,学完接下来的几篇后就都会很清晰了,下面来看看多个场景下利用什么样的技术。

https://img-blog.csdnimg.cn/img_convert/57f9fc2b2ae83e0b5378b2c8d02f305d.png
好比这样的一个环境,办公区三下面有一个WEB A的服务器,它的地址是192.168.255.6,是私网地址,肯定是不能在公网中路由的,外网无法访问到这个WEB资源,假设企业、学校需要把这个WEB服务发布到外网,让外网可以或许访问到,这个就是这篇要讲解到的别的一个NAT技术---NAT server(服务器映射)。

三种上网方式对于映射的影响

在讲解各种映射方式之前,我们得先了解一个很重要的东西,那就是公网IP,映射最重要的就是公网IP,因为只有公网IP才华被访问到,这样你就可以在家里、出差、恣意的一个地方访问到,但是我们上网是有三种方式对接的,这个对于映射来说实在影响比较大。


[*] DHCP方式对接,这种通常猫的LAN口处于192.168.1.0或者2.0这些网段,这个是私网地址,外网是无法访问到的(这种方式不能映射)
[*] PPPoE拨号,这个就有两种可能,第一种运营商分配的是私网IP,通常为10.10.X.X或者100开头,第二种是分配的公网地址,但是是动态的,什么是动态呢?就是下一次重新拨号后,它会变革,这个有对应的技术解决,叫做DDNS,后续在实战篇会讲解。
[*] 外网专线对接,这种是最得当的,因为它的IP是公网IP,而且是固定的不会变革
[*] 总结下来映射的须要条件就是公网IP,三种对接方式里面,固定公网最好,其次PPPoE拨号的动态公网,DHCP方式是不得当(排除极少数,香港那边,DHCP也可以分配公网IP,大陆小运营商极个别也会这样分配公网)
NAT server之服务器映射(端口映射)


https://img-blog.csdnimg.cn/img_convert/8f29694c950402ba06a6281a2704e2b6.png
上面提到过服务器属于内网里面,本身地址是私网的,是无法被公网访问到,那这个时候公网的访问端可以或许访问的就是出口路由器的公网IP,服务器映射(端口映射)它的功能就是把出口公网IP地址对应的某个端口号,映射到内网某个地址的端口号上面来,这样当公网终端访出口路由器的公网IP某个端口号的时候,出口路由器就会把它转发给内网服务器,实现资源的访问,这里顺便说一下,差别路由器厂商对于技术的称谓不太一样,有叫端口映射的,有叫服务器映射的,指的都是这个功能。
(1)实际感受下
这里WEB A的地址是192.168.255.6,端口号是80,公网地址是202.100.1.1,实现把公网IP的80,映射到192.168.255.6的80
#修改配置interfaceg0/0/1ip address 202.100.1.1 24quitip route-static 0.0.0.0 0.0.0.0 202.100.1.2#出口路由改成静态IP的环境,先从最简单的开始,记得写默认路由
interfaceg0/0/1ip address202.100.1.2 24#互联网设备设置一个地址作为网关。
https://img-blog.csdnimg.cn/img_convert/8543461b716d434e04af2555e413bb19.png
测试下通信OK就行​​​​​​​
#NAT-server 端口映射interfaceg0/0/1nat server protocol tcp global current-interface 80 inside 192.168.255.6 80
Warning:The port 80 is well-known port. If you continue it may cause function failure.Are you sure to continue?:Y                            //提示这个是知名端口,是否需要映射
#配置解析• nat server是一个关键字• protocl tcp,这个很关键,在实际中我们得了解应用使用的是TCP协议还是UDP,配置错误的话会导致访问失败,该例子中WEB服务属于TCP应用• global:这个是关键字,定义外网信息,比如IP地址,端口号• current-interface:在上面的命令里面并没有定义具体的地址,这就是该命令参数的作用,直接调用当前接口的IP地址(202.100.1.1)• 80:表示外网用什么端口号作为被其他用户访问到,WEB的端口号是80,这里写80• inside:表示内网真实的服务器地址多少,WEB A的地址为192.168.255.6• 80:内网的WEB端口号为多少,默认http为80
整体命令下来的意思就是,当有其他外网用户访问接口地址(202.100.1.1)的TCP 80端口号时候,将地址转换成192.168.255.6的80端口号,这就是映射。 测试一下

https://img-blog.csdnimg.cn/img_convert/2211431ddf2981f6d960a9fcc89eb59a.png
先检查WEB服务是否开启好了。

https://img-blog.csdnimg.cn/img_convert/e716e29d52c53d2269e8f3662a95c214.png
客户端的地址设置好

https://img-blog.csdnimg.cn/img_convert/5a61ef26ffd2d8efa4261f1896fade80.png
OK了,留意哦,欣赏器地址输入的是202.100.1.1,是出口路由器公网的IP地址。
(3)看看是怎样完成映射的

https://img-blog.csdnimg.cn/img_convert/8f35b196c87b002ea9392ba6c7bcf026.png
1、client5在欣赏器输入202.100.1.1后(默认就是80),数据包会抵达202.100.1.1,源是61.128.1.1端口号随机生成

https://img-blog.csdnimg.cn/img_convert/91c752370655d57741c39761e2759d71.png
2、出口路由器收到以后,它发现找的是本身(因为目的IP是202.100.1.1,是本身接口地址)

https://img-blog.csdnimg.cn/img_convert/9105d1c4303b617408228f1452077a04.png
发现接口下面有NAT server的配置,这个配置在路由器会生成一个表项,叫做nat server

https://img-blog.csdnimg.cn/img_convert/c84cb4153f0537b5cadffd22fbc1481c.png


当数据包过来后,路由器先查询nat server表是否有对应的信息,没有则表示给本身的,直接处理惩罚,如果有,按照nat server表举行处理惩罚,按照表信息


[*] interface g0/0/1:表示入接口,数据流从该接口进入
[*] Global ip/port:202.100.1.1:80,目的地址是202.100.1.1的80端口号
[*] Inside ip/port:内网真实的终端IP与端口号,这里为192.168.255.6:80
[*] Protocl:协议是TCP
[*] 整个表项的意思是,当有数据目的地址是202.100.1.1的TCP 80端口,从G0/0/1进入后,目的地址202.100.1.1转换成192.168.255.6,端口号80转换成80,这个时候的源目变成了,源61.128.1.1--访问192.168.255.6:80
转换后,剩下的就是常见的操纵,出口路由器查询路由表看192.168.255.6在哪,然后把数据包通过路由表条目转发给核心A互换机,核心A同样通过三层表项查询,定位到192.168.255.6在哪,从对应接口发出,抵达WEB A。

https://img-blog.csdnimg.cn/img_convert/00348988a669a2a4897b569f88435fbc.png
3、WEB A收到后开始回应,回应的报文会经过办公区三、核心A、终极抵达出口路由器,查询路由,发现去往61.128.1.1从出口G0/0/1出去

https://img-blog.csdnimg.cn/img_convert/c84cb4153f0537b5cadffd22fbc1481c.png
发现有nat server表项,于是把192.168.255.6:80,转换成202.100.1.1:80,目的地址61.128.1.1与端口号不变,这样数据包就变成了源:202.100.1.1:80,目的61.128.1.1:1288,互联网收到以后直接返回给client 5。

https://img-blog.csdnimg.cn/img_convert/d365ee35a34410a26958146a642e39a3.png
经验分享


[*] 端口映射实在是非常简单的,只要确认客户应用需要的端口号以及传输层协议,然后做nat server即可,需要留意,有的应用是TCP/UDP都需要映射,这个要咨询清晰。
[*] 在华为装备里面映射如果端口号是1~1023的知名端口号,每次输入都需要Y确认。
[*] 在nat server 端口映射中,global的端口号与inside的端口号是不需要一致的,好比外网可以用9999,内网用80,这样完全OK,只是在访问的时候需要输入端口号
[*] 在实际中,需要留意80、443、8080、或者8000~8888这段范围的端口号大部分区域会禁止利用,特别是80、443端口号需要存案,运营商才会开通,以是如果有这样的业务的话,内网可以继续用80,但是外网的端口号只能换一个其他的,可以多尝试几个好记的。
[*] 如果实际业务涉及到Telnet、SSH等端口号的映射,发起把装备本身的telnet、SSH服务的端口号改成其他,否则会辩论。
[*] 该功能有很多叫法,常见的端口映射、服务器映射,也有冷门的叫做服务器发布,端口转发等,遇到了不消慌,确认下需求跟功能就行。
 
文章版权归网络之路博客/网络之路Blog(公众号/其他平台同名,)所有,转载请标明出处,谢谢,交换群可以加个人微信ciscohuaweih3c,博主拉你进群,Q群 813146133 。(如果群满了,可以公众号后台复兴‘加群’获取最新群号)  

https://i-blog.csdnimg.cn/direct/fa4ff16a2bd347aa8c9785d4dfa6e870.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: NAT server之服务器映射(端口映射)--华为篇