3 votes

Comment changer temporairement la passerelle d'une IP secondaire ?

Je me trouve dans la situation suivante :

route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.42.129  0.0.0.0         UG    0      0        0 usb0
192.168.0.0     0.0.0.0         255.255.255.0   U     9      0        0 wlan1
192.168.42.0    0.0.0.0         255.255.255.0   U     1      0        0 usb0

Et je voudrais utiliser un one-liner pour configurer la passerelle de 192.168.0.0/24 être 192.168.0.1 (l'adresse IP secondaire actuelle est 192.168.0.4 ).
Puis-je utiliser quelque chose comme

sudo ip route add from 192.168.0.4 via 192.168.0.1 dev wlan1
RTNETLINK answers: File exists

?
Encore une fois, j'ai besoin de quelque chose de temporaire qui force tous les paquets envoyés à partir de 192.168.0.4 passer de la passerelle 192.168.0.1 (je ne veux pas mettre en place un ensemble de scripts/whatnot pour faire cela). Existe-t-il un one liner que je puisse utiliser ?

チアーズ

2voto

MariusMatutiae Points 45233

La façon de forcer l'ensemble de votre trafic à passer par wlan1 au lieu de au lieu de usb0 est de forcer une nouvelle passerelle : comme sudo,

ip route del default
ip route add default via 192.168.0.1 dev wlan1

(Je suppose que votre passerelle a une adresse IP 192.168.0.1 Si ce n'est pas le cas, modifiez-le en conséquence). Vous pouvez rétablir la situation antérieure au moyen de

ip route del default 
ip route add default via 192.168.42.129 dev usb0

Si vous ne connaissez pas ou ne vous souvenez pas de l'adresse IP de la passerelle, utilisez plutôt

ip route del default
dhclient -v usb0

( -v est pour verbose, elle n'existe pas sur toutes les distros, vous devez donc mayo de l'abandonner).

Vous pouvez également décider d'avoir deux passerelles, une par interface ; avec le noyau Linux (et seulement avec le noyau Linux) cela peut être fait, vous trouvez dans la réponse de David Schwartz une excellente explication succincte de la manière de procéder. Une fois que vous l'aurez fait, vous devrez décider par quelle interface passe la sortie de chaque application (vous peut décider au cas par cas). Cela signifie qu'une demande donnée, par exemple ssh mayo lier à l'une ou l'autre interface, ou, en d'autres termes, que l'adresse IP à partir de laquelle la ssh peut être soit celle de usb0 ou celui de wlan1 ; le rule discuté par David Schwartz, se charge automatiquement d'acheminer correctement les données. ssh .

Notez que de cette façon, vous pouvez avoir un ssh la connexion passe par wlan1 et un autre qui passe par wlan1 .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X