![尽管端口已打开,但仍然无法连接](https://linux22.com/image/1507827/%E5%B0%BD%E7%AE%A1%E7%AB%AF%E5%8F%A3%E5%B7%B2%E6%89%93%E5%BC%80%EF%BC%8C%E4%BD%86%E4%BB%8D%E7%84%B6%E6%97%A0%E6%B3%95%E8%BF%9E%E6%8E%A5.png)
在我的 TurnKey Linux 上,我运行了许多程序。当我使用另一台计算机访问它时,我可以看到网站正在运行,我可以使用 SSH 连接。但无法访问 Webmin(端口 12321)、MySql(3306)和其他程序。这是我的netstat
:
$sudo netstat -nlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:12320 0.0.0.0:* LISTEN 2073/stunnel4
tcp 0 0 0.0.0.0:12321 0.0.0.0:* LISTEN 2073/stunnel4
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 30017/mysqld
tcp 0 0 127.0.0.1:10000 0.0.0.0:* LISTEN 12859/perl
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2104/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2243/master
tcp 0 0 127.0.0.1:12319 0.0.0.0:* LISTEN 1202/shellinaboxd
tcp6 0 0 :::12322 :::* LISTEN 1274/apache2
tcp6 0 0 :::80 :::* LISTEN 1274/apache2
tcp6 0 0 :::22 :::* LISTEN 2104/sshd
tcp6 0 0 :::443 :::* LISTEN 1274/apache2
udp 0 0 0.0.0.0:10000 0.0.0.0:* 12859/perl
我错过了什么?
答案1
您需要检查防火墙或 iptables。netstat 显示端口在本地使用,并不意味着可以从外部访问它们。
答案2
我确信您已经检查过 Linux 系统上的防火墙软件和/或主机入侵软件,以确保它没有阻止流量。如果没有 - 那么就这样做。:)
除此之外,我还建议检查一下 MySql 配置。netstat 输出显示它只监听本地/环回流量 (127.0.0.1)。因此,您永远无法从其他系统看到它。
答案3
如果 iptables 正在运行,请使用 检查您的规则以iptables -L
查看您是否允许这些端口。还请检查 SELinux 是否已激活:sestatus
,以及处于哪种模式(宽容|强制);如果是强制模式,您可以使用 修改模式sestatus 0
。