Résumé
Ici nous détaillerons la configuration de l'interface réseau virtuelle qui nous permettra de faire du NAT, cette fois avec iptables, afin de pouvoir par la suite mettre en place le filtrage.
Créez le fichier /etc/init.d/partage, qui sera le script à lancer pour démarrer notre interface « perso ». En pratique, ce script supprime le bridge sur l'interface vmnet0, ce qui nous permet de disposer d'une interface « vierge », que nous allons configurer par la suite :
#!/bin/sh
# Fichier /etc/init.d/partage
# Script de démarrage qui crée une interface
# réseau virtuelle, et qui met en place le
# partage de connexion internet
start() {
# on supprime le bridge sur vmnet0
kill -9 `cat /var/run/vmnet-bridge-0.pid`
rm /var/run/vmnet-bridge-0.pid
# on crée l'interface vmnet0
# on garde son pid dans /var/run/
/usr/bin/vmnet-netifup \
-d /var/run/vmnet-netifup-0.pid \
/dev/vmnet0 vmnet0
# on démarre l'interface
ifup vmnet0
# on vide les tables
iptables -F
# on vide les chaînes utilisateur
iptables -X
# on met en place du partage
# de connexion internet
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING \
-s 192.168.10.0/24 -o eth0 -j MASQUERADE
}
stop() {
# on arrête l'interface
ifdown vmnet0
# on vide les tables
iptables -t nat -F
iptables -t nat -X
iptables -F
iptables -X
# on supprime le partage
echo 0 > /proc/sys/net/ipv4/ip_forward
# on supprime l'interface virtuelle
kill -9 `cat /var/run/vmnet-netifup-0.pid`
rm /var/run/vmnet-netifup-0.pid
# on recrée le bridge sur vmnet0
# on garde son pid dans /var/run/
/usr/bin/vmnet-bridge \
-d /var/run/vmnet-bridge-0.pid \
/dev/vmnet0 vmnet0
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop && start
;;
*)
echo "Usage $0 {start|stop|restart}"
exit 1
esac
exit 0
*
Fixons les droits sur le script, pour permettre de l'exécuter :
$
sudo chmod u+x /etc/init.d/partage
Afin de fournir à notre sous-réseau NAT les services réseau indispensables que sont DHCP et DNS, nous allons installer un logiciel appelé dnsmasq. Ce logiciel regroupe un serveur DHCP et un serveur relais DNS.
Chaque machine virtuelle sera donc cliente DHCP de notre machine. De plus, le relais DNS évitera de passer par la liaison internet à chaque fois qu'il y aura un nom à résoudre : on interrogera le serveur relais DNS de l'hôte, qui se chargera d'interroger le serveur DNS extérieur si cela est nécessaire.
Pour l'installation, tapez :
$
sudo apt-get install dnsmasq
Nous allons ensuite éditer de fichier de configuration de dnsmasq avec :
$
sudo vim /etc/dnsmasq.conf
Et nous complèterons le fichier de la façon suivante :
# fichier /etc/dnsmasq.conf
bogus-priv
# pour limiter l'écoute de requetes DHCP du coté réseau local
interface=vmnet0
# nom du domaine pour dnsmasq
domain=inet
# activation du serveur DHCP
dhcp-range=192.168.10.100,192.168.10.150,255.255.255.0,12h
Dans le fichier /etc/network/interface, nous allons ajouter l'interface vmnet0, afin qu'elle puisse être utilisée :
iface vmnet0 inet static
adress 192.168.10.1
netmask 255.255.255.0
Enfin, il faudra veiller à ce que vos machines virtuelles soient bien configurées en DHCP.
Redémarrez la machine hôte, puis lancez le script créé précédemment :
$
sudo /etc/init.d/partage start
Vous pouvez maintenant lancez VMware Server. L'interface vmnet0 doit avoir l'adresse 192.168.10.1/24, et les interfaces réseau de vos machines virtuelles doivent avoir une adresse IP comprise entre 192.168.10.100/24 et 192.168.10.150/24.