我刚刚开始使用 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 服务。