怎样让外网计算机访问局域网计算机?通过公网地址访问不同内网服务的设置方法

局域网服务器提供公网访问,或指定某些端口应用资源给外地访问,都是常见跨网通信需求。在一些场景下,内部网络中的服务器需要通过公网地址进行访问,尤其是在没有固定公网IP或需要在外部访问时。为了解决这一问题,可以使用以下几种方法实现内网穿透,方便地通过公网访问内网服务器。

外网计算机如何来访问局域网内的计算机?这里最核心的问题是涉及到公网地址与私网地址转化的问题。根据被连接端是否具有公网地址、连接的操作目的等等,可以采用多种方式来实现连接访问。若为公网地址,主要涉及路由器NAT端口映射的问题,若为私网地址,主要涉及如何解决私网穿透的问题。

运营商接入网络有两类方式,一类是集团专线接入网络,一类是家宽接入网络。前者往往会给使用单位配置公网IP地址作为出后,后者基本上仅仅会使用运营商的私网地址。不同的网络接入模式,也就给出了远程连接不同的方式。 那么,就一起来看看都有哪些方法能够实现外网访问局域网计算机和指定端口服务吧!

一、远程接入具有公网地址的服务器

若接入方具有公网地址,并且局域网的电脑属于网站、FTP、邮件等服务器的一种,可以直接通过路由器端口映射的方式进行访问。

路由映射实现:只需要将服务器电脑IP地址以及端口与路由器上的公网地址进行端口映射即可。在路由器转发规则、虚拟服务器中进行设置。之后即可通过公网IP地址与端口的组合,来访问这台局域网内的服务器(或者直接通过电脑端自带的远程接入程序来建立连接)。

二、远程接入私网地址的个人电脑

若接入方并不具备公网地址,那么将面临私网地址穿透的问题。最方便的接入方式就是通过软件来实现,例如使用QQ或者TeamViewer远程连接软件或者用nat123映射远程桌面连接端口来实现外网的访问。

QQ远程:使用QQ程序建立远程连接需要电脑两端同时有人值守,更加适合远程协助这种方式,并不适合无人时的远程连接。

远程控制软件:这里介绍一下如何通过TeamViewer这款软件来建立远程连接,只要在安装时选择个人模式,这款软件可以进行使用。需要在两台电脑上分别安装TeamViewer这款软件,安装之后会生成唯一的机器ID和密码,对方只需要输入本机的机器ID和密码便可建立连接。

远程桌面+nat123映射:如windows远程桌面连接开启,并通过nat123映射添加映射自定义域名端口在外地远程访问。如是Linux主机的,同理可以用SSH开启,加上nat123映射添加映射域名端口给公网连接用。

三、使用nat123内网映射服务(无公网IP应用公网访问便捷方案)

nat123是一种很老牌常见的内网映射工具,能够通过在本地内部网络上注册并配置软件映射,将内网服务暴露到公网,自定义域名访问方式。可以结合本地实际应用场景,选择改变端口转发数据方式或同端口点到点直连模式访问实现,具体步骤如下:

注册与安装: 在对应官方网站上注册nat123账号,并在内网服务器上(或所在内网另台互通主机上)下载安装客户端。

配置端口映射: 登录nat123客户端后添加映射设置,使其能够将内网IP端口映射到提供的公网地址端口上,或用自定义域名端口来作为公网地址访问。

访问: 在目标内网本地完成nat123配置后,外部用户通过默认提供的自定义二级域名公网地址即可访问内网服务器。如使用自己域名的,则同时在自己注册域名解析网上对应添加指向让自己域名生效后,再通过自己域名来访问即可。

四、云服务端口转发

如果使用云服务(如阿里云、腾讯云、AWS等),可以通过设置端口转发(或者叫NAT规则),实现从公网访问内网服务器。步骤通常如下:

配置安全组规则: 在云服务提供商的控制台中配置安全组,允许公网IP通过特定端口访问云服务器。

