无法使用Guacamole Reverse VNC连接

时间:2016-08-28 09:53:14

标签: vnc guacamole

我正在使用 Guacamole v0.9.9 ,并希望连接到我的ISP的 NAT 背后的 Win 10笔记本电脑。 / p>

我想我可能必须使用反向VNC 。这里给出的说明如下: https://guacamole.incubator.apache.org/doc/gug/configuring-guacamole.html#vnc-reverse-connections

但我正在使用MYSQL Auth,如下所述: https://guacamole.incubator.apache.org/doc/0.9.0/gug/mysql-auth.html

问题是我无法在VNC设置中看到任何反向连接选项,并且没有XML文件可以放入参数。

enter image description here

此后没有说明该怎么做。在传统的VNC连接中,您将在目标中运行客户端,并在给出目标IP后以侦听/反向模式运行服务器。在这种情况下,没有客户端运行。所以我对下一步做什么一无所知。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

要设置reverse-connect功能,您需要执行以下操作:

因此,在典型的授权方案中,您在 user-mapping.xml 中有类似的内容,并提供反向连接的必要信息:

<authorize username="user" password="password">
    <connection name="reverse">
        <protocol>vnc</protocol>
        <param name="hostname">localhost</param>
        <param name="port">9999</param>
        <param name="reverse-connect">true</param>
        <param name="listen-timeout">30000</param>
        <param name="autoretry">true</param>
    </connection>
</authorize>

由于您通过MySQL执行此操作,因此原则相同:

连接和参数

  

每个连接在guacamole_connection表中都有一个条目,带有   与参数的一对多关系,存储为名称/值对   guacamole_connection_parameter表。

     

guacamole_connection表只是一个独特的和   具有用于连接的协议的描述性名称。与添加用户相比,添加连接和相应的参数相对容易,因为没有生成盐也没有密码进行哈希:

-- Create connection
INSERT INTO guacamole_connection (connection_name, protocol) VALUES ('reverse', 'vnc');
SET @id = LAST_INSERT_ID();

-- Add parameters
INSERT INTO guacamole_connection_parameter VALUES (@id, 'hostname', 'localhost');
INSERT INTO guacamole_connection_parameter VALUES (@id, 'port', '9999');
INSERT INTO guacamole_connection_parameter VALUES (@id, 'reverse-connect', 'true');
...

<强>连接

打开Guacamole内的连接,然后使用VNC客户端连接到Guacamole服务器上的端口(例如:9999,如上例所示)。如果您没有首先在Guacamole中打开连接,guacd将不会在给定端口上进行侦听。

如果在设置包含reverse-connect参数的user-mapping.xml或MySQL授权后无法建立连接,建议安装最新版本的 libvncserver ,其中定义了ENABLED_VNC_LISTEN。如果没有定义Guacamole的./configure警告,你应该注意到:

--------------------------------------------
 No listening support found in libvncclient.
 Support for listen-mode connections will not be built.
--------------------------------------------

答案 1 :(得分:1)

为了节省一些麻烦,你可以使用vnc转发器,它会监听来自vnc服务器和查看器的连接,并连接使用相同id的服务器和查看器

您可以从here

获取一个

获取构建包

使用Debian

apt-get install linux-headers-`uname -r` libx11-6 libx11-dev x-window-system-core x-window-system xspecs libxtst6 psmisc build-essential

对于CentOS使用:

yum install linux-headers-`uname -r` libx11-6 libx11-dev x-window-system-core x-window-system xspecs libxtst6 psmisc build-essential

获取/ usr / local / src

的源代码
cd /usr/local/src
wget http://www.wisdomsoftware.gr/download/uvncrep017-ws.tar.gz

解压缩源文件

gunzip uvncrep017-ws.tar.gz
tar -xvf uvncrep017-ws.tar

安装启动脚本

cd uvncrep017-ws
make; make install;

添加服务的用户

useradd uvncrep

根据您的需要编辑/etc/uvnc/uvncrepeater.ini。

检查以下参数:

viewerport = 5901
maxsessions = 10
runasuser = uvncrep
logginglevel = 2
srvListAllow1 = 192.168.0.0 ;Allow network 192.168.x.x
srvListDeny0 = 127.0.0.1 ;Deny loopback
requirelistedserver=1

启动服务

/etc/init.d/uvncrepeater start

原始链接:here

关于董事会的讨论:here