在家如何访问内网机器?

组合星轨
• 阅读 1022

前言

每次到放假回家,笔者都会遇到实验室服务器访问不到的困扰。因为实验室服务器没有公网 IP,在外无法直接访问,
经过一番的研究之后,终于找到了一个相对好用的内网穿透方案。之前曾尝试过TeamViewer、花生壳之类的软件,但效果都差强人意。

  1. 远程桌面使用TeamViewer。可用,但需双方都要安装TeamViewer软件,且版本要一致。
  2. 使用花生壳软件进行DDNS解析,可用,但免费版本有带宽限制,使用效果不理想。
  3. 搭建frp服务器进行内网穿透,推荐使用,可以达到不错的速度,且可以开放任何想要的端口,可以让处于内网或防火墙后的设备对外界提供服务,它支持HTTP、TCP、UDP等众多协议。

准备

需要准备的东西:

  1. 一台公网的服务器VPS,笔者使用的是阿里云服务器配置要求不用太高,网速会影响连接的质量
  2. frp软件包

教程

下载frp软件

下载frp软件并进行解压

wget https://github.com/fatedier/frp/releases/download/v0.39.1/frp_0.39.1_linux_amd64.tar.gz

解压后可看到所有文件,但我们只需要关注如下几个文件

  • frps: 服务端启动程序
  • frps.ini:服务端配置文件
  • frpc:客户端启动程序
  • frpc.ini:客户端配置文件

配置内网服务器

比如我想映射出内网的 8080 端口,那么需要怎么配置呢?

frpc.ini配置如下:

[common]
# server ip
server_addr = xxx.xxx.xxx.xxx
# server端配置的端口
server_port = 2221

[web]
type = tcp
local_ip = 127.0.0.1
# 本地要映射的端口
local_port = 8080
# server端访问的端口
remote_port = 8080
  • server_addr: 公网服务器VPS的IP。
  • server_port: 服务端设置的端口。
  • type: 代理的类型。
  • local_ip: 本地IP。
  • local_port: 内网客户端设置的端口。
  • remote_port: 内网提供给外网访问的服务端口。

配置公网服务器VPS

公网服务器上只需要修改 frps.ini 文件
frps.ini配置如下:

[common]
bind_port = 2221

修改后运行 frps,开启服务端程序,然后再内网服务器上执行 frpc 程序,若配置正确,则可连接成功。
服务端会出现以下类似信息。

2022/02/13 18:27:31 [I] [proxy.go:192] [e37bd8c0f0a34a7c] [ssh25] tcp proxy listen port [8010]
2022/02/13 18:27:31 [I] [control.go:320] [e37bd8c0f0a34a7c] new proxy [ssh25] success

因为默认阿里云服务器仅仅开放22等其他常用端口,对于自定义映射的端口可能未开放,所以需要自己开放公网服务器的映射端口,使得在公网上可以访问。
在家如何访问内网机器?

配置成功后即可访问http://公网服务器IP:8080,大功告成。

