答案1
唯一的是,您并没有说“所有地址都应该有访问权限”——这是在您的防火墙和/或服务器软件和/或其他安全层(如 tcpwrappers)中完成的。
0.0.0.0
在此上下文中, 表示“本地计算机上的所有 IP 地址”(实际上可能表示“本地计算机上的所有 IPv4 地址”)。因此,如果您的 Web 服务器计算机有两个 IP 地址,192.168.1.1
和10.1.2.1
,并且您允许 Web 服务器守护程序(如 Apache)监听0.0.0.0
,则可以通过这两个 IP 地址访问它。但仅限于可以联系这些 IP 地址和 Web 端口的对象。
请注意,在不同的上下文中(路由)0.0.0.0
通常意味着默认路由(除了本地网络中的路由等之外,到互联网“其余部分”的路由)。
答案2
当服务监听 0.0.0.0 时,这意味着该服务正在监听所有配置的网络接口;当监听 127.0.0.1 时,该服务仅绑定到环回接口(仅在本地机器上可用)
答案3
IP 地址0.0.0.0
可以具有非常不同的含义,具体取决于其使用地点。
- 它不是可以提供给实际网络接口的有效地址,以及 0.0.0.0/8 子网中的任何其他地址(即以 开头的任何地址
0.
)。 - 它不能用作任何 IP 数据包的源地址,除非计算机还不知道自己的 IP 地址并且正在尝试获取 IP 地址(典型示例:DHCP)。
- 如果在路由表中使用,它标识默认网关;到 0.0.0.0 的路由是默认路由,即,当没有更具体的路由可用于目标地址时使用的路由。
- 最后,当在命令的输出中看到时
netstat
(这是您要求的),这意味着给定的套接字正在监听计算机拥有的所有可用 IP 地址;当计算机具有多个 IP 地址时,套接字只能绑定到特定的地址和端口对,或者绑定到端口和全部地址;如果你在那里看到一个 IP 地址,这意味着套接字只监听该端口和特定的地址;如果你看到0.0.0.0
,这意味着它正在监听该端口全部机器的地址,包括环回地址(127.0.0.1
)。
答案4
简单来说:监听 0.0.0.0 意味着从任何可以访问此计算机的地方进行监听,例如从这台计算机、本地网络或互联网,而监听 127.0.0.1 意味着只从这台计算机进行监听