13 novembre 2016

Mac OS X : redirection de port TCP vers une VM

Parfois on aimerait ouvrir un serveur web (nginx) sur internet, mais :
  1. on a pris pour acquis qu’on ne ferait plus tourner les services que sur des VMs,
  2. on ne veut pas ouvrir trop grandes les brèches, donc :
  3. on n’installera pas de service applicatif sur l’hôte (nginx ou Apache, pour du reverse proxying, qui pourraient être compromis, sans oublier qu’ils ralentiraient l’ensemble).
Bref, une redirection de port semble la bonne solution.

Sachant que la VM a une interface NAT et une interface host-only — c’est celle qui nous intéresse là.
  • La VM n’est donc pas visible sur le LAN, donc a fortiori n’est pas visible par le routeur.
  • Note : on ne mettra pas d’interface bridged.
Et l’hôte étant un Mac OS X, iptables est hors de question.
  • On pourrait éventuellement jouer avec pf (via pfctl), mais ce n’est pas la peine.
Versions :
  • Routeur : Freebox OS 3.3.3.
  • Hôte : Mac OS X Sierra 10.12.1 + VirtualBox 5.1.18
  • VM : Debian 8.6 64-bit