设置端口映射: 在云服务器上设置端口转发,将外部请求转发到内网服务器的指定端口。

外部访问: 外部用户通过云服务器的公网IP和端口来访问内网服务。

五、使用FRP内网穿透服务

FRP 是一个高性能的反向代理应用,广泛用于内网穿透。它通过在内网和外网之间建立代理通道,使得内网的服务能够通过公网地址访问。当有公网主机资源且项目多时,是可以自己通过FRP部署内网穿透服务实现外网的访问,重要操作步骤:

安装FRP: 在内网和外网的服务器上安装FRP。

配置FRP客户端: 配置内网服务器的FRP客户端,指定内网服务的端口和外网的转发规则。

配置FRP服务端: 配置公网服务器的FRP服务端,使其将公网请求转发到内网服务。

访问: 外部用户通过FRP提供的公网IP和端口即可访问内网服务。

六、SSH隧道(端口转发)

SSH 隧道是通过 SSH 协议将内网服务通过加密隧道暴露到公网的技术。利用 SSH 的端口转发功能,能够安全地访问内网服务。跟FRP类似,SSH是一种较为简单端口转发方式,对于转发功能要求不高的可以使用,对比部署FRP操作上相对更为简单些。操作步骤:

设置SSH服务器: 在公网服务器上设置并开启 SSH 服务。

配置端口转发: 使用 SSH 客户端创建本地端口到远程端口的转发(如使用ssh -L8080:localhost:80 user@remote_host)。

访问: 外部客户端通过 SSH 隧道访问内网服务。

七、VPN虚拟组网

VPN (Virtual Private Network,虚拟私有网络) 是构建在互联网之上的一种私有网络技术。VPN 可以在公共网络中创建一个加密安全通道,让外部用户实现远程内部网络访问,并能够访问内部网络中的资源,如文件、应用程序等。VPN通常需要用户先登录VPN服务器,通过 VPN服务器向内部网络发起访问请求。 VPN技术在实际应用中很常用,具有易于操作、可靠性高等优点。但代价是需要投入一定的硬件和软件资源,并且设置VPN服务需要一定的技术实力。

硬件部署VPN方式:如通过VPN路由器方式,在服务器端网络和所有访问端都部署上这个VPN路由器。

软件部署VPN方式:在不增加硬件的情况下,可以借助三方VPN工具来实现,同理需要在服务端和所有访问端都安装部署VPN工具,然后再通过虚拟地址进行连接访问。

总结

内网通过公网地址访问内网服务器的方法有多种选择,包括 nat123内网穿透服务、云服务端口转发、FRP等。对于大多数个人用户或小型团队来说,nat123是一个非常好的选择,因为它简单易用,且无需公网IP即可完成内网穿透,可以自定义域名端口公网访问。而对于有公网IP企业级应用,直接使用路由器设置端口转发即可。

相关推荐
晚安里2 小时前
JVM相关 4|JVM调优与常见参数(如 -Xms、-Xmx、-XX:+PrintGCDetails) 的必会知识点汇总
java·开发语言·jvm·后端·算法
Qiang_san3 小时前
C++11新特性 | 欢迎来到现代C++的世界!
开发语言·c++
要做朋鱼燕3 小时前
【C++】迭代器详解与失效机制
开发语言·c++·算法
曼巴UE54 小时前
UE5 C++ 第三方动态库的使用
开发语言·c++
良木林5 小时前
JS函数进阶
开发语言·前端·javascript
Python大数据分析@6 小时前
Python 语言有什么奇技淫巧吗?
开发语言·python·c#
Envyᥫᩣ6 小时前
C#中的设计模式:构建更加优雅的代码
开发语言·c#
C灿灿数模7 小时前
2025全国大学生数学建模C题保姆级思路模型(持续更新):NIPT 的时点选择与胎儿的异常判定
c语言·开发语言·数学建模
白榆!7 小时前
string类的实现
开发语言·c++·算法