2016-07-06  2022-12-04    544 字  2 分钟
- vnc

什么是 vnc?

  • VNC (Virtual Network Computer)是虚拟网络计算机的缩写。它 是一款优秀的远程控制工具软件,由著名的 AT&T 的欧洲研究实验室开发的。 VNC 是在基于 UNIX 和 Linux 操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能可以和 Windows 和 MAC 中的任何远程控制软件媲美。

    在 Linux 中,VNC 包括以下四个命令:vncserver,vncviewer,vncpasswd,和 vncconnect。

    大多数情况下用户只需要其中的两个命令:vncserver 和 vncviewer。

  • 关于 vnc 的服务端配置请自行搜索。

穿越内网远程控制

  • 服务端(vnc server)在内网,客户端(vnc viewer)需要有公网 IP。原理是由服务端反向朝着客户端(需要监听端口)发送连接请求。

  • vnc viewer 监听

    • 下载: RealVNC | Download VNC Viewer

    • windows 版启动监听

      在快捷方式中加入 -listen 参数,启动后会最小化到任务栏图标。

    • linux 启动监听

            vncviewer -listen
      
  • vnc server 端请求

        vncconfig -display :1 -connect 监听端公网-IP:端口(默认 5500 端口)
    

遇到的问题

  • 如果客户端也在内网的话,也是无法直接连接的(不能内网 to 内网,只能内网 to 公网)。必须把内网映射到外网。有以下两种方法:
    • 设置 DMZ 主机:主机地址设置为客户端机器 IP
    • 端口映射:把外网端口映射到客户端机器的 5500 端口,比如:公网 8800 -> 客户机 5500,服务器端连接方式如下:
            vncconfig -display :1 -connect 公网-IP:8800