如何使用iptables在centos中打开10011端口

dar*_*n08 1 linux iptables centos port

我需要为名为 Teamspeak 3 的应用程序打开端口 10011 才能工作。

我正在使用 CentOS,我尝试了以下命令:

sudo iptables -I INPUT -p tcp --dport 10011 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

我按下回车键,控制台换了一行,没有错误,没有输出。仍然,当我使用网站检查该端口是否打开时,它没有打开。

有什么我做错或我可能忽略了吗?

谢谢你。


编辑:这是 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
Run Code Online (Sandbox Code Playgroud)

lar*_*sks 6

不要首先使用网站来检查该端口是否打开。

  1. 从您的本地系统开始:

    $ netstat -tln
    
    Run Code Online (Sandbox Code Playgroud)

    这应该是您系统上的所有侦听端口。您看到端口 10011 的条目了吗?它看起来像:

    tcp        0      0 0.0.0.0:10011               0.0.0.0:*                   LISTEN      
    
    Run Code Online (Sandbox Code Playgroud)

    如果你没有看到,那你就有问题了。如果您确实看到了,请继续执行下一步:

  2. 使用telnet尝试连接到本地端口,以确保本地起源的连接工程。尝试这个:

    $ telnet localhost 10011
    
    Run Code Online (Sandbox Code Playgroud)

    如果有什么东西正在监听那个端口,这应该报告:

    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    
    Run Code Online (Sandbox Code Playgroud)

    如果相反,它报告:

    Trying 127.0.0.1...
    telnet: connect to address 127.0.0.1: Connection refused
    
    Run Code Online (Sandbox Code Playgroud)

    那么您的应用程序可能有问题。

  3. 本地连接是否有效?伟大的!现在,您最好在本地网络上的另一台主机上执行相同的测试:

    $ telnet a.b.c.d 10011
    
    Run Code Online (Sandbox Code Playgroud)

    a.b.c.d你系统的ip地址在哪里。如果失败,您可能有本地防火墙问题。如果有效,请继续执行第 4 步。

  4. 如果本地网络上的连接正常工作,剩下的可能性是您和外部世界之间存在配置为阻止入站流量的路由器或防火墙。你控制你的网络连接吗?是别人吗?验证您的网关是否会传递流量。

如果这没有帮助,请告诉我们什么失败了,我们将从那里开始工作。