如何实现nat123全端口映射方法

如何实现nat123全端口映射方法,第1张

环境描述:

Mysql数据库服务器部署在内网环境,局域网内可以访问mysql数据库,内网也可以上外网。如何实现外网访问内网mysql数据库?

解决方案:

内网使用nat123端口映射之全端口映射,将内网mysql数据库主机地址,映射到外网,实现外网的访问。

实现过程:

1,确保内网应用正常。

明确内网mysql数据库访问地址,并确保mysql数据库服务正常。如本地mysql数据库访问地址是localhost:3306。

2,nat123端口映射之全端口映射。

在mysql数据库服务器局域网内安装nat123客户端,并使用它。

使用自己的帐号登录。如没有帐号,可以“注册帐号”进入网站进行注册。

主面板/端口映射列表/添加映射。

设置映射信息。选择全端口映射类型。全端口映射P2p模式是免费模式。全端口映射转发p2p是VIP模式,需要VIP才能使用。填写内网mysql数据库服务器IP地址,和外网访问的域名。可以使用自己的域名,也可以使用免费二级域名。将鼠标放在输入框有向导提示。

添加映射后,可查看映射状态。将鼠标放在映射图标上有提示当着状态信息。新添加映射一般几分钟内生效。

3,外网访问端安装nat123客户端并使用访问者。

访问者打开mysql全端口映射后的域名和访问端口。如在添加访问地址时,同时勾选允许局域网访问,则在访问者局域网内都可以访问。

查看访问者状态。鼠标放在访问者图标上,提示当前状态信息。

在使用访问者本机,可以进行访问mysql数据库。访问地址是本地访问者打开的域名端口。

全端口映射P2P模式:免费模式,点到点通信,在一些特别复杂网络下可能会穿透失败不可用。

全端口映射转发P2P:有服务器支持的VIP模式,100%可用,需购买支持全映射VIP使用。

在内网环境,同样可以使用非网站应用映射方法实现外网访问内网mysql数据库,此方法不需要在访问端使用访问者。

设置路由器上的端口映射的方法步骤如下:

1.首先要有路由器完全权限的账户;

2.输入路由器的地址,一般默认都是 192.168.1.1。登录路由器管理界面;

3.进去时一般是在“应用”——“高级NAT配置”里,点击“虚拟主机配置”选项。

4.图中看出,我现在映射的端口为4600,映射的主机是本机:192.168.1.46,按确定之后就生效了。

端口映射是NAT的一种,功能是把在公网的地址转翻译成私有地址, 采用路由方式的ADSL宽带路由器拥有一个动态或固定的公网IP,ADSL直接接在HUB或交换机上,所有的电脑共享上网。

端口映射分为动态和静态。详细介绍如下:

动态端口映射:假设内网中的一台电脑要访问新浪网,会向NAT网关发送数据包,包头中包括对方(就是新浪网)IP、端口和本机IP、端口,NAT网关会把本机IP、端口替换成自己的公网IP、一个未使用的端口,并且会记下这个映射关系,为以后转发数据包使用。然后再把数据发给新浪网,新浪网收到数据后做出反应,发送数据到NAT网关的那个未使用的端口,然后NAT网关将数据转发给内网中的那台电脑,实现内网和公网的通讯.当连接关闭时,NAT网关会释放分配给这条连接的端口,以便以后的连接可以继续使用。动态端口映射其实也就是NAT网关的工作方式。

静态端口映射:在NAT网关上开放一个固定的端口,然后设定此端口收到的数据要转发给内网哪个IP和端口,不管有没有连接,这个映射关系都会一直存在。就可以让公网主动访问内网的一个电脑。

参考资料

脚本之家.脚本之家[引用时间2018-1-19]

我喜欢用很简单的话来概括:

natp是内部机器通过路由器也就是网关向外部发送网络请求时,路由器记住内部机器的ip和端口,同时跟真正发送数据的外网端口绑定,产生一个临时映射表,当收到外网数据以后通过这个映射表将数据转发给内部机器。nat的多种映射类型以后再说。

upnp和nat-pmp差不多,就是在路由器和内部机器提供一个中间服务,内部机器请求upnp将其使用到的端口跟某个外网端口绑定,这样当路由器收到外网请求时先去upnp里查找是否此外网端口已经被upnp映射,如果被映射则将数据转发到内部机器对应的端口。

napt是路由器肯定带的功能 ,其产生的nat映射表有多种类型,但都 有时效 ,也就是超过一段时间原来的nat映射就无效,然后新建新的nat映射。 nat映射必须先由内部机器向外部网络发起请求才会产生。

upnp是把映射关系长期保存下来, 外部机器可以主动向内部机器请求网络连接。 所以首先要路由器开启upnp功能(一般由用户去路由器设置里手动开启upnp) ,然后内部机器的程序要自己实现upnp客户端功能:主动查找upnp服务,主动增加映射、删除映射等。

客户端无法控制natp的映射,可以主动控制upnp映射。

从我目前对go-ethereum源码中p2p的研究来看,以太坊只做了upnpt和nat-pmp的端口映射,而且实现是调用了第三方开源库,但是没有做NATP udp打洞。

比特币源码还没看,不过应该也没有做udp打洞穿越NAT.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11090146.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存