Pelo que entendi 0.0.0.0
significa todas as interfaces de rede deste host (incluindo 127.0.0.1
).
Suponha que eu tenha três interfaces 192.0.2.40
e no servidor (SO Linux).203.0.113.150
127.0.0.1
Em 192.0.2.40:777
, tenho o ServerA. Em 203.0.113.150:777
, tenho o ServerB. Como o servidor processará a solicitação 0.0.0.0:777
? Quero dizer, quando a mesma porta ( 777
) está escutando em interfaces diferentes. Ou eu entendo tudo errado?
Responder1
Como o servidor processará a solicitação para 0.0.0.0:777
Não vai - você não pode enviar uma solicitação para 0.0.0.0, ponto final.
O que isto significa é que o host reagirá a TODAS as solicitações (na porta 777), independentemente do endereço IP utilizado. Obviamente o servidor deve estar configurado com um endereço IP, mas isso significa que o processo do servidor não faz nenhuma filtragem adicional.
Responder2
0.0.0.0
e 127.0.0.1
são usados internamente. 0.0.0.0
é usado para designar todas as interfaces e 127.0.0.1
designa a interface de loopback. Eles não têm nada a ver com o tráfego de entrada.
Se um cliente precisar se conectar ao seu servidor, ele precisará especificar o endereço IP real da interface, como 192.0.2.40:777
ou 203.0.113.150:777
. É assim que sua máquina Linux saberá qual servidor deve atender a solicitação. (Se o cliente tentasse se conectar a 127.0.0.1
ou 0.0.0.0
, ele estaria se conectando aseus própriossistema, não o seu.)