如何允许端口接受来自所有外部 IP 地址的连接?

如何允许端口接受来自所有外部 IP 地址的连接?

我刚刚开始使用 Linux。我的OS详细信息如下。

Distributor ID: Ubuntu
Description:    Ubuntu 18.04.3 LTS
Release:        18.04
Codename:       bionic

我想TCP在端口 8086 上接受来自所有外部 IP 地址的连接,以便所有外部客户端都可以访问INFLUXDB在同一端口上运行的服务器的数据库。我尝试了几种方法,但都失败了。我尝试过

$ sudo iptables -A INPUT -p tcp --dport 8086 -j ACCEPT

输出看起来iptables -L类似于:

$ iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:postgresql

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

当我使用 telnet 检查端口是否对外部 IP 开放时,我得到了以下输出:

$ telnet 103.65.xx.xxx 8086
Trying 103.65.xx.xxx...
telnet: Unable to connect to remote host: Connection refused

此外,它没有显示在监听端口中。我想让它类似于端口 5432POSTGRESQL

$ sudo netstat -tulpn | grep LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1488/sshd
tcp        0      0 0.0.0.0:5432            0.0.0.0:*               LISTEN      94889/postgres
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      1074/systemd-resolv
tcp6       0      0 :::22                   :::*                    LISTEN      1488/sshd
tcp6       0      0 :::5432                 :::*                    LISTEN      94889/postgres
tcp6       0      0 :::3001                 :::*                    LISTEN      3858/node /usr/shar
tcp6       0      0 :::8443                 :::*                    LISTEN      3945/java
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      3945/java
tcp6       0      0 :::8080                 :::*                    LISTEN      3945/java

如何在所有外部客户端 IP 上开放端口?

附言我不想使用ufw实用程序。除此之外,任何其他帮助都将不胜感激。

答案1

您的问题不在于防火墙或网络设置。您的系统能够监听所有 TCP 端口。但您的 INFLUXDB 服务似乎没有运行和监听。

要检查服务状态,请尝试以下操作:

sudo systemctl status influxdb

如果您发现状态中存在一些错误,您应该解决它们。

服务开始:

sudo systemctl start influxdb

sudo journalctl -xe可以通过和tail -n 100 /var/log/dmesg或命令显示启动失败后的最后日志sudo dmesg

您的 test usingnetstat命令是检查开放端口的正确方法。但在此之前必须先启动 influxdb 服务。

相关内容