解决方案:
这与 iptables 无关。这是我的路由器阻塞所有端口的问题。我只是添加了一条规则以允许传入连接到 VNC 端口。
问题:
我简直要疯了。
我在 CentOS 6.6 上,我只想向 iptables 添加一条简单规则以打开端口 5901(vnc 服务器)并允许传入连接。
以下是我编辑 iptables 文件的方法:
vi /etc/sysconfig/iptables
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 5901 -j ACCEPT
然后我重新启动了 vncserver 和 iptables。
以下是输出iptables -L
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:vnc-800x600x16
以下是输出iptables -v -n -L
:
Chain INPUT (policy ACCEPT 4428 packets, 5769K bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:5901 –
现在:
- 如果我尝试连接 vnc 客户端(远程,不在 LAN 内,它在那里工作),我会收到超时连接错误
如果我使用 nmap 检查开放端口,我会得到:
端口 5901 被过滤
服务运行良好。
我也尝试过禁用 SELINUX,但是没有任何效果。
答案1
尝试在完全不运行 iptables 的情况下进行连接。只是为了检查这是否真的是 iptables 问题。
我想到另一件事是处理 RELATED 数据包可能存在一些问题(这看起来很奇怪,因为 INPUT 策略是 ACCEPT)。
如果您的服务器无法与客户端对话,也可能会发生这种情况,因此请检查输出链和您的路由。