黄石网站建设网站建设案例

合肥欧派水泥预制品厂 2026/09/09 18:30:57

文章目录

    • 背景
    • 问题分析
      • 对比分析
      • firewall 和 iptables
    • 小结
      • VNC 是什么?
      • vnc配置和其他问题

背景

问题:vnc连接访问失败

最近在给Linux服务器安装vnc远程桌面管理时候,遇到一个问题,在浏览器中输入vnc访问之后(vnc://192.168.100.2:5902),提示连接失败。

问题分析

一般Linux协议栈丢包,有几个通用性的原因,rp_filter校验失败,防火墙丢包,conntrack 表满,eBPF / XDP / 安全模块拦截(较少见)等。vnc连接失败还可能存在一个原因就是vnc服务只监听 127.0.0.1。

排查只监听127.0.0.1,关闭rp_filter,flush了iptables,这些操作之后,发现问题还是不能解决。

在服务器上抓包,发现一个奇怪的点,只有client发过来的syn报文,服务器没有发送syn-ack 或者 rst报文,看着就像是静默丢包了。

在内核增加日志排查,抓包确认是否进入 INPUT 链
添加 LOG 规则

sudo iptables -I INPUT -p tcp --dport 5902 -j LOG --log-prefix "VNC-IN: "

查看日志

dmesg | tail -20

从日志看,报文进入到了INPUT链,这么看,syn报文,的确丢在了内核协议栈。

然后尝试其他端口访问,发现除了ssh的22端口,其他的端口都不能正常的访问,比较奇怪。

对比分析

这个环境是5.10内核的环境,我怀疑可能和高版本操作系统和内核有关系,于是找了一台4.19内核的服务器,发现4.19内核,不存在这个问题,那这么看,的确是新版的操作系统和内核引起的。

查找资料发现,5.10内核引入了firewalld这个工具,它是动态管理防火墙的前端工具,用于简化 Linux 系统的防火墙配置。

firewall-cmd --list-all public(active)target: default icmp-block-inversion: no interfaces: sources: services:sshports: protocols: forward: no masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:

防火墙只放行了ssh,难怪只有ssh的22端口可以访问。
于是,创建vnc服务,并在firewall里面放行,vnc就可以正常访问了。

创建服务sudotee/etc/firewalld/services/xvnc-custom.xml<<EOF <?xml version="1.0" encoding="utf-8"?> <service> <short>Xvnc Custom</short> <description>VNC service for display :10 (port 5910)</description> <port protocol="tcp" port="5910"/> </service> EOF放行服务sudofirewall-cmd --permanent --add-service=xvnc-customsudofirewall-cmd --reload

firewall 和 iptables

┌──────────────┐ │ 应用层 │ ← 用户直接操作 ├──────────────┤ │ firewalld │ ← 高级策略管理(zone/service) ├──────────────┤ │ iptables │ ← 规则生成器(RHEL 7/8) │ 或 nftables │ ← 规则生成器(RHEL 9+) ├──────────────┤ │ netfilter │ ← Linux 内核防火墙框架 └──────────────┘

小结

一般来说,Linux服务器丢包,主要问题还是防火墙的问题,其次是多网卡场景rp_filter的问题,再是其他的问题。

VNC 是什么?

VNC = Virtual Network Computing(虚拟网络计算)

  • 是一种 图形化远程桌面协议,允许你通过网络控制另一台计算机的桌面。
  • 基于 RFB(Remote Framebuffer)协议,跨平台(Windows/Linux/macOS 通用)。
  • 默认端口:5900 + N(例如 :1 → 5901,:2 → 5902)
    常见实现:
  • TigerVNC(Linux 推荐)
  • TightVNC
  • RealVNC
  • x11vnc
    用途:远程管理无显示器的服务器、图形界面调试等

vnc配置和其他问题

cat/root/.vnc/xstartup#!/bin/shPATH=/bin:/sbin:/usr/bin:/usr/sbinunsetSESSION_MANAGERunsetDBUS_SESSION_BUS_ADDRESSexec/usr/bin/gnome-session&

启动vncserver :2 -geometry 2560x1440 -depth 24 -localhost no报错

_XSERVTransSocketUNIXCreateListener:...SocketCreateListener()failed _XSERVTransMakeAllCOTSServerListeners: server already running(EE)Fatal server error:(EE)Cannot establish any listening sockets - Make sure an X server isn't already running(EE) _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed _XSERVTransMakeAllCOTSServerListeners: server already running (EE) Fatal server error: (EE) Cannot establish any listening sockets - Make sure an X server isn't already running(EE)

排查方法:ps aux | grep -E 'Xorg|Xvnc|Xwayland'可能存在其他程序运行,占用了端口。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

黄冈网站建设富阳网站建设

智能家居场景下VibeVoice提供个性化语音反馈在智能音箱越来越“懂”用户的今天,我们却仍常听到机械的播报声:“检测到您已回家。”——语气平板,毫无温度。孩

2026/06/30 11:52:28

昆明网站建设六安网站建设

LLM 正在逐步改变人们的生活,而对于开发者,如何基于 LLM 提供的 API 快速、便捷地开发一些具备更强能力、集成LLM 的应用,来便捷地实现一些更新颖、

2026/06/30 11:07:23

建设网站网站建设内容

FGO-py主题定制终极指南:打造个性化游戏助手体验【免费下载链接】FGO-pyFGO-py - 一个 Fate/Grand Order(命运-冠位指定)的助

2026/06/30 10:47:52

门户网站建设岳阳网站建设

第一章:Open-AutoGLM 社交动态整理Open-AutoGLM 是一个开源的自动化语言模型驱动框架,专注于从社交媒体平台中提取、分析并结构化用户生成内容。该项目通过

2026/06/30 11:53:58

长沙网站建设公司东营网站建设

第一章:智谱开源Open-AutoGLM 安装环境准备在安装 Open-AutoGLM 之前,需确保系统已配置 Python 3.8 或更高版本,并建议使用虚

2026/06/30 12:52:33

医院网站建设方案北京网站建设报价

当你的Multisim突然“失库”:一次因授权过期引发的主数据库访问危机你有没有经历过这样的时刻?打开熟悉的Multisim准备调试一个电源电路,刚想拖出一颗

2026/06/30 13:02:04

怎么建设网站镇江网站建设

第一章:Open-AutoGLM镜像构建失败的典型现象在使用Docker构建Open-AutoGLM项目镜像过程中,开发者常遇到多种典型的构建失败现象。这些异常不仅影响开发

2026/06/30 13:04:34

建设厅网站绵阳网站建设

AI应用架构师指南:超级计算中科研AI智能体的内存优化策略![内存优化:超级计算AI的隐形基石]1. 引入与连接:当智能遇见极限“Error: Out Of

2026/06/30 14:03:38

房地产网站建设网站如何建设

快速体验打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容:开发一个PPT模板智能推荐系统,根据用户输入的场景类型(商务/

2026/06/30 12:38:32