Utiliser dnsmasq avec VMWare Workstation

Récemment, en modifiant la configuration des services du mon réseau interne, j'ai commencé à avoir des erreurs DNS avec des machines virtuelles VMware Workstation configurées en réseau NAT. Ces machines n'arrivaient pas à trouver des noms d'hôtes sur Internet (google.com par exemple). Sur QEMU et Virtualbox, avec des configurations similaires et sur le même système hôte, les machines virtuelles arrivaient à communiquer avec l'externe. J'ai donc tenté de faire fonctionner VMware mais sans succès.

Cette semaine je suis tombé sur (cette page par Nelson Elhage). La solution qu'il propose est assez simple et elle fonctionne très bien.

Voici à quoi ressemble ma configuration de dnsmasq (/etc/dnsmasq.conf) :

##### VMWare custom DNS config #####
# Web ref: https://blog.nelhage.com/2010/10/dnsmasq-and-vmware/
listen-address=172.16.140.1
listen-address=127.0.0.1
no-dhcp-interface=lo

# Location of the actual DNS
server=192.168.1.1
local=/vmware/

# Only resolve hosts within the domain
no-hosts
no-resolv
domain=vmware
dhcp-fqdn

# Only use the 10 - 200 range
dhcp-range=172.16.140.10,172.16.140.200,36h
dhcp-authoritative

# VMware gateway route is on .2
dhcp-option=option:router,172.16.140.2

Ensuite il suffit de désactiver le serveur DHCP interne de VMware dans le « Virtual Network Editor », redémarrer les services de réseautique de l'hôte (systemctl restart networking) et redémarrer les machines virtuelles.