温馨提示×

如何通过Debian防火墙设置TigerVNC访问权限

小樊
40
2025-12-19 07:30:32
栏目: 智能运维

Debian 防火墙设置 TigerVNC 访问权限

一、端口与基础规则

  • TigerVNC 会话端口为:5900 + 显示编号(例如显示编号为 :1 则使用 5901/tcp)。先确认你的会话号:
    • 查看进程:ps aux | grep vnc
    • 或列出会话:vncserver -list
  • 使用 UFW 放行对应端口(以 :1 为例):
    • 安装与启用:sudo apt-get update && sudo apt-get install ufw && sudo ufw enable
    • 放行端口:sudo ufw allow 5901/tcp
    • 重载与核验:sudo ufw reload && sudo ufw status
  • 建议默认策略:sudo ufw default deny incoming;sudo ufw default allow outgoing(放通出站,严格限制入站)。

二、按来源 IP 精确放行

  • 仅允许内网网段(示例为 192.168.1.0/24)访问 5901/tcp
    • sudo ufw allow from 192.168.1.0/24 to any port 5901/tcp
  • 仅允许单个主机(示例 203.0.113.10)访问:
    • sudo ufw allow from 203.0.113.10 to any port 5901/tcp
  • 多端口/多网段可按需添加多条规则;完成后执行 sudo ufw reload 并核对状态。上述做法属于“在防火墙层面限制来源 IP”的典型用法。

三、更安全的做法 推荐 SSH 隧道

  • 不在公网暴露 VNC 端口,通过本地端口转发访问:
    • 建立隧道:ssh -L 5901:localhost:5901 username@your_server_ip
    • 客户端连接:localhost:5901
  • 若此前仅本地监听(例如启动时用了 -localhost 选项),隧道方式无需在 UFW 中放行 5901/tcp,安全性更高。

四、常见问题与快速排查

  • 连接被拒或超时:
    • 核对会话号与端口映射(:1 → 5901/tcp),必要时用 vncserver -kill :1 后重启 vncserver :1
    • 执行 sudo ufw status 确认规则已生效;若使用云服务器,还需在云平台安全组放行对应端口
    • 检查监听:ss -lntp | grep 5901(应看到 0.0.0.0:5901 或 :::5901 处于监听)
  • 服务未启动或仅本地监听:
    • 启动:vncserver :1 -geometry 1280x800
    • 如需远程直连,确保未使用 -localhost 限制;若使用隧道则无需放开公网访问。

0