我在 Lubuntu 14.04 系统上设置了 x11vnc 服务器,使用 ~/.config/autostart/x11vnc.desktop 启动它。
很长一段时间,我都使用以下命令准确指定网络上的哪些机器可以访问服务器:
Exec=x11vnc -forever -allow 172.27.123.2,172.27.123.3,172.27.123.4,172.27.123.5,172.27.123.6 -httpport 5900
但是,因为我不想每次都手动添加新设备,并且已阅读 -allow 选项的手册页:
通过以“.”结尾,它也可以是数字 IP 前缀,例如“192.168.100”。匹配一个简单的子网
我决定将 x11vnc.desktop 文件的这一行更改为:
Exec=x11vnc -forever -allow 172.27.123. -httpport 5900
但是,当我使用这些设置重新启动时,我无法从 172.27.123.0/24 子网上的任何计算机连接到 VNC 服务器。
我也尝试过:
Exec=x11vnc -forever -allow "172.27.123." -httpport 5900
和
Exec=x11vnc -forever -allow 172.27.123.0/24 -httpport 5900
但仍然无法连接。
为什么会发生这种情况?我该如何使用 -allow 选项来允许从子网进行访问?
答案1
检查您的防火墙和路由器设置
我自己解决了这个问题,而且与 x11vnc.desktop 没有任何关系文件。 x11vnc.desktop 文件的 Exec 行的第一个版本是正确的。
问题是,当我第一次设置 vnc 服务器时,我将防火墙设置为阻止端口 5900 上除 172.27.123.2 到 172.27.123.6 之外的所有客户端。
最近,当我增加 DHCP 服务器提供的地址范围时,这意味着我网络上的计算机所获得的地址高于 172.27.123.6,因此防火墙会阻止对 vnc 服务器的访问。
我随后更改了 x11vnc.desktop 文件这一事实是无关紧要的。对于 172.27.123.6 以上客户端的旧设置,我也会遇到同样的问题。