Comment configurer Mac pour acheminer des requêtes IP externes vers différentes interfaces?

Je suis en train de configurer un Mac à la maison. Il possède une adresse IP statique de 10.0.1.254.

Ce Mac a une connexion VPN à mon lieu de travail via tunnelblick (192.168.1.x et 192.168.2.x). Ce Mac peut également exécuter quelques-uns de mes VM (192.168.170.x).

Alors que sur un autre ordinateur portable (également Mac) sur le même réseau (10.0.1.x), je veux pouvoir me connecter à mon lieu de travail et à VM via ce Mac.

Sur mon ordinateur portable, j'ai d'abord essayé de configurer une règle de routage:

sudo route -v add 192.168.170.163 10.0.1.254 

Sur le Mac, j'ai essayé d'activer le renvoi d'IP, et même de combler:

 sudo sysctl -w net.inet.ip.forwarding=1 sudo sysctl -w net.inet6.ip6.forwarding=1 sudo sysctl -w net.link.ether.inet.proxyall=1 sudo ifconfig bridge0 create sudo ifconfig bridge0 addm en0 sudo ifconfig bridge0 addm vmnet2 sudo ifconfig bridge0 up 

Cependant, lorsque j'ai essayé d'accéder à l'URL http://192.168.170.163:80/ de mon ordinateur portable, je ne semble pas être acheminé vers la VM sur le Mac.

L'expérience tunnelblick a été pire, car je ne peux pas l'ajouter au réseau ponté.

Je pourrais vous contourner avec le nat.conf VMware Fusion ou le renvoi de port via SSH, mais préférez les éviter car je veux conserver l'adresse IP que j'y accède et éviter une trop grande configuration dans /etc/hosts .

Y at-il quelque chose qui ne va pas avec mon concept / compréhension? N'est-ce pas un problème résolu par un réseau ponté et un renvoi IP?

Mettre à jour:

J'ai effectué une solution de contournement:
1. Mon Mac (10.0.1.254) héberge une machine virtuelle du serveur Windows 2003 Std Edition (10.0.1.253) avec le service de routage activé.
2. La machine virtuelle Windows de routage possède deux interfaces réseau, 10.0.1.253 et 192.168.170.253.
3. Mes autres machines virtuelles (192.168.170.253) configurent la passerelle par défaut comme 192.168.170.253.
4. Mon ordinateur portable sur le réseau 10.0.1.x effectue un routage statique depuis 192.168.170.x vers 10.0.1.253.

L' route add sur votre ordinateur portable a été un pas dans la bonne direction, mais vous obtenez seulement à mi-chemin avec elle.

Considérons ce graphique:

 NETWORK A___ | | | | | | Laptop Mac__________ | | | | | | NETWORK B NETWORK C 

Vous avez dit à votre ordinateur portable que pour accéder à NETWORK B il doit envoyer le paquet à Mac .

Maintenant, un ordinateur de NETWORK B reçoit un paquet d' Laptop (10.0.1.10), mais n'a aucun moyen de répondre, car il ne connaît pas le 10.0.1.10 IP (ou le réseau 10.0.1.0/24 que je suppose) est accessible Par 192.168.1.10 ou tout ce qui s'applique.

Vous devez soit

  1. Faire IP Masquerading (de sorte que les terminaux dans NETWORK C et NETWORK B croient qu'ils parlent à un membre de leur propre réseau), ou
  2. Ajoutez un itinéraire à NETWORK A dans chacun des terminaux dont vous avez besoin de parler dans NETWORK B et NETWORK C , ou
  3. Ajoutez un itinéraire à NETWORK A dans le routeur par défaut NETWORK B et NETWORK C … probablement avec routeback activé.

Je suppose que OSPF ou RIP ne sont pas disponibles pour vous.