一天在K8S环境部署项目是,部署之后项目始终访问不了。检查了是否开放端口、ingress配置、内部是否能访问等。
最后万没想到,端口只能本地访问。一般来说项目端口开放了都是0.0.0.0,惯性思维导致了没去检查。。正好来说说 netstat 吧。
netstat -ntplu
-
-n 拒绝显示别名,能显示数字的全部转化为数字 -
-t (tcp) 仅显示tcp相关选项 -
-p 显示建立相关链接的程序名 -
-l 仅列出在Listen(监听)的服务状态 -
-u (udp)仅显示udp相关选项
[root@blog ~]# netstat -ntplu
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:3306 0.0.0.0:* LISTEN 28580/docker-proxy
tcp 0 0 0.0.0.0:5355 0.0.0.0:* LISTEN 557/systemd-resolve
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 28692/docker-proxy
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1077/sshd
tcp6 0 0 :::3306 :::* LISTEN 28586/docker-proxy
tcp6 0 0 :::5355 :::* LISTEN 557/systemd-resolve
tcp6 0 0 :::80 :::* LISTEN 28698/docker-proxy
-
Proto: 协议类型,如 TCP、UDP 等。 -
Recv-Q: 接收队列中的数据量。 -
Send-Q: 发送队列中的数据量。 -
Local Address: 本地地址,格式为 IP 地址:端口号。表示该连接是通过哪个 IP 地址和端口号监听的。 -
Foreign Address: 远程地址,表示连接的远程端口和 IP 地址。 -
State: 连接状态,如 LISTEN、ESTABLISHED 等。 -
PID/Program name: 监听此连接的进程的 PID 和程序名称。
如果 Local Address 下面的值是 0.0.0.0:3306 表示所有IP都能和3306端口通信,如果是 127.0.0.1:3306 只有本地网卡 IP 是 127.0.0.1 的才能与 3306 端口通信。
PS:0.0.0.0:3306 和 :::3306 表示在所有 IPv4 和 IPv6 地址上监听的端口 3306。
- THE END -
最后修改:2024年3月31日
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:https://www.qiuyl.com/linux/121
共有 1 条评论