群晖搭建网页版Linux Ubuntu系统并实现远程访问

文章目录

    • 1. 下载Docker-Webtop镜像
    • 2. 运行Docker-Webtop镜像
    • 3. 本地访问网页版Linux系统
    • 4. 群晖NAS安装Cpolar工具
    • 5. 配置异地访问Linux系统
    • 6. 异地远程访问Linux系统
    • 7. 固定异地访问的公网地址

docker-webtop是一个基于Docker的Web桌面应用,它允许用户通过浏览器远程访问和操作一个完整的Linux图形化环境。这种解决方案非常适合那些需要在不同设备之间无缝切换工作环境的用户。然而,由于网络环境的限制,用户可能无法直接远程访问部署在私有云环境中的docker-webtop。

为了解决这个问题,我们可以利用cpolar这一强大的内网穿透工具。cpolar通过创建一个安全的隧道,将本地网络中的服务暴露到公网上,从而允许用户从任何位置远程访问这些服务。通过结合群晖、Docker、docker-webtop和cpolar,我们可以实现一个完整的远程访问解决方案:在群晖设备上使用Docker部署docker-webtop,并通过cpolar将docker-webtop的Web服务暴露到公网上,从而实现远程访问。

本文旨在详细介绍如何以群晖部署docker-webtop,并结合cpolar内网穿透实现远程访问网页版Linux系统的步骤和方法。

1. 下载Docker-Webtop镜像

本例群晖版本由于无法直接在群晖控制面板docker界面搜索下载docker镜像,所以采用命令行方式进行镜像下载,

首先开启群晖ssh连接,然后使用工具通过ssh连接上群晖,然后执行下面命令拉取镜像

sudo docker pull lscr.io/linuxserver/webtop:ubuntu-kde

上面命令中,ubuntu-kde 表示运行一个ubuntu系统的Linux,如果需要运行其他的系统,可以看一下网上文档:https://gitcode.com/linuxserver/docker-webtop/overview, 拉取的镜像比较大,执行后耐心等待拉取完成即可.

image-20240515173116334

然后返回群晖管理面板,可以看到已经下载好了镜像,下面运行该镜像

image-20240515174130546

2. 运行Docker-Webtop镜像

选中镜像,点击运行,进入设置界面

image-20240516110543627

容器名称可以自己设置,如果需要设置自启动,勾选"启用自动重新启动即可",首次安装,建议不要设置自启动,设置完成然后点击下一步

image-20240516111011981

然后设置对外访问端口,3000表示http访问,3001表示https访问端口,这里设置对应容器内的端口即可,设置完成点击下一步

image-20240516111130845

然后再点击完成,点击后容器自动运行了,下面进行局域网内访问

image-20240516111241524

3. 本地访问网页版Linux系统

上面我们设置运行Docker-Webtop容器后,进入容器页面查看状态,Up状态表示正常

image-20240516111542594

然后通过群晖局域网IP加3000端口在浏览器上进行访问,即可成功访问到了我们Linux界面,本地访问就成功了,下面我们配置远程访问,让我们在异地网络也可以访问这个Linux,首先安装cpolar内网穿透工具.

image-20240516111801274

4. 群晖NAS安装Cpolar工具

cpolar 提供了群晖安装的套件,点击下面Cpolar群晖套件下载地址,下载相应版本的群晖Cpolar套件,如果找不到对应的型号,可以选择相近版本型号套件

https://www.cpolar.com/synology-cpolar-suite,

20221222170135

打开群晖套件中心,点击右上角的手动安装按钮。

image-20240111165335915

选择我们本地下载好的cpolar套件安装包,然后点击下一步

image-20240111165603922

点击同意按钮,然后点击下一步

image-20240111165702028

最后点击完成即可。

image-20240111165721365

安装完成后,在外部浏览器,我们通过群晖的局域网ip地址9200端口访问Cpolar的Web管理界面,然后输入Cpolar邮箱账号与密码进行登录,如无账号可去官网注册:
cpolar官网地址:https://www.cpolar.com/

image-20230612165349594

5. 配置异地访问Linux系统

