Essayer de se connecter à la passerelle dans un réseau IP statique

14

J'ai arch-linux-arm fonctionnant sur un raspberryPi.
Le réseau dans lequel je suis utilise des adresses IP statiques.
gateway IPest 192.168.178.5
IP pour mon appareil192.168.178.201

Pour me connecter à Internet que j'utilise:
ip addr add 192.168.178.201 dev eth0
ip route add default via 192.168.178.5
Cependant ce dernier rapporte
RTNETLINK answeres: Network is unreachable
Qu'est-ce qui me manque?

MISE À
JOUR La réponse de mtak a résolu le problème initial,
mais je n'arrive toujours pas à atteindre la passerelle.
Toute tentative de pingconduire àdestination host unreachable

marque
la source
Le lien est-il établi? ip link set eth0 up
Patrick
1
@Patrick yup. Problème initial déjà résolu par la réponse de mtak.
Mark

Réponses:

11

Vous devez ajouter un masque de sous-réseau lorsque vous ajoutez l'adresse IP. Maintenant, le système pensera que l'IP est un / 32, qui n'inclut pas l'IP 192.168.178.5, il est donc inaccessible.

Pour ajouter la nouvelle adresse IP avec un masque de sous-réseau:

ip addr add 192.168.178.201/24 dev eth0
mtak
la source
1
Maintenant, il ne se plaint plus en essayant de définir l'itinéraire. Mais je n'ai toujours pas accès à Internet. pingsur la passerelle elle-même entraînedestination host unreachable
Mark
3
même problème ici .. avez-vous réussi à le faire fonctionner?
branquito
Je ne peux pas non plus faire fonctionner cela, et je suis au même point que Mark et Branquito
Tsangares
6

Cela a fonctionné pour moi

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
la source
2

Vous n'avez pas systemd et netctl? c'est ce que l'arche utilise habituellement. Si vous n'êtes pas obligé d'utiliser ip pour vous connecter à Internet, vous pouvez le coller dans / etc / netctl / ethernet

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')

puis exécutez netctl start ethernet (et si cela fonctionne, netctl permet à ethernet de se connecter automatiquement au démarrage), c'est la façon recommandée de se connecter à Internet sur arch pour autant que je puisse comprendre.

Sur la base de vos anciens problèmes, je suppose que le problème pourrait être que vous oubliez de définir un serveur DNS (bien qu'il puisse être automatisé, je ne sais pas)

Si vous n'arrivez toujours pas à atteindre la passerelle, vous devriez peut-être vérifier à nouveau l'IP de votre passerelle. Avez-vous essayé de vous connecter avec DHCP (comme dhcpcd ? Ou votre réseau ne prend-il tout simplement pas cela en charge?) Juste pour vous assurer que la connexion peut être établie?

Cestarian
la source
0

essayer

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

Je vider ma table principale de route, définir l'IP statique, rencontrer ce problème.

J'essaie de supprimer l'IP statique, de lire à nouveau, d'observer ce qui a été ajouté à la table de routage et de trouver cette entrée. Ensuite, j'ajoute l'itinéraire par défaut, cela fonctionne.

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
la source