广州网站设计教程江苏省建设厅官网网站

张小明 2026/1/10 13:04:50
广州网站设计教程,江苏省建设厅官网网站,安阳网站建设哪家正规,汉服网站设计目的因为开发需要使用 带界面的仿真软件#xff0c;而以往的使用习惯基本都是 SSH 登录虚拟机即可满足需求。 但这次遇到两个现实问题#xff1a; 现有虚拟机系统为 Ubuntu 18.04仿真软件要求 Ubuntu 22.04 GUI 最终选择的方案是#xff1a; 基于 Docker 构建一套 Ubuntu 2…因为开发需要使用带界面的仿真软件而以往的使用习惯基本都是 SSH 登录虚拟机即可满足需求。但这次遇到两个现实问题现有虚拟机系统为Ubuntu 18.04仿真软件要求Ubuntu 22.04 GUI最终选择的方案是基于 Docker 构建一套Ubuntu 22.04 仿真软件的镜像运行在原有虚拟机中结合VMware Horizon通过浏览器访问桌面实现软件可视化操作也正是在这个组合下踩到了Docker 与 Horizon 的一个隐藏但非常典型的坑。也尝试过使用 MobaXterm 弹窗根本弹不了远程虚拟机上的容器程序AI 说可以是骗人的。一、Horizon 是什么VMware Horizon 本质上是一套VDI虚拟桌面基础架构解决方案。简单理解就是后端运行着大量云服务器 / 虚拟机虚拟机具备完整桌面环境Linux / Windows用户可通过浏览器Web或客户端访问远程桌面在此前的实际使用中日常运维、开发SSH 完全够用Horizon 桌面更多是“存在但几乎不用”的状态但当GUI 仿真工具加入后情况就完全不同了。二、问题现象安装 Docker 后Horizon Web 桌面不可用在虚拟机中安装 Docker 并启动后出现了一个非常反直觉的现象SSH 登录、命令行操作一切正常Horizon Web 桌面无法打开浏览器直接报错An error has occurred: {errno:ETIMEDOUT,code:ETIMEDOUT,syscall:connect,address:172.17.0.1,port:22443}关键点非常集中172.17.0.1:22443而172.17.0.1正是 Docker 默认创建的docker0网桥地址。三、问题根因Docker 默认网桥优先级与 Horizon 网络路径冲突1️⃣ 先厘清Horizon Web 桌面是如何建立连接的Horizon WebBlast / HTML Access并不只有一种连接模式常见有两种模式一浏览器直连虚拟机Direct Connection浏览器直接访问虚拟机IP:22443Blast 服务监听地址为0.0.0.0:22443网络路径浏览器 → 虚拟机 → Blast Server模式二通过中转服务器访问Blast Secure Gateway / Unified Access Gateway浏览器先连接 Horizon 中转服务器由中转服务器回连虚拟机的 Blast 服务端口网络路径浏览器 → Horizon 中转服务器 → 虚拟机 → Blast Server本次问题环境使用的是第二种中转模式该模式可在 Horizon 管理台中配置。2️⃣ 为什么会“连到” 172.17.0.1需要特别强调的是这并不是 Blast 监听地址配置错误而是 Linux 系统选路问题。Blast 服务本身监听的是0.0.0.0:22443这意味着Blast 并不绑定某个具体 IP实际使用哪个 IP对它来说取决于操作系统的网络选路结果真正出问题的地方在于Linux 在选择“对外通信地址”时选错了网卡。3️⃣ Docker 实际造成了什么影响真正的根因Docker 启动后会自动完成以下操作创建docker0网桥默认分配地址172.17.0.1/16同时调整系统路由表与 iptables 规则在部分环境中会出现以下情况docker0网卡在路由或接口优先级上高于真实业务网卡系统在选择“回包路径”或“源地址”时优先选用了 docker0 的地址172.17.0.1于是实际发生的网络行为变成了Horizon 中转服务器 → 虚拟机 ↳ 系统选路docker0 (172.17.0.1) ↳ Blast :22443结果就是Horizon 中转服务器尝试连接172.17.0.1:22443该地址仅在虚拟机本地 Docker 网桥存在对外部网络完全不可达最终表现为ETIMEDOUT4️⃣ 补充虚拟机访问地址的来源需要注意的是虚拟机的访问地址是由 Horizon Agent 上报给 Connection Server / Gateway 的。当系统在某些场景下选用了 docker0 对应的地址作为“对外地址”那么 Agent 上报的地址本身就是不可达的这也是问题产生的根源之一。5️⃣ 结论这并不是“Docker 抢占了 Blast 的端口”而是Docker 创建的 docker0 网桥在系统选路/接口优先级上高于真实网卡导致 Horizon 中转回连流量被引导到一个外部不可达的地址。这也解释了为什么SSH 完全正常虚拟机本身运行无异常只有Horizon Web 桌面无法访问因为只有 Horizon尤其是中转模式强依赖“系统最终选择哪个 IP 作为对外通信地址”。四、解决方案可行但偏工程化最终采用的解决方式并不优雅但非常稳定删除 docker0 → 登录 Horizon 桌面 → 重启 Dockeriplinksetdocker0 downiplinkdelete docker0# 用户成功登录 Horizon 桌面后systemctl restartdocker# docker0 会被重新创建后续断开并重新连接 Horizon 桌面也可以正常访问可能与会话 / 地址缓存有关。并不是所有虚拟机都会触发该问题且实际需要桌面GUI 仿真的用户数量有限同时虚拟机 IP 均为 DHCP 分配无法批量在 Horizon Agent 中固定地址因此最终选择了这种最小改动、可控范围内的工程方案。关于修改 Docker 网桥地址的误区曾尝试通过修改 Docker 网关配置bip:10.99.99.1/24来规避172.17.0.1但实践发现问题并未彻底解决根因并非“占用了 172.17.0.1 本身”而是docker0 作为接口参与系统选路时的优先级问题另外还踩过一个小坑Horizon 服务未停止时Docker 启动阶段可能仍会受到影响最终采用的顺序是停止 Horizon Web / Agent 服务启动 Docker再启动 Horizon五、另一类常见报错的排查思路如果不是 172.17.0.1 相关报错而是“无法进入桌面请联系管理员”则可以按以下顺序排查。检查 Horizon Agent 服务systemctl status viewagent必要时重启systemctl restart viewagent检查 Blast 服务端口netstat-tlnp|grep22443期望看到tcp 0 0 0.0.0.0:22443 LISTEN xxx/VMwareBlastS检查 iptables 影响Docker 会自动修改 iptables可能影响 Blast 通信。可临时验证iptables -F iptables -L仅用于排错验证生产环境请谨慎如果最终浏览器访问 Horizon 出现ETIMEDOUT 172.17.0.1:22443基本可以确认仍是 docker0 选路问题按前述方式处理即可。六、Docker GUIDISPLAY桌面能正常访问并不代表容器里的 GUI 程序就能显示。宿主机虚拟机准备echo$DISPLAY例如:102并执行xhost 仅限内网 / 临时调试使用Docker 启动示例dockerrun --nethost --rm -it\-eDISPLAY$DISPLAY镜像bash测试aptinstall-y x11-apps xclock能够弹窗即说明 GUI 显示链路打通。七、批量环境治理既然 Docker 在后续场景中是必需组件那就统一在虚拟机上提前安装并批量为现有用户授予 Docker 使用权限避免后续重复配置和权限问题。ansible 虚拟机组 -m shell -aapt install -y docker.ioansible 虚拟机组 -m shell -a\for user in $(ls /home | grep -vE ^(public|gerrit|lost\found)$); do usermod -aG docker $user echo 用户 $user 已加入 docker 组 done总结本文问题本质并非端口或服务异常而是 Docker 默认网桥参与系统选路导致 Horizon 回连路径选错接口。在依赖回连机制的 VDI 场景中Docker 网络与桌面访问路径必须明确隔离或有序控制。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