在cpolar管理界面,点击左侧仪表盘的隧道管理——创建隧道,创建一个的公网地址隧道!

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择 http
  • 本地地址:3000 (本地访问的http端口)
  • 域名类型:免费选择随机域名
  • 地区:选择China vip

点击创建

image-20240516113055125

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https,上面我们设置的是3000端口,所以选择http访问即可

image-20240516113131891

6. 异地远程访问Linux系统

使用上面cpolar生成的http地址,在任意设备浏览器输入访问,即可看到Linux Ubuntu系统界面,这样一个远程访问的地址域名就设置好了,无需公网IP,无需云服务器,实现了远程异地访问该Linux 网页版Ubuntu系统 .

image-20240516113550877

小结

为了更好地演示,我们在前述过程中使用了cpolar生成的隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址由随机字符生成,不太容易记忆(例如:3ad5da5.r10.cpolar.top)。另外,这个地址在24小时内会发生随机变化,更适合于临时使用。

我一般会使用固定二级子域名,原因是我希望将网址发送给同事或客户时,它是一个固定、易记的公网地址(例如:linuxsystem.cpolar.cn),这样更显正式,便于流交协作。

7. 固定异地访问的公网地址

由于以上使用Cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【ps:cpolar所有域名已备案】

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

image-20240516114032672

保留成功后复制保留成功的二级子域名的名称

image-20240516114804971

返回登录Cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image-20240516114134144

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新(注意,点击一次更新即可,不要重复点击)

image-20240516114213484

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名的名称域名

image-20240516114239088

最后,我们使用固定的公网http地址访问,可以看到同样访问成功,这样一个固定且永久不变的公网地址就设置好了!

image-20240516114556464

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/839245.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二十五、openlayers官网示例CustomOverviewMap解析——实现鹰眼地图、预览窗口、小窗窗口地图、旋转控件

