移动办公时如何使用frp内网穿透+teamviewer方式快速连入家中内网主机

简介: 移动办公时如何使用frp内网穿透+teamviewer方式快速连入家中内网主机

移动办公时如何使用frp内网穿透+teamviewer方式快速连入家中内网主机


640.jpg


之前有写过腾讯云主机上部署FRP+Teamviewer穿透内网进行远程运维

本文基于该文章做了进一步优化


一、场景描述


如图所示

640.png


家中有一台24小时开机的NUC  

操作系统为VMware ESXi7.0虚拟化平台  

上面部署了如下虚拟机


640.jpg640.png


其中CentOS7.9 虚拟机上部署了frpc内网穿透客户端


将内网Win7虚拟机(192.168.31.239)的Teamviewer(端口为5938)映射到了公网的腾讯云服务器


frpc与frps配置部分截图


640.png

640.png


这时如果需要在外办公的笔记本想通过Teamviewer访问家中内网的Win7虚拟机 需要云主机firewalld开放5938端口


需要输入命令


firewall-cmd --permanent --zone=public --add-port=5938/tcp
firewall-cmd --reload


然后云主机安全组也放开5938端口

640.png


这样在外办公的笔记本随时随时,只用Teamviewer连接云主机公网IP即可访问家中Win7虚拟机

640.png

640.png


二、安全考量


但是基于安全考量:安全组0.0.0.0过大,担心会有安全风险


所以这时想实现只允许当前笔记本所在网络的公网IP加入5938端口安全组白名单中

但是这样每次都要登录云服务器控制台手动加白,操作过于麻烦,并且耗时费力,一次操作下来估计得2~3分钟不止


所以想到一个相当较安全的方式


1、云控制台上安全组还是保持5938端口 允许0.0.0.0/0的安全组规则

2、已经移除public zone全局开放的5938端口


firewall-cmd --permanent --zone=public --remove-port=5938/tcp
firewall-cmd --reload


3、通过firewalld的rich-rule来实现加白


SSH登录后who am i 查看当前笔记本的出口公网IP

并将此公网IP使用rich-rule加白


[root@qcloud ~]# who am i
root     pts/1        2022-06-19 20:04 (XX.XX.XX.XX)
[root@qcloud ~]# 
[root@qcloud ~]#  firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="XX.XX.XX.XX" port port="5938" protocol="tcp" accept'
success
[root@qcloud ~]# firewall-cmd --reload
success


640.png


三、优化过程


能否将上面步骤的时间缩短一点呢?比如我在外办公的笔记本SSH登录一下云服务器执行个脚本就自动加白呢,这样是不是更方便


通过不断修改与反复测试脚本,最终实现了这一效果

脚本如下


[root@qcloud ~]# vim teamviewer_add_loginIP.sh 
[root@qcloud ~]# cat teamviewer_add_loginIP.sh 
#!/bin/bash
#清除Teamviewer_5938端口的历史rich-rules并重载
firewall-cmd --list-rich-rules| grep 5938 > /tmp/5938_richrules.txt
while read -r line
do
  Temp_Rule=`echo $line`
  echo $Temp_Rule
  firewall-cmd --permanent --remove-rich-rule  "$Temp_Rule"
  firewall-cmd --reload
done < /tmp/5938_richrules.txt
#获取当前登陆服务器的IP地址,并对当前IP添加开放Teamviewer5938端口的rich-rule
LoginIP=$(who am i | awk '{print $5}' | sed 's/(//g' | sed 's/)//g')
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address='$LoginIP' port port="5938" protocol="tcp" accept'
firewall-cmd --reload


640.png


四、验证


在MacOS系统下使用方式


1、iTerm2下登录云服务器SSH(密钥方式免密登录)

2、执行脚本teamviewer_add_loginIP.sh

3、即可直接通过Teamviewer连接云服务器公网IP,即可连入家中Win7虚拟机 耗时10秒不到


640.png

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
6月前
|
网络协议 关系型数据库 MySQL
如何实现无公网ip远程访问本地安卓Termux部署的MySQL数据库【内网穿透】
如何实现无公网ip远程访问本地安卓Termux部署的MySQL数据库【内网穿透】
|
Linux 网络安全 开发工具
校外网络连接校园网内的linux服务器方法(使用frp实现内网穿透)
平常在校园里连接校内实验室的linux服务器可以直接使用ssh直接链接私有ip地址,一旦本地移动到了校园网外部(如:使用手机流量wifi,或着暑假回家使用家庭wifi)便无法在使用ssh连接校内的服务器。本文提供一个实现校外也能访问校内服务器的方法
4398 0
校外网络连接校园网内的linux服务器方法(使用frp实现内网穿透)
|
27天前
|
Linux 文件存储 开发工具
贝锐花生壳内网穿透:无需公网IP,远程访问自建WebDAV文件共享!
WebDAV共享协议支持几乎所有系统和设备,极大方便了文件共享。群晖NAS等设备可通过安装WebDAV套件实现文件共享,结合花生壳内网穿透服务,只需三步即可实现远程访问。具体步骤包括:1. 安装花生壳客户端;2. 登录并配置映射;3. 创建映射,生成远程访问地址。这样,用户可以随时随地访问和管理文件资源。
42 3
|
网络协议 Linux 网络安全
如何用阿里云实现内网穿透?如何在外网访问家里内网设备?
使用NPS自建内网穿透服务器教程,带WEB管理
25281 10
|
2月前
|
文件存储 数据安全/隐私保护 Docker
搭建Jellyfin、Plex、Emby媒体服务,贝锐花生壳轻松内网穿透远程访问
Jellyfin、Plex 和 Emby 是流行的媒体服务方案,可在品牌 NAS 或自建 NAS 上组织、串流和管理多媒体藏品。利用集成的 Docker 或应用管理面板,可一键快速安装这些服务。贝锐花生壳提供无需公网 IP 的远程访问解决方案,支持 Docker 安装,轻松实现内网穿透,让用户随时随地访问媒体库。
102 0
|
4月前
|
弹性计算 网络协议 Linux
阿里云主机构建FRP内网穿透家用服务器避坑指南
详述了利用FRP工具搭建内网穿透的流程,包括阿里云ECS的配置、家用服务器的准备、FRP工具的下载与配置,以及通过SSH远程访问本地服务器的解决策略,确保了内外网间的稳定连接。
1114 1
阿里云主机构建FRP内网穿透家用服务器避坑指南
|
6月前
|
网络协议 安全 文件存储
Potplayer通过公网访问群晖WebDav,快速搭建远程办公环境
Potplayer通过公网访问群晖WebDav,快速搭建远程办公环境
138 0
Potplayer通过公网访问群晖WebDav,快速搭建远程办公环境
|
6月前
|
Linux 网络安全 文件存储
本地部署Jellyfin影音服务器并实现远程访问内网影音库
本地部署Jellyfin影音服务器并实现远程访问内网影音库
110 0
|
6月前
|
安全 网络协议 Linux
【公网远程手机Android服务器】安卓Termux搭建Web服务器
【公网远程手机Android服务器】安卓Termux搭建Web服务器
147 0
|
6月前
|
数据安全/隐私保护 Windows
使用cpolar配合Plex搭建私人媒体站并实现远程访问
使用cpolar配合Plex搭建私人媒体站并实现远程访问