NAT server之服务器映射(端口映射)--华为篇
创始人
2024-09-26 17:53:08
0

作者:一天,公众号:网络之路博客(ID:NetworkBlog)。让你的网络之路不在孤单,一起学习,一起成长。

技术背景

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

图片

比如这样的一个环境,办公区三下面有一个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之服务器映射(端口映射)

图片

上面提到过服务器属于内网里面,本身地址是私网的,是无法被公网访问到,那这个时候公网的访问端能够访问的就是出口路由器的公网IP,服务器映射(端口映射)它的功能就是把出口公网IP地址对应的某个端口号,映射到内网某个地址的端口号上面来,这样当公网终端访出口路由器的公网IP某个端口号的时候,出口路由器就会把它转发给内网服务器,实现资源的访问,这里顺便说一下,不同路由器厂商对于技术的称呼不太一样,有叫端口映射的,有叫服务器映射的,指的都是这个功能。

(1)实际感受下

这里WEB A的地址是192.168.255.6,端口号是80,公网地址是202.100.1.1,实现把公网IP的80,映射到192.168.255.6的80

#修改配置[AR1200]interface  g0/0/1[AR1200-GigabitEthernet0/0/1]ip address 202.100.1.1 24[AR1200-GigabitEthernet0/0/1]quit[AR1200]ip route-static 0.0.0.0 0.0.0.0 202.100.1.2#出口路由改成静态IP的环境,先从最简单的开始,记得写默认路由 [internet]interface  g0/0/1[internet-GigabitEthernet0/0/1]ip address  202.100.1.2 24#互联网设备设置一个地址作为网关。

图片

测试下通信OK就行​​​​​​​

#NAT-server 端口映射[AR1200]interface  g0/0/1[AR1200-GigabitEthernet0/0/1]nat 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/N]: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端口号,这就是映射。

测试一下

图片

先检查WEB服务是否开启好了。

图片

客户端的地址设置好

图片

OK了,注意哦,浏览器地址输入的是202.100.1.1,是出口路由器公网的IP地址。

(3)看看是如何完成映射的

图片

1、client5在浏览器输入202.100.1.1后(默认就是80),数据包会抵达202.100.1.1,源是61.128.1.1端口号随机生成

图片

2、出口路由器收到以后,它发现找的是自己(因为目的IP是202.100.1.1,是自己接口地址)

图片

发现接口下面有NAT server的配置,这个配置在路由器会生成一个表项,叫做nat server

图片

当数据包过来后,路由器先查询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。

图片

3、WEB A收到后开始回应,回应的报文会经过办公区三、核心A、最终抵达出口路由器,查询路由,发现去往61.128.1.1从出口G0/0/1出去

图片

发现有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。

图片

经验分享

  • 端口映射其实是非常简单的,只要确认客户应用需要的端口号以及传输层协议,然后做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 。(如果群满了,可以公众号后台回复‘加群’获取最新群号)  

相关内容

热门资讯

安卓系统怎么升级抖音,轻松实现... 亲爱的手机控们,你是不是也和我一样,对手机里的抖音APP爱不释手呢?不过,你知道吗?抖音APP也在不...
安卓系统下载taptap就好了... 你有没有发现,现在手机上玩游戏的体验越来越棒了?想要找到那些好玩的游戏,安卓系统的小伙伴们可要记得,...
emui8.1安卓系统视频,安... 亲爱的读者们,你是否曾在某个瞬间,被手机上流畅的视频播放所吸引?今天,就让我带你深入探索华为EMUI...
安卓系统中控安装carplay... 你有没有想过,在安卓手机上也能享受到苹果的CarPlay功能呢?没错,就是那个让iPhone用户爱不...
目前安卓系统永久会卡吗,永久卡... 你有没有发现,你的安卓手机有时候用着用着就卡了呢?是不是也在想,这安卓系统是不是就注定了要卡卡卡?别...
安卓系统能刷ios吗,安卓设备... 你有没有想过,安卓手机能不能刷成iOS系统呢?这可是个让人好奇心爆棚的问题!想象你的安卓手机突然变成...
安卓系统关机短信吗,一键轻松关... 你有没有想过,当你的安卓手机突然关机了,它会给你发条短信吗?这听起来像是科幻电影里的情节,但实际上,...
灵越属于安卓系统吗,安卓系统下... 你有没有想过,你的手机里那个叫做“灵越”的小家伙,它到底是不是安卓系统的忠实伙伴呢?今天,我们就来一...
安卓系统怎么把王者转区,安卓系... 你是不是也和我一样,沉迷于王者荣耀,却因为服务器的问题,想要把账号转到更近的服务器呢?别急,今天就来...
淡粉色的平板安卓系统,探索安卓... 你有没有发现,最近市面上出现了一种特别美腻的平板电脑,它的系统竟然是淡粉色的安卓系统!是不是瞬间觉得...
外星信号与系统和安卓,探索未知... 哇,你知道吗?最近科学家们在外太空的探索中又有了新的发现,这可是让人兴奋不已的事情呢!想象如果真的有...
安卓系统如何后台管理,后台管理... 你有没有发现,手机里的安卓系统就像一个超级管家,默默地在后台为你打理一切?今天,就让我带你一起探索这...
全军出击账号ios系统和安卓系... 你有没有发现,最近全军出击这款游戏可是火得一塌糊涂啊!不管是iOS系统还是安卓系统,都能轻松驾驭,玩...
刘氏神数安卓系统,揭秘安卓系统... 你有没有听说过刘氏神数安卓系统?这可是最近在数码圈里火得一塌糊涂的存在呢!想象你的手机瞬间变成了一个...
vivo新系统怎么退回安卓系统... 亲爱的手机控们,你是否在最新的vivo手机上体验了新系统,却突然觉得有些不适应呢?别担心,今天就来手...
安卓系统微信误删好友,教你轻松... 你有没有遇到过这种情况?手机里微信的好友列表里突然少了几个熟悉的名字,心里顿时慌得一笔,是不是不小心...
如何删除密码设置安卓系统,安卓... 你是不是也遇到了这样的烦恼:手机里的安卓系统密码设置太复杂,有时候自己都忘了密码是什么了?别急,今天...
怎样使安卓系统允许安装,安卓系... 你是不是也和我一样,对安卓系统的限制感到头疼?有时候,我们想要安装一些非官方的应用,却发现系统不让步...
一分钟了解!牛牛房卡游戏代理华... 今 日消息,华山大厅房卡添加微信33549083 苹果今日发布了 iOS 16.1 正式版更新,简单...
玩家攻略,牛牛房卡哪里有卖的茄... 茄子娱乐房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 3、根...