官网demo地址: Custom Overview Map 这个示例展示了如何在地图上增加一个小窗窗口的地图并跟随着地图的旋转而旋转视角。 首先加载了一个地图。其中 DragRotateAndZoom是一个交互事件,它可以实现按住shift键鼠标拖拽旋转地图。 const map new Map({int…

客户端Web资源缓存

为了提高Web服务器的性能,其中的一种可以提高Web服务器性能的方法就是采用缓存技术。 1.缓存 1.1.什么是缓存? 如果某个资源的计算耗时或耗资源,则执行一次并存储结果。当有人随后请求该资源时,返回存储的结果,而不是再次计算。…

【Linux】-Flink分布式内存计算集群部署[21]

注意: 本节的操作,需要前置准备好Hadoop生态集群,请先部署好Hadoop环境 简介 Flink同spark一样,是一款分布式内存计算引擎,可以支撑海量数据的分布式计算 Flink在大数据体系同样是明星产品,作为新一代的…

ElasticSearch集群重平衡(Shard allocation)案例分析及性能调优

何谓重平衡 ElasticSearch为了使数据平均分布在集群节点上,重平衡机制会由Master节点决定索引分片具体分配到哪个Data节点以及何时在节点之间迁移分片,使分片在数据大小、分片数量的层面上尽可能均匀分布在集群中的所有Data节点,充分发挥每个…

css - sass or scss ?

总的来说,Sass 和 SCSS 提供的功能是一样的,选择哪种语法主要取决于你的个人或团队的偏好。

4.2 循环语句(for, while)

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

什么是容器?

容器技术是一种现代计算技术,允许开发者将应用程序及其依赖打包在一起,从而使应用程序能够在任何环境中一致地运行。容器技术在近几年迅速普及,成为云计算、微服务架构和持续集成/持续部署(CI/CD)中不可或缺的一部分。…

【Linux取经路】基于信号量和环形队列的生产消费者模型

文章目录 一、POSIX 信号量二、POSIX 信号量的接口2.1 sem_init——初始化信号量2.2 sem_destroy——销毁信号量2.3 sem_wait——等待信号量2.4 sem_post——发布信号量 三、基于环形队列的生产消费者模型3.1 单生产单消费模型3.2 多生产多消费模型3.3 基于任务的多生产多消费模…

自学动态规划——最后一块石头的重量 II

最后一块石头的重量 II 1049. 最后一块石头的重量 II - 力扣(LeetCode) 也是三刷,能无阻力做出来,但是发现做的效果没有之前好了,可以学学之前做的时候是如何优化的。 AC: int lastStoneWeightII(vecto…

C-数据结构-双向环链-变长结构体的使用-面向对象的思想

/* 通用性比较强的双向环链 1.变长结构体的使用 2.面向对象的思想 */ llist.h #ifndef LLIST_H__ #define LLSIT_H__ #define LLIST_FORWARD 1 #definr LLIST_BACKWARD 2 typedef void llist_op(const void *);//回调函数 typedef int llist_cmp(const void *,const void *);…

期货学习笔记-横盘行情学习1

横盘行情的特征及分类 横盘行情的概念 横盘行情时中继形态的一种,一般常出现在大涨或大跌之后出现横盘行情是对当前趋势行情的修正,是对市场零散筹码的清理,是为了集中筹码更便于后期行情的展开 横盘行情的特征 1.水平运动:该…

【文献阅读】ESG评级不确定性对企业绿色创新的影响研究

ESG评级不确定性对企业绿色创新的影响研究 张张张三丰de思考与感悟 论文内容总结:本文主要是关于ESG评级不确定性(也即来自三个评级机构的ESG得分差异),对企业绿色创新的影响。并且有效地区分了创新数量和创新质量。创新数量的是专…

iptablese防火墙【SNAT和DNAT】

目录 1.SNAT策略及应用 1.1SNAT原理与应用 1.2 SNAT策略的工作原理 1.3 实验操练 2.DNAT策略 2.1 DNAT策略的概述 2.2 DNAT原理与应用 2.3 实验操练 1.SNAT策略及应用 1.1SNAT原理与应用 SNAT 应用环境:局域网主机共享单个公网IP地址接入Internet&#xf…

uniappx 应用未读角标插件(完善推送、通知、消息效果) Ba-Shortcut-Badge-U

简介(下载地址) Ba-Shortcut-Badge-U 是设置应用未读角标的原生插件,UTS版本(同时支持uniapp和uniappx) 支持设置未读、清空未读支持机型有Huawei、oppo、xiaomi、Samsung、Sony、LG、HTC、ZUK、ASUS、ADW、APEX、NO…

数据库第十次作业官方答案

文章目录 1234 1 假设有关系模式R(A,B,C,D,E),如下函数依赖集F成立: A→BC,CD→E,B→D,E→A 如果将模式R分解为:R1(A,B,C)与R2(A,D,E)。 证明该分解是无损分解。 如果R1∩R2→ R1或R1 n R2→ R2,则一个分解…

pytest 用例收集钩子并发送飞书

pytest 用例收集钩子并发送飞书 当我们pytest用例运行完成后,想要知道运行多少个,成功还是失败,分别是多少,直接通知领导或者发到群里 conftest.pyimport requests def pytest_terminal_summary(terminalreporter, exitstatus, …

快速将短信从 Android 传输到 iPhone [支持 iPhone 15]

短信中包含有关工作和生活的重要信息,因此当我们拿到新手机时,它们不会丢失。今天,我们要讨论的是如何将短信从Android快速传输到iPhone,包括最新的iPhone 15。在Android和iOS操作系统之间,我们可以轻松地将短信从Andr…

mysql max_connections 默认值是多少

在 MySQL 中,max_connections 参数定义了能同时连接到数据库服务器的最大客户端连接数。该参数的默认值可能会根据 MySQL 版本和服务器的配置而有所不同。 对于 MySQL 5.7 和 MySQL 8.0,max_connections 的默认值通常是 151。这意味着同时可以有 150 个…

C语言(指针)8

Hi~!这里是奋斗的小羊,很荣幸各位能阅读我的文章,诚请评论指点,关注收藏,欢迎欢迎~~ 💥个人主页:小羊在奋斗 💥所属专栏:C语言 本系列文章为个人学习笔记&#x…

mysqldump

mysqldump 是 MySQL 数据库备份工具,用于将数据库的数据和结构导出为 SQL 文件,方便后续恢复或迁移数据库。 1、备份整个数据库: mysqldump -u username -p database_name > backup.sql2、备份特定表: mysqldump -u usernam…