点赞
收藏
评论区
推荐文章
菜鸟阿都 菜鸟阿都
4年前
搭建个人内网穿透服务
内网穿透本地电脑上的服务无法通过互联网让其他人访问到,通过内网穿透技术可以为自己本地的服务提供互联网入口,无需将本地服务部署在服务器上,便可以让其他人可以访问前提准备本地web服务,访问8086端口阿里云服务器Ubuntu20.04疑问问:既然在使用frp内网穿透服务时,需要服务器,才能使本地服务互联网化,为什么不直接部署在服务器上?答:使用
Wesley13 Wesley13
3年前
SSH 隧道实现内网穿透
家里买了台NETGEAR路由器刷了梅林固件,可以在USB接口上挂个存储当NAS用,发现家里的移动宽带是没有公网ip的,于是在外网访问不到内网,ddns也没法用了(不要给我推荐花生壳内网版😝)。那么,需求就是如何让外网访问到内网ip。于是想到了从内网到公网上的某台机器建立一条ssh隧道,通过访问公网机器把数据穿透到内网,实现方法:在内
GoCoding GoCoding
3年前
FRP 内网穿透、反向代理
是一个专注于内网穿透的高性能的反向代理应用,支持TCP、UDP、HTTP、HTTPS等多种协议。可以将内网服务以安全、便捷的方式通过具有公网IP节点的中转暴露到公网。本文将以暴露内网Web服务为例,实践frp的安装部署。更多应用场景,可见。安装frp主要由客户端(frpc)和服务端(frps)组成,服务端通常部署在具有公网IP
Stella981 Stella981
3年前
Linux查看DNS服务器及设置DNS服务器
DNS(DomainNameSystem,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。一台主机的dns服务器的好坏会直接影响我们上网的速度以及网站的访问,今天我们一起来看一下如何为Linux系统配置好用的公共DNS.1\.查看服务器的DNS方法一,查看
Stella981 Stella981
3年前
SecureCRT 跳板机 内网直连
使用场景阿里云有10台服务器,只有一台开通了外网(同样也适用于在家办公时需要访问到公司内网):想通过阿里云内网IP以SSH方式访问另外9台服务器想通过阿里云内网IP以浏览器方式访问服务器中运行的web服务想通过阿里云内网IP以本机直连的方式链接服务器或某个
Stella981 Stella981
3年前
Redis bind属性的配置与redis连接
Redis连接文章出处,https://blog.csdn.net/a578977626/article/details/78202202bind配置了什么ip,别人就得访问bind里面配置的ip才访问到redis服务。一台主机,可能会有多张网卡,或者对应多网段内网的Ip,公网IP等,也就意味着其他机器可以通过多个IP地址
Easter79 Easter79
3年前
TeamViewer远程的三种访问模式 (最方便的模式无需输入密码)
先说明一下什么是无人值守访问,顾名思义,就是在电脑另一端没有人的时候,也可以使用TeamViewer进行远程控制(无需另一端电脑确认)实际上下面三种模式都是无人值守访问(亲测都可以直接远程),当然,另一端的电脑必须是TeamViewer启动的情况下。因此大家完全不必在意“无人值守访问”这个概念。1.普通模式就是通过普
Stella981 Stella981
3年前
Spring Cloud Eureka 使用外网IP和端口号进行服务注册
应用场景如下:服务提供方(即要注册到服务中心的服务)的内网地址,外界无法访问(或者使用docker等做了应用端口等的配置),做了IP映射后,公网IP49.10.22.106映射到服务提供方的内网ip,端口号5565映射到服务的server.port,此时用eureka默认配置会导致服务无法访问。因此需要手动配置,具体解决方案见如下红色部分:
Wesley13 Wesley13
3年前
C# 实现UDP打洞通信(一)
最近研究了一下网络打洞的相关技术,TCP的方式据说可行性不高,各种困难,因此决定采用UDP(UDP是什么就不解释了)的方式。原理:  我们都知道局域网内的主机想要访问外网的服务器是比较容易的,比如浏览器输入www.baidu.com就可以访问到百度的服务器,但是如果在局域网的主机部署一个服务,让外网的机器进行访问一般是无法访问的,因为外部访问的请求会
如何远程管理天翼云RDS数据库
天翼云MySQLRDS数据库当前仅允许从云主机内网访问,暂时不支持绑定公网IP地址远程访问和控制数据库。很多用户更习惯使用Windows上的图形客户端对数据库进行管理,如果有Windows云主机则可以远程桌面登录到Windows云主机上使用MySQLFront或Navicat等图形客户端访问MySQLRDS数据库,如果只有Linux云主机是不是就没有办法
内网部署,移动端如何使用,且保障电脑端安全
"A.在企业内网自建DNS服务,然后使用域名代替公网IP重新配置;B.在互联网区域,使用互联网DNS服务将域名解析到公网IP;C.在内网区域,使用自建DNS服务将域名解析到服务器内网IP,这样内网电脑不能联网也能正常使用,互联网手机也能正常收发消息;D.如
组合星轨
组合星轨
Lv1
万里归船弄长笛,此心吾与白鸥盟。
文章
4
粉丝
0
获赞
0