为什么这个“netstat -tln”输出显示“0.0.0.0:22”和“127.0.0.1:3306”的条目

当我运行命令netstat -tln我看到以下输出:

 Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp6 0 0 :::8000 :::* LISTEN tcp6 0 0 :::80 :::* LISTEN tcp6 0 0 :::22 :::* LISTEN tcp6 0 0 :::443 :::* LISTEN 

我了0.0.0.0:22127.0.0.1:3306以外的所有条目; 为什么这些项目在那里?

我正在使用iptables作为我的防火墙工具,并想知道是否需要禁用此项以及如何显示此条目。

我知道3306是用于MySQL的。 但是为什么SSH和Mysql有特定的IP地址,而不是其他的服务器呢?

0.0.0.0:22

以上意味着你正在监听端口22(ssh)的所有IP地址

127.0.0.1:3306

以上意味着你只监听端口3306(mysql)进行本地环回

前两者看起来不同于其他的原因是因为这些是IPv4地址,而其他的是IPv6地址,如从Proto列显示的,显示tcptcp6

对于具有IPv6地址( tcp6 )的线路,它正在侦听:::所有IP地址,相当于IPv4的0.0.0.0


更新

谢谢,但为什么我得到了IPv6地址,当我禁用ipv6的时候,当我运行“cat / proc / sys / net / ipv6 / conf / all / disable_ipv6”时输出为1就是certificate? 在启动http,https,mysql和ssh服务器时,我没有做任何特殊的事情(或者我认为)。 我预料到所有的IPv6和IPv4都会有类似的条目。 我大致了解输出结果,但我很难理解它。 我需要这个绑定到我的iptables规则。 – 山姆7分钟前

您已经在networking接口上禁用IPv6,但不会从系统中删除IPv6; 要做到这一点,你需要禁用IPv6内核模块。