买了dede模板之后就可以做网站玉溪网站建设网站建设

本文着眼于生成引擎优化(GEO)在内容创作中的关键作用,探讨其如何与用户体验相结合,实现双向提升。通过GEO,不仅可以优化内容的可见性,增强用户的互动,还能提高他们的满意度。文中将详细分析GEO的基本理念和操作原则&am…

张小明 2026/1/9 16:17:22 网站建设

图书馆网站建设所需资料如何建立网络平台

秒传链接使用手册:解锁百度网盘隐藏的极速转存技巧 【免费下载链接】baidupan-rapidupload 百度网盘秒传链接转存/生成/转换 网页工具 (全平台可用) 项目地址: https://gitcode.com/gh_mirrors/bai/baidupan-rapidupload 还在为百度网盘资源分享的各种限制而…

张小明 2026/1/9 14:00:34 网站建设

网站怎么做才不会被墙网站做支付按流量付费吗

Git Reset 回退错误提交的 TensorFlow 代码版本 在深度学习项目中,一次误操作可能让几个小时的训练付诸东流。比如你在 Jupyter Notebook 中修改完一个 ResNet 模型结构后,顺手提交了代码:“update model arch”,结果第二天运行时…

张小明 2026/1/9 16:17:18 网站建设

厦门建网站网址价格低的跑车

文章目录前言一、详细操作演示视频二、具体实现截图三、技术栈1.前端-Vue.js2.后端-SpringBoot3.数据库-MySQL4.系统架构-B/S四、系统测试1.系统测试概述2.系统功能测试3.系统测试结论五、项目代码参考六、数据库代码参考七、项目论文示例结语前言 💛博主介绍&#…

张小明 2026/1/9 16:17:16 网站建设

广东省网站集约化建设方案公司是做小程序还是做网站

我将为您开发一个学生学习效率分析系统,能够分析作业完成时间模式,识别效率低谷期,并提供个性化的时间管理建议。项目结构study_efficiency_analyzer/├── main.py # 主程序入口├── data_collector.py # 数据收集模块├── analyzer.py…

张小明 2026/1/9 16:17:14 网站建设

官方网站建设银行年利息是多少钱修改wordpress登录页面

Rust Deref 自动调用完全指南&#xff1a;理解解引用强制多态 概述 在 Rust 中&#xff0c;Deref trait 是实现自定义解引用行为的关键。当类型 T 实现了 Deref<Target U> 时&#xff0c;编译器会在特定场景下自动插入 deref() 调用&#xff0c;这个过程称为解引用强制多…

张小明 2026/1/9 0:04:19 网站建设