# Routage Mac OS X Server



## SnakeFR (17 Novembre 2011)

Bonjour,

J'aimerais svp connaitre la commande afin de router une adresse sur une interface particulière, en mode permanent.

Voici un résumé de la situation :

- Un réseau en 192.168.0.x
- Sur ce réseau, une machine (Windows Server) a à la fois une adresse en 192.168.0.x, et en 192.168.30.x
- Le serveur Mac OS X (10.5) possède aussi deux IP sur une de ses cartes réseau. Evidemment, en 192.168.0.x et 192.168.30.x
- Une autre carte du serveur est connectée au boitier FAI (donc arrivée internet dessus)

Le but, c'est qu'une machine connectée en VPN (le serveur MAC OS X fait office de serveur VPN, entre autres) puisse accéder à la machine du réseau en 192.168.30.x, sans avoir accès aux machines en 192.168.0.x. Je fais le filtrage au niveau du coupe-feu, à savoir que l'IP donnée par le VPN n'accède pas au réseau 192.168.0.0/24


La machine connectée en VPN reçoit une adresse en 192.168.20.x. Pourquoi pas en 30.x ? En fait, si j'ai bien compris le log à la volée du coupe-feu, quand je mets le VPN dans la même classe que les secondes IP du serveur et de la machine sur le réseau, le serveur essaye de renvoyer le paquet du ping (depuis la machine sur le réseau en 30.x) vers l'interface de la carte réseau LAN, et donc n'accède pas à la machine connectée en VPN. Cela me parait d'ailleurs assez logique, la carte réseau ayant une des deux adresses dans le réseau secondaire.

Néanmoins, cela ne résoud pas mon problème :
1) J'arrive à faire un ping depuis la machine connectée en VPN sur la machine du réseau en double IP
2) L'inverse n'est pas possible. Quand je lance un tracert depuis la machine à double IP sur le réseau, cela arrive bien au serveur (donc la passerelle est bien déclarée), mais cela ne va pas plus loin.
 = J'en déduis donc qu'il y a un souci de routage sur le serveur entre les différents réseaux

Donc je repose ma question : comment effectuer un routage correct entre la machine connectée sur le VPN et la machine sur le réseau? Même s'il faut remettre la machine en VPN dans la même classe que la machine à double IP du réseau, cela ne me dérange pas.
Comme j'ai dis, la seule condition, c'est que la machine VPN ne se connecte pas dans la classe 192.168.0.x, afin d'effectuer le filtrage au niveau coupe-feu.

Voilà, j'espère avoir été assez limpide, merci d'avance de votre aide


----------



## Polo35230 (17 Novembre 2011)

Bonjour,

Pour le routage sur interface, on peut passer une commande de ce type:
sudo route add -net 60.60.60.0 -interface en0    
 On enverra alors le réseau 60.60.60.0/24 sur l'interface physique en0 (ethernet)
