Es wird versucht, eine Verbindung zum Gateway in einem statischen IP-Netzwerk herzustellen

14

Ich habe Arch-Linux-Arm läuft auf einem Himbeer-Pi.
Das Netzwerk, in dem ich mich befinde, verwendet statische IPs.
gateway IPist 192.168.178.5
IP für mein Gerät192.168.178.201

Um mich mit dem Internet zu verbinden, benutze ich:
ip addr add 192.168.178.201 dev eth0
ip route add default via 192.168.178.5
Wie auch immer letzteres ergibt
RTNETLINK answeres: Network is unreachable
Was fehle ich?

UPDATE
Die Antwort von mtak hat das anfängliche Problem behoben,
aber ich kann das Gateway immer noch nicht erreichen.
Es wird versucht, ein pingErgebnis zu erzielendestination host unreachable

Kennzeichen
quelle
Ist die Verbindung hergestellt? ip link set eth0 up
Patrick
1
@ Patrick yup. Das anfängliche Problem wurde bereits durch die Antwort von mtak gelöst.
Mark

Antworten:

11

Sie müssen eine Subnetzmaske hinzufügen, wenn Sie die IP-Adresse hinzufügen. Jetzt wird das System denken, dass die IP eine / 32 ist, die die IP 192.168.178.5 nicht enthält, daher ist sie nicht erreichbar.

So fügen Sie die neue IP-Adresse mit einer Subnetzmaske hinzu:

ip addr add 192.168.178.201/24 dev eth0
mtak
quelle
1
Jetzt klagt es nicht mehr, wenn versucht wird, die Route festzulegen. Allerdings komme ich immer noch nicht ins Internet. pingauf dem Gateway selbst führt zudestination host unreachable
Mark
3
das gleiche Problem hier .. hast du es geschafft, es zum Laufen zu bringen?
branquito
Ich kann das auch nicht zum Laufen
bringen
6

Das hat bei mir funktioniert

ip route flush dev eth0
ip route add 10.77.132.0/24 dev eth0
ip route add 0.0.0.0/0 via 10.77.132.1
Neil McGill
quelle
2

Hast du nicht systemd und netctl? Das ist, was Bogen normalerweise verwendet. Wenn Sie nicht verpflichtet sind, eine IP-Verbindung zum Internet herzustellen, können Sie diese in / etc / netctl / ethernet einfügen

Interface=eth0
Connection=ethernet
IP=static
Address=('192.168.178.201/24' '192.168.1.87/24')
#Routes=('192.168.0.0/24 via 192.168.1.2')
Gateway='192.168.178.5'
DNS=('192.168.178.5')

Führen Sie dann " netctl start ethernet" aus (und wenn dies funktioniert, aktivieren Sie "netctl", damit das Ethernet beim Booten automatisch eine Verbindung herstellt). Dies ist die empfohlene Methode, um eine Verbindung zum Internet über arch herzustellen, soweit ich das verstehe.

Aufgrund Ihrer früheren Probleme könnte das Problem sein, dass Sie vergessen haben, einen DNS-Server zu definieren (obwohl dies möglicherweise automatisiert ist, weiß ich nicht).

Wenn Sie das Gateway immer noch nicht erreichen, sollten Sie möglicherweise die IP-Adresse Ihres Gateways überprüfen. Haben Sie versucht, eine Verbindung mit DHCP herzustellen (wie dhcpcd ? Oder unterstützt Ihr Netzwerk das überhaupt nicht?), Nur um sicherzustellen, dass die Verbindung überhaupt hergestellt werden kann?

Cestarian
quelle
0

Versuchen

ip route add 192.168.178.0/24 dev eth0 proto kernel  scope link  src 192.168.122.201

Ich lösche meine Route-Haupttabelle, stelle eine statische IP-Adresse ein und stoße auf dieses Problem.

Ich versuche, die statische IP-Adresse zu löschen, erneut zu lesen, zu beobachten, was der Routentabelle hinzugefügt wurde, und diesen Eintrag zu finden. Dann füge ich Standardroute hinzu, es funktioniert.

ip a del 192.168.178.201/24 dev eth0
ip a add 192.168.178.201/24 dev eth0
ip route add default via 192.168.178.5 dev eth0
nineio
quelle