![如何使用iptables在centos中打开10011端口](https://linux22.com/image/585085/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8iptables%E5%9C%A8centos%E4%B8%AD%E6%89%93%E5%BC%8010011%E7%AB%AF%E5%8F%A3.png)
我需要打开端口 10011 才能使名为 Teamspeak 3 的应用程序运行。
我正在使用 CentOS 并尝试了以下命令:
sudo iptables -I INPUT -p tcp --dport 10011 -j ACCEPT
我按下回车键,控制台转到新行,没有错误,没有输出。但是,当我使用网站检查该端口是否打开时,它并未打开。
我做错了什么或者我可能忽略了什么吗?
谢谢。
编辑:这是 iptables -L 给我的内容(出于安全原因,我删除了一些行。)
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:10011
答案1
不要首先使用网站来检查该端口是否开放。
从本地系统开始:
$ netstat -tln
这应该会显示系统上所有正在监听的端口。您看到端口 10011 的条目了吗?它看起来类似于:
tcp 0 0 0.0.0.0:10011 0.0.0.0:* LISTEN
如果你没有看到这一点,那你就有问题了。如果你做看到之后,继续下一步:
用来
telnet
尝试连接到本地端口,以确保本地发起的连接有效。尝试以下操作:$ telnet localhost 10011
如果有东西正在监听该端口,则应该报告:
Trying 127.0.0.1... Connected to localhost. Escape character is '^]'.
如果它报告:
Trying 127.0.0.1... telnet: connect to address 127.0.0.1: Connection refused
然后你大概应用程序有问题。
本地连接正常吗?太棒了!现在你应该从本地网络上的另一台主机执行相同的测试:
$ telnet a.b.c.d 10011
您的系统的 IP 地址在哪里
a.b.c.d
。如果此操作失败,则可能是本地防火墙出现问题。如果操作成功,请继续执行步骤 4。如果本地网络上的连接正常,剩下的可能性就是您与外界之间配置了路由器或防火墙来阻止入站流量。您控制网络连接吗?其他人控制吗?验证您的网络网关是否可以传递流量。
如果这没有帮助,请告诉我们失败的原因,我们将从那里开始着手。