Mise en place d’un firewall Check Point sur un ESXi Dedibox

Pour des besoins de labs, je me suis pris un serveur Dedibox sur lequel j’ai mis en place un ESXi 6.0

L’idée étant de mettre en place sur l’ESXi (qui porte l’IP publique), un firewall Check Point qui permettra de gèrer plusieurs VLAN de labs.

Cependant, le fonctionnement IP de Dedibox m’a posé quelques problèmes dans le cadre de la mise en place du firewall.

En effet, pour faire cela, il me faut une autre IP publique pour mon Check Point. Chez Dedibox, ce sont les IP de failover. Chaque IP de failover est associé à une MAC adresse qu’il faut utiliser, sinon Dedibox nous bloque le port.

Tout est expliqué ici

Mais problème, les IPs de failover proposé ne sont pas dans le même subnet que l’IP de l’ESXi. Mais la gateway de l’IP de failover doit être la même que celle de l’ESXi.

Ceux qui ont suivi, comprenne donc qu’il faut router 0.0.0.0/0 du Check Point vers une passerelle qui n’est pas dans son réseau.

Mon premier réflexe fût de faire une route logique vers l’adresse de la gateway et ensuite de faire la route par défaut.

set static-route X.X.X.X nexthop gateway logical eth0

set static-route default nexthop gateway address X.X.X.X

Mais cela ne marche pas. La route logique s’ajoute bien mais pas la route par défaut. De mes constatations, cela est du au flag D positionné par le Check Point sur les routes logiques car en appliquant à la main ces routes, cela fonctionne comme attendu

route add X.X.X.X dev eth0

route add default gw X.X.X.X

J’ai eu beau retourné le problème dans tout les sens, je n’ai pas trouvé d’autre solution que d’appliquer les routes manuellement/automatiquement a chaque boot au niveau système.

Sans la première route, la route par défaut configuré dans le CLISH ne pouvait pas s’appliquer. Il faut donc bien ajouter manuellement/automatiquement au niveau système les 2 routes. Cependant, mettre en statique l’IP de gateway me plaisait que moyennement si elle venait à changer. Et comme je suis fainéant, j’avais pas envie de la changer à 2 endroits (CLISH et système) car j’aime bien voir la route dans l’interface WebUI ou dans le CLISH.

Donc pour gérer ce cas là, il faut créer le fichier /etc/rc.d/rc.local.user avec dedans :

#!/bin/sh

###########################
#        Add route for Internet        #
#         marc@mguyard.com        #
#          ***Never Remove***         #
###########################

DEFAULT_GW=$(/bin/grep -m 1 « routed:instance:default:static:default:gateway:address » /config/active | /bin/awk -F « [: ] » ‘{print $8}’)

if [[ $DEFAULT_GW ]]
then
/usr/bin/logger -t MGU -p info Default GW configured in Gaia : $DEFAULT_GW
/sbin/route add $DEFAULT_GW dev eth0
/usr/bin/logger -t MGU -p info Add logical route to $DEFAULT_GW on dev eth0
/sbin/route add default gw $DEFAULT_GW
/usr/bin/logger -t MGU -p info Add default gw to $DEFAULT_GW
else
/usr/bin/logger -t MGU -p info No default route configured in Gaia
fi

Dans ce script, je récupère dans la configuration Gaia, l’IP de la passerelle par defaut pour créer les routes au niveau système. Une fois le script en place, un reboot est tout est ok (idem si on change au niveau Gaia la route par defaut)

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s