Ich habe zwei Geräte in meinem privaten Netzwerk. Ein Computer hat die IP 10.42.0.1, der andere die IP 10.42.0.173.
Ich kann von einem Computer zum anderen pingen und umgekehrt.
Wenn ich die IP per ifconfig beispielsweise von 10.42.0.173 auf 10.42.0.43 ändern möchte:
ifconfig eth0 10.42.0.43 netmask 255.255.255.0 broadcast 10.42.0.255
Ich kann immer noch Ping haben.
Aber wenn ich es ändern möchte von 10.42.0.173 zum Beispiel auf 10.42.1.43 durch
ifconfig eth0 10.42.1.43 netmask 255.255.0.0 broadcast 10.42.1.255
Ich kann von 10.43.1.43 zu 10.42.0.1 pingen, aber nicht von der anderen Seite (von 10.42.0.1 zu 10.42.1.43).
Vielleicht liegt es an der Routing-Tabelle. Aber ich weiß nicht, wie ich sie einstellen kann.
Antwort1
Ihr erstes Gerät hat höchstwahrscheinlich eine IP-Adresse 10.42.0.1
mit einer Subnetzmaske von 24 Bit ( 255.255.255.0
). Damit es 10.42.1.255
ohne Gateway angezeigt wird, müssen Sie die Subnetzmaske auf 24 Bit oder weniger ( 255.255.254.0
oder weniger) einstellen.beideMaschinen
Antwort2
Netzmaskenfehler.
ifconfig eth0 10.42.0.43 netmask 255.255.255.0 broadcast 10.42.0.255
I can still have ping.
Das ist Netzwerk 10.42.0
mit 254 Hosts, beginnend bei 10.42.0.1 und endend bei 10.42.0.254.
Die Übertragung erfolgt über 10.42.0.255
But when I want change it from 10.42.0.173 for example to 10.42.1.43 by
ifconfig eth0 10.42.1.43 netmask 255.255.0.0 broadcast 10.42.1.255
Das ist ein völlig anderes Netzwerk. Die Übertragung erfolgt unter 10.42.1.255
und 10.42.0.255 ist nur eine normale Host-IP.
Bitte richten Sie beide in dasselbe LAN ein. Mit derselben Netzmaske.
Antwort3
Der Computer 10.42.1.43/255.255.0.0
denkt, dass sich der andere in seinem Netzwerk befindet
10.42.x.x/255.255.0.0
. Er geht davon aus, dass sich der andere unter befindet
10.42.0.1/255.255.0.0
und sendet daher ohne zu zögern das Ping-Paket.
Andersherum ist es jedoch nicht so, denn 10.42.0.1/255.255.255.0
die IP von
10.42.1.43
befindet sich nicht in seinem Netzwerk und es gibt keine Routing-Regel für die Weiterleitung von Paketen an 10.42.1.x
. Daher schlägt der Ping fehl, da es keine Netzwerkroute gibt, die er nehmen kann. Mit anderen Worten: 10.42.0.1
weiß nicht, wie ein Netzwerkpaket an gesendet werden soll 10.42.1.x
.
Ein Paket, das im physischen Netzwerk gestartet wird, wird von jedem angeschlossenen Gerät empfangen. Jedes Gerät prüft jedes Paket, um zu sehen, ob es an es adressiert ist. Daher geht es darum, das Paket zu starten, was im ersten Fall passieren wird, im zweiten jedoch nicht.