![VNC 服务器正在运行,但我无法使用 VNC 查看器连接到它](https://linux22.com/image/1338429/VNC%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%AD%A3%E5%9C%A8%E8%BF%90%E8%A1%8C%EF%BC%8C%E4%BD%86%E6%88%91%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%20VNC%20%E6%9F%A5%E7%9C%8B%E5%99%A8%E8%BF%9E%E6%8E%A5%E5%88%B0%E5%AE%83.png)
我已经在 CentOS 5.8 上安装了 VNC 服务器并且它正在运行,但我无法使用 VNC 查看器连接到它。我收到以下错误消息:
连接:连接超时(10060)
可能是什么问题呢?
答案1
这里介绍如何添加防火墙例外(您需要打开端口 5900 和 5800)。Linux 不是我的强项,所以我希望这张图片能有所帮助...
答案2
您需要执行以下操作:
vi /etc/sysconfig/iptables
然后你会发现一个如下的文件:
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
# <add the line for eth>
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
# <add the line for ports>
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
使用 ifconfig 中的正确 eth,将以下行添加到 iptables 中:
-A INPUT -i eth1 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp -m multiport --dports 5801:5803,5901:5903,6001:6003 -j ACCEPT
文件保存后:
sudo service iptables restart
sudo service vncserver restart
您可以在以下位置获取更多信息:http://wiki.centos.org/HowTos/VNC-Server。但是,您会看到它们没有显示:5801:5803,我必须添加该值才能使 VNCViewer 正常工作。
问候,
答案3
运行 vncserver 的端口(例如 5901 等)将拒绝某些防火墙权限,因此请为其制定例外规则,只有端口 5901 接受 tcp。就是这样。您必须先启动防火墙,然后制定例外规则,不要忘记重新加载防火墙和守护程序,如 Linux 机器上的以下命令:
systemctl start firewalld
firewall-cmd --zone=public --permanent --add-port=5901/tcp
firewall-cmd --reload
systemctl daemon-reload
试一试。