sudo route delete 60.60.60.0  (pour l'enlever)

Peut-être plus intéressant dans le contexte, la même commande passe aussi (mais je ne l'ai pas testée)avec l'adresse IP de l'interface:
sudo route add -net 60.60.60.0 -interface 192.168.30.xxx



Maintenant, c'est vrai que sur Mac, c'est pas comme sur windows, les routes ne sont pas permanentes.
Pour les rendre persistantes, il y a des astuces, du genre un script qui s' executera au démarrage, ou des solutions comme ci-dessous:
http://chimac.net/2010/04/27/how-to-...opard-or-10-6/
J'ai pas testé.
Ca a l'air galère...

Pour ton pb de traceroute, tu dis que ça marche dans un sens, mais pas dans l'autre.
C'est peut-être dû au fait que quand tu le fais avec une machine qui a deux adresses IP sur une même interface physique, tu ne sors pas forcément avec la bonne adresse source.

Par exemple, si j'ai bien compris, à partir du Windows serveur, tu fais un traceroute vers une machine qui est derrière le tunnel VPN en 192.168.20.xxx, et tu voudrais que ce soit une adresse source en 192.168.30.xxx.
Seulement, tu sors peut-être en 192.168.0.xxx, donc ça ne marchera pas pour le retour, car dans le parre-feu, il y a une règle qui l'interdit.

En gros, ce que tu voudrais faire, c'est dire aux machines qui sont sur les deux plans IP de ton Lan:
Si tu causes avec une machine derrière le VPN, on utilise lune adresse source en 192.168.30.xxx, sinon, on utilise l'adresse source en 192.168.0.xxx
La commande:
sudo route add -net 192.168.20.0 -interface 192.168.30.xxx   devrait résoudre ce pb.
Elle doit avoir son équivalent sous windows..

Mais j'ai peut-être rien compris...

Il faudrait tracer, pour voir...


----------



## SnakeFR (18 Novembre 2011)

Polo35230 a dit:


> Bonjour,
> 
> Pour le routage sur interface, on peut passer une commande de ce type:
> sudo route add -net 60.60.60.0 -interface en0
> ...



Salut,

Effectivement j'avais testé en désactivant la règle d'interdiction d'accès des deux réseaux, j'avais le même souci. Cela exclut donc le problème lié à la sortie par rapport à la mauvaise adresse IP.

En fait, ce que j'aimerais faire :

- La machine en VPN ne doit avoir accès qu'au windows serveur via la double adresse. Elle ne doit donc pas accéder au réseau 192.168.0.0/24.
- Si le serveur Windows doit parler avec la machine derrière le VPN, il doit accéder au réseau 192.168.20.0/24, avec son adresse sur le réseau 192.168.30.0/24.

Là d'ailleurs il m'arrive un autre souci, que je n'avais pas avant. Depuis une machine connectée via une autre manière en VPN, j'ai une adresse dans la classe réseau 192.168.0.0/24. De là, je n'arrive même plus à accéder aux machines sur le réseau 192.168.0.0/24 de l'entreprise, alors que je ping bien l'adresse du serveur 192.168.0.1.

En faisant le trace route, cela s'arrête encore au serveur. 
Je ne pige pas pourquoi je n'ai plus accès au réseau, sachant que le serveur fournit via le DHCP la bonne passerelle aux machines du réseau (et le bon DNS au passage), et le coupe-feu n'a absolument aucune restriction (que ce soit dans "Services", liés aux groupes d'adresse, comme dans les règles avancées).


----------



## Polo35230 (18 Novembre 2011)

Alors là, je pense qu'il faudrait tracer.

Depuis le serveur windows, il faudrait faire un ping vers une machine 192.168.20.xxx   située derrière le VPN

Si j'ai bien compris, on arrive sur une interface physique du Mac, et on ressort sur une autre interface physique de ce même Mac (côté VPN).
Il faudrait repérer les deux interfaces (par ifconfig) 
Ensuite, toujours sur le Mac, on ouvre deux fenêtres Terminal (pour tracer les deux interfaces.
Dans une fenêtre, on fait:
sudo tcpdump -i en0 host 192.168.20.xxx   (en0 est un exemple, si c'est une interface ethernet)
Dans l'autre fenêtre:
sudo tcpdump -i en0 host 192.168.1.15  (mettre bien sûr l'interface physique du VPN)
On désactive le firewall.

On lance le ping 192.168.20.xxx sur le serveur windows (2 pings suffiront pour pas charger la trace).
On verra alors ce qui se passe (en entrée et en sortie sur les deux interfaces du Mac).

Tout ce qui rentre par une interface doit sortir par l'autre.... 
Ca aidera peut-être à comprendre. Pas simple...


----------



## SnakeFR (23 Novembre 2011)

Polo35230 a dit:


> Alors là, je pense qu'il faudrait tracer.
> 
> Depuis le serveur windows, il faudrait faire un ping vers une machine 192.168.20.xxx   située derrière le VPN
> 
> ...



Très bien, je vais voir tout cela, merci bien


----------



## Chimacintosh (5 Mars 2013)

Hello and greetings from the US.

I updated that link title to show it applied to newer operating systems. I registered here just to help a viewer who went to that dead link today.I think you are looking for this article:

http://chimac.net/2010/04/27/how-to-add-a-static-route-permanently-in-snow-leopard-or-10-6/

Chimacintosh


----------

