Administrator
Published on 2025-08-24 / 16 Visits
0
0

【远程运维必修课】VNC 全面解析:在麒麟 V10 SP3 上的配置与实践


⚠️ 声明:本文为 IT 技术科普与运维经验分享,不构成任何厂商官方文档。涉及生产环境操作请结合企业安全规范与系统文档谨慎执行。


一、什么是 VNC?

VNC(Virtual Network Computing) 是一种远程桌面控制协议,它能让用户通过网络在另一台电脑上看到图形桌面,并像本地一样操作鼠标和键盘。

  • 协议原理:基于 RFB(Remote Framebuffer) 协议,将服务器屏幕内容传到客户端,同时把客户端键鼠事件回传到服务器。

  • 工作模式

    • VNC Server:运行在被控端(如麒麟 V10 SP3 服务器)。

    • VNC Viewer:运行在控制端(运维人员的 PC)。

  • 常见应用

    • Linux 桌面远程管理

    • 数据中心运维(需要 GUI 界面时)

    • 教学/远程协助

👉 一句话总结:SSH 给你远程命令行,VNC 给你远程图形桌面。


二、为什么要配置 VNC?

  1. 图形化管理

    • 对不熟悉命令行的用户,VNC 提供完整桌面环境,方便操作。

  2. 跨平台访问

    • Windows / Linux / macOS / 手机均可通过 VNC Viewer 登录。

  3. 应急手段

    • 当系统配置复杂或 SSH 无法使用时,VNC 是可行的“图形救援方案”。

  4. 国产操作系统适配

    • 麒麟 V10 SP3 高级服务器版 上,VNC 可以让企业快速接入桌面化运维模式,降低学习成本。


三、VNC 的配置步骤(基于麒麟 V10 SP3)

3.1、检查当前桌面环境

VNC 需要在有桌面环境下才能运行

3.2、安装 VNC 服务端

麒麟 V10 基于 CentOS/Red Hat 内核,可直接用 yum 安装:

sudo yum install tigervnc-server -y

查看已安装的安装包

3.3、配置 VNC 用户和VNC 服务文件

cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

设置root用户的远程桌面服务端口,注意root用户和普通用户的家目录的路径不一样

vim /etc/systemd/system/vncserver@:1.service
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
WorkingDirectory=/root
User=root
Group=root

PIDFile=/root/.vnc/%H%i.pid

ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver -autokill %i
ExecStop=/usr/bin/vncserver -kill %i

Restart=on-success
RestartSec=15

[Install]
WantedBy=multi-user.target

3.4、 设置 VNC 密码

[root@localhost ~]# vncpasswd 
# 设置用户root的VNC登录密码
passwd:                          
Verify:

密码保存路径:~/.vnc/passwd

3.5、 启动服务

systemctl daemon-reload
systemctl restart vncserver@\:1.service
systemctl enable vncserver@\:1.service
systemctl status vncserver@\:1.service

3.6、客户端连接

注意放行防火墙端口的5901

  • 默认端口规则:

    • :15901

    • :25902

    • 依次类推。

  • 连接方式:

    vncviewer 192.168.1.100:5901

3.7、客户端下载

https://www.realvnc.com/en/connect/download/viewer/?lai_vid=EWjkeJvgzuNyO&lai_sr=5-9&lai_sl=l

四、常见路径与端口号

  • 配置文件

    • /etc/systemd/system/vncserver@:1.service → 用户映射

    • ~/.vnc/xstartup → 桌面环境启动脚本

  • 日志文件

    • ~/.vnc/servername:1.log → 会话日志

  • 密码文件

    • ~/.vnc/passwd

  • 端口号

    • VNC 默认从 5900 开始,每个会话 +1

    • 例如 :1 → 5901:2 → 5902


五、VNC 服务的启动与停止

  • 启动某会话

    systemctl start vncserver@:1.service
  • 停止某会话

    systemctl stop vncserver@:1.service
  • 查看运行状态

    systemctl status vncserver@:1.service
  • 杀死会话

    vncserver -kill :1

六、VNC 与 BMC 的区别

特性

VNC

BMC(Baseboard Management Controller)

层级

OS 层,依赖操作系统启动

硬件层,独立芯片,不依赖操作系统

功能

提供远程桌面、图形化管理

带外管理:远程开关机、BIOS 配置、硬件监控

应用场景

系统正常运行时的桌面远程控制

系统宕机/未安装 OS 时的硬件维护

网络需求

走操作系统 IP 网络

独立管理口,走带外网络

👉 总结

  • VNC = 软件级远程桌面工具

  • BMC = 硬件级远程管理入口

在运维中,两者常常配合使用:

  • 平时通过 VNC 做桌面运维;

  • 系统崩溃或未安装时,通过 BMC 远程控制台修复。


七、最佳实践(基于麒麟 V10 SP3)

  1. 安全加固

    • 配置防火墙,只允许堡垒机或运维跳板机访问 VNC 端口(5901+)。

    • 使用 SSH 隧道转发 VNC 端口,避免直接暴露。

  2. 结合堡垒机

    • 堡垒机作为中间网关,统一控制用户访问。

    • 通过堡垒机可实现操作审计,保证合规性。

  3. 与 BMC 协同

    • BMC 保证“死机也能管”,VNC 提供“桌面化便利”。

    • 双管齐下,构建完善的远程运维体系。


八、结语

在国产操作系统 麒麟 V10 SP3 高级服务器 上,配置 VNC 不仅能满足 远程图形化运维 的需求,还能结合 堡垒机与 BMC 构建更安全、更高可用的远程管理架构:

  • VNC → 日常图形化远程运维;

  • BMC → 底层硬件管理与应急控制;

  • 堡垒机 → 提供安全入口与审计。

在今天的远程运维实践中,这三者不是替代关系,而是互补关系。真正的高手,不仅会配置 VNC,还能根据企业安全架构,将 VNC + BMC + 堡垒机 融合到一体化方案中。



Comment