Je suis sur un Mac et j'essaie de router une adresse particulière via une passerelle spécifique sur ma connexion wifi.
J'utilise:
route add -host 54.81.143.201 192.168.15.1
Parfois, cela fonctionnera, d'autres fois, cela ne fonctionnera pas. Ce que j'ai trouvé, c'est que l'interface choisie est différente à chaque fois. Il faut ot en0
travailler
netstat -nr
sortie quand ça ne marche pas:
54.81.143.201 192.168.15.1 UGHS 1 89 en5
C'est quand ça marche: (note en0)
54.81.143.201 192.168.15.1 UGHS 0 1 en
Pourquoi est-ce que je fais cela? Parce que notre société a un proxy sur lequel HipChat ne fonctionne pas. Je dirige donc le trafic hipchat via un réseau wifi ouvert tout en restant connecté à Ethernet.
MODIFIER:
J'ai aussi essayé d'ajouter l'entrée en utilisant uniquement l'interface
route add -host 54.81.143.201 -interface en0
54.81.143.201 78:31:c1:c7:52:74 UHS 0 2 en0
HipChat ne parvient pas à se connecter.
EDIT 2: Quelqu'un a demandé toute ma table de routage, la voici aujourd'hui. Notez que 54.81.143.201 est maintenant lié à en3 et non en0
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 10.7.90.1 UGSc 31 6 en3
10.7.90/24 link#4 UCS 4 0 en3
10.7.90.1 0:23:ac:3d:db:c2 UHLWIir 16 0 en3 1200
10.7.90.44 40:6c:8f:19:4a:bb UHLWI 0 3 en3 946
10.7.90.63 127.0.0.1 UHS 0 0 lo0
54.81.143.201 192.168.15.1 UGHS 0 0 en3
127 127.0.0.1 UCS 0 0 lo0
127.0.0.1 127.0.0.1 UH 3 209 lo0
169.254 link#4 UCS 1 0 en3
169.254.255.255 0:23:ac:3d:db:c2 UHLSW 0 0 en3
en3
est clairement correct. 192.168.15.1 n'est accessible par aucune autre interface. Le seul moyen d'atteindre 192.168.15.1 dans cette table de routage est d'utiliser la route par défaut, n'est-ce pas? (On dirait carrément que vous n'avez aucune idée de ce que vous faites. Vous semblez surpris que le système ne fasse pas l'impossible.)Réponses:
Essayer:
la source
Comme d'autres l'ont indiqué, il s'agit en fait de 3 problèmes.
Votre interface sans fil semble changer entre en0, en3 et en5.
Sur mon MacBook Air, en0 est toujours sans fil. Thunderbolt-to-Ethernet est toujours en3 et USB-to-Ethernet est toujours en5. Mais si vous connectez un adaptateur à un autre port de votre Mac, le nom de la carte réseau change. Vous devez d'abord résoudre ce problème. Assurez-vous que votre réseau sans fil porte toujours le même nom. Sinon, lorsque vous entrez la commande de route statique, si aucune carte réseau n'est connectée à l'
en0
emplacement, la commande échouera (évidemment) avec une "erreur d'adresse" (l'adresse physique n'a pas de lien).De même, assurez-vous que l'adaptateur se connecte toujours au même SSID. L'adresse de la passerelle doit évidemment être valide pour le sous-réseau, et différents réseaux WiFi auront différents sous-réseaux. Cela peut provoquer un autre type d'erreur.
Vous n'avez pas précisé si le sans fil est votre seule connexion réseau. Compte tenu de ce qui précède, je suppose que non ...? Ceci et la mise en réseau virtuelle due à VMware ou Parallels peuvent entraîner des complexités supplémentaires. (Par exemple, si les deux réseaux connectés utilisent le même espace IP ... Les machines virtuelles sont souvent reliées par un pont et ont leurs propres adresses IP / routes / liens ...). L'affichage d'une topologie de réseau serait utile.
Une fois que cela est fait, essayez
sudo route add -host 54.81.143.201 -iface en0
ousudo ipfw
. Si vous n'êtes pas sûr du nom de l'adaptateur, vous pouvez plutôt spécifier son adresse MAC, comme suit:sudo route add -host 54.81.143.201 -link 14:10:9f:e7:fd:0a
Connexes: https://discussions.apple.com/thread/5049994?searchText=policy%20route
Si vous redémarrez, cela ne persistera peut-être pas. Vous devrez gérer cela séparément.
la source
la source
J'ai pu ajouter une route via une interface en utilisant l'
-link
option permettant de spécifier une adresse MAC.route add -host 54.81.143.201 -link [mac addr of 192.168.15.1 on en0]
Cela enverra du trafic pour
54.81.143.201
l'interface appropriée.Deux
192.168.15.*
adresses d’hôte distinctes sont affectées, une à chaque interface, n’est-ce pas? Sinon, vous pouvez envoyer du trafic à partir de l'une ou l'autre interface, mais le trafic sera renvoyé sur l'adresse IP source des paquets.la source
Cette solution fonctionne sur le dernier MacOS 10.12 (Sierra). Voici le Gist .
Utilisez comme ceci:
Il suppose que l'interface wifi est: en1 .
N'oubliez pas de mettre les valeurs correctes pour les variables wifi_router et wifi_address . Notez le format wifi_address , qui est: nom d'interface réseau ' : ' adresse MAC d' interface avec ' . ' délimiteurs . Certes, la plupart des informations requises peuvent être analysées en sortie de la commande ifconfig , mais je suis trop paresseux pour cela =)
la source
La
route
commande OS X est documentée ici . Le-ifscope
paramètre et sa valeur vous permettent de spécifier un itinéraire lié à une interface.Ce n'est cependant pas ce que vous voulez. Vous devez réparer vos réseaux pour que leurs plages IP soient uniques. En dehors de cela, les métriques d'interface (ou priorités) influent sur l'interface sélectionnée.
la source
Voici comment traduire le nom défini par l'utilisateur 'Wi-Fi' en un nom de périphérique (par exemple en0, en1, en9, ...) attribué par MacOS à ce moment-là.
Vous pouvez mettre ces fonctions dans un script spécifique ou simplement les conserver dans votre
.bash_profile
.Ensuite, appelez simplement
get_int_name 'Wi-Fi'
pour obtenir le nom d'appareil attribué.Par exemple:
la source
Ainsi, le serveur du fournisseur avec lequel vous essayez de parler en ce qui concerne le service "HipChat" que vous prétendez être le 54.81.143.201? Dans ce cas, je ferais une entrée de routage pour 54.81.143.0 255.255.255.0 pour lui donner une plus grande plage. Peut-être que lorsque vous utilisez le logiciel, vous ne communiquez pas toujours avec ce serveur spécifique, mais avec un cluster d’entre eux situé sur le même sous-réseau 54.81.143.0/24. De plus, assurez-vous également que les mesures de votre itinéraire sont correctes lors de la création d'une nouvelle entrée. Si vous créez une route vers 54.81.143.0/24 192.168.15.1 Métrique 20 En5, mais avez également une route vers 0.0.0.0/0 10.7.90.1 Métrique 10 En0. L'ordinateur ignorera votre nouvelle entrée et poursuivra le routage du trafic via l'itinéraire par défaut (via En0), car il est préférable. Je viens de survoler cela et je voulais le souligner. À votre santé!
la source
Vous devriez essayer d'ajouter le nom de la carte réseau:
Cela fonctionne pour moi dans CentOS.
la source