So wie ich es verstehe, 0.0.0.0
sind damit alle Netzwerkschnittstellen dieses Hosts (einschließlich 127.0.0.1
) gemeint.
Angenommen , ich habe drei Schnittstellen 192.0.2.40
und einen Server (Betriebssystem Linux).203.0.113.150
127.0.0.1
Auf 192.0.2.40:777
habe ich ServerA. Auf 203.0.113.150:777
habe ich ServerB. Wie verarbeitet der Server die Anfrage an 0.0.0.0:777
? Ich meine, wenn derselbe Port ( 777
) auf verschiedenen Schnittstellen lauscht. Oder verstehe ich alles falsch?
Antwort1
Wie verarbeitet der Server die Anfrage an 0.0.0.0:777
Dies wird nicht der Fall sein. Sie können keine Anfrage an 0.0.0.0 senden, Punkt.
Das bedeutet, dass der Host auf JEDE Anfrage (auf Port 777) reagiert, unabhängig von der verwendeten IP-Adresse. Natürlich muss der Server mit einer IP-Adresse konfiguriert werden, aber das bedeutet, dass der Serverprozess keine zusätzliche Filterung durchführt.
Antwort2
0.0.0.0
und 127.0.0.1
werden intern verwendet. 0.0.0.0
wird verwendet, um alle Schnittstellen zu bezeichnen, und 127.0.0.1
bezeichnet die Loopback-Schnittstelle. Sie haben nichts mit dem eingehenden Datenverkehr zu tun.
Wenn ein Client eine Verbindung zu Ihrem Server herstellen muss, muss er die tatsächliche IP-Adresse der Schnittstelle angeben, z. B. 192.0.2.40:777
oder 203.0.113.150:777
. So weiß Ihr Linux-Rechner, welcher Server die Anfrage bedienen soll. (Wenn der Client versucht, eine Verbindung zu 127.0.0.1
oder herzustellen 0.0.0.0
, wird eine Verbindung zuihre eigenenSystem, nicht Ihres.)