【内网穿透计算机】外网环境下基于Frp、VNC技术远程访问计算机,实现内网穿透

外网环境下基于Frp、VNC技术远程访问计算机,实现内网穿透

之前文章先后向大家介绍了 Frp内网穿透原理,并 以访问内网samba服务为例,详细介绍了远程访问内网服务器方法,之后有小伙伴留言建议出一期FRP远程访问计算机的文章。

之前曾在评论区,推荐了两款计算机远程登录工具(两款都有PC端和移动端)。

第一款是TeamViewer(PC端和移动端同名)。

第二款是VNC远程登录工具,PC端叫做VNC-Server,移动端叫做VNC-Viewer。

针对 TeamViewer,已经给用户提供了内网穿透环境,下载后可以通过右键状态栏图标开启无人值守模式,之后无需记忆远程密码,能够直接通过无人值守设置的密码进入目标计算机,此外还可以直接文件查看与传输。因此从上手难易程度来看,用户可以直接使用 TeamViewer 进行内网计算机的远程访问,相反,从安全性角度而言,VNC 是首选,但VNC 需要用户自己搭建穿透服务。

一、配置Frp

1. frps配置:

sudo apt-get update

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

tar -zxvf frp_0.17.0_linux_amd64.tar.gz  #解压缩:tar xvf 文件名

cd frp_0.17.0_linux_amd64                #进入解压目录

#修改frps.ini文件
sudo vim ./frps.ini

添加以下内容:
[common]
bind_addr = 0.0.0.0         # 0.0.0.0为服务器全局所有IP可用,假如你的服务器有多个IP则可以这样做,或者填写为指定其中的一个服务器IP,支持IPV6.
bind_port = 7000            # 客户端与服务端进行通信的端口,即frp服务端口,需与客户端server_port一致
dashboard_port = 7500       # 控制台端口 通过 Dashboard 可以方便的查看 FRP 的状态以及代理统计信息展示 通过 http://[server_addr]:7500 访问 Dashboard 界面,用户名密码默认都为 admin。
#后台保持启动 需要在frp_0.17.0_linux_amd64目录下操作
nohup ./frps -c ./frps.ini &

返回:nohup: ignoring input and appending output to ‘nohup.out’ 代表执行成功,ctrl+c关闭即可;用ps -ef 会在进程中看见frp工作进程。

不要忘记放行VNC的默认端口5900。

2. frpc配置(即需要远程访问的计算机,本文以windows计算机为例):

点此下载与服务端对应的frp版本

将frp压缩包解压后修改frps.ini文件

[common]
server_addr = your_server_ip               #VPS服务器IP
server_port = 7000 

[range:VNC]
type = tcp
local_ip = 127.0.0.1
local_port = 5900                          #5900是VNC的默认端口
remote_port = 5900

由于frp目前没有图形化界面,所以我们不能直接点击 frpc.exe 运行程序,而是要打开 Windows 的命令行运行。

#开启命令行窗口
CTRL + R  ——>  cmd

#前往frp下载目录
cd C:\Users\john\Desktop\工具\frp_0.17.0_windows_amd64

#启动frp
frpc.exe -c frpc.ini

在这里插入图片描述
接下来会出现上述提示,表示连接成功,不要关闭这个窗口,否则 frp 就退出了。

在这里对两个最为常见的frp启动报错进行说明:

“login to server failed: EOF”
这个报错常常是因为服务端与客户端frp版本号不一致导致的。

“login to server failed: broken pipe broken pipe”
这个报错常常是由于frpc.ini配置错误导致的

计算机不要忘记放行5900端口

在这里插入图片描述

3. frp Windows 客户端的的开机自启:

Frp 成功连接后,我们遇到了两个问题,其一,每次开机Frp没有实现自启,需要手动输入命令开启,过于繁琐;其二,我们不想一直看到黑色窗口,希望能够后台执行。

本文主要采用vbs方式实现上述功能,具体操作方法如下:

(1) 创建txt文件并打开
(2) 在txt文件中写入:
Set ws = CreateObject("Wscript.Shell") 
   ws.run "cmd /c C:\Users\john\Desktop\工具\frp_0.17.0_windows_amd64\frpc.exe -c C:\Users\john\Desktop\工具\frp_0.17.0_windows_amd64\frpc.ini",vbhide

其中“ cmd /c ”后写入的 frpc.exe 和 frpc.ini 的绝对路径。

(3) 另存为——>更改后缀为vbs——>保存类型改为“所有文件”——>保存

在这里插入图片描述

(4) 打开 Windows 的开始菜单——所有程序——启动——右键点击启动——打开所有用户,这样就打开启动文件夹了。
(5) 将 frpc.vbs 右键拖动到启动文件夹,在当前位置创建快捷方式。

在这里插入图片描述
经过以上设置,以后每次开机 frpc 就会自动启动了。

有部分机型用户反映,vbs不能在登陆windows前运行,这也意味着对于设置了开机账号密码的用户来说,如果想要实现全自动化操控计算机(远程开机 —— 远程登录 —— 远程操控),在 远程登录 环节将会受阻,自然也就无法使用VNC远程控制主机了。这显然是不妥的,因此在这里给两个亲测有效的解决方案:

方法一:
  1. 打开组策略(GPEDIT.MSC)
  2. 定位到计算机配置—Windows设置—脚本(启动/关机)
  3. 在右侧双击启动
  4. 在”启动属性”中添加需要运行的vbs

在这里插入图片描述

方法二:
  1. 打开 任务计划工具(控制面板 ——> 管理工具 ——> 任务计划程序)
  2. 在创建任务过程中,触发器(计划)选择“计算机启动时(在系统启动时)”

在这里插入图片描述

二、远程访问(以移动端为例)

在计算机开启VNC-Server环境下,移动端打开VNC-Viewer——>点击右上角 + ——>输入VPS服务器IP:5900——>自定义连接名称——>Save

在这里插入图片描述

首次登陆要求输入用户名和密码(即计算机的开机用户名和密码),为方便下次远程,可以选择记住密码,最后点击Continue

在这里插入图片描述

此时远程访问开启,计算机端也会收到如下提示。

在这里插入图片描述
在这里插入图片描述

至此,外网环境下基于FRP、VNC技术,实现了内网穿透,成功远程访问内网计算机。

能够远程访问计算机了,难道不再进一步实现远程开机?点此查看!

©️2020 CSDN 皮肤主题: 代码科技 设计师: Amelia_0503 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值