Sans --dhcp-leasefile, toutes les instances écrivaient dans le fichier de baux par défaut du système : chacune relisait au démarrage des baux appartenant aux autres subnets, puis réécrivait le fichier avec les siens seulement. Sans effet visible jusqu'ici — les réservations étant statiques, l'adressage vient de la MAC et non du bail — mais la collision est réelle et se manifeste à chaque redémarrage d'une instance. Le fichier suit le même motif que le pidfile déjà en place, et vit dans /run : ces baux n'ont aucun sens sans le netns, qui ne survit pas au redémarrage de l'host. Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
22 lines
540 B
Bash
22 lines
540 B
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
# Expects one argument: netns_bridge (e.g. vpc-00003_br-00002 or vpc1_br0)
|
|
arg="$1"
|
|
NETNS="${arg%%_*}"
|
|
BRIDGE="${arg#*_}"
|
|
|
|
echo "start dnsmasq ${NETNS} ${BRIDGE}"
|
|
|
|
exec ip netns exec "${NETNS}" \
|
|
dnsmasq \
|
|
--no-daemon \
|
|
--interface="${BRIDGE}" \
|
|
--bind-interfaces \
|
|
--pid-file="/run/dnsmasq-$arg.pid" \
|
|
--dhcp-leasefile="/run/dnsmasq-$arg.leases" \
|
|
--conf-file="/etc/dnsmasq.d/$arg.conf" \
|
|
--no-hosts \
|
|
--no-resolv \
|
|
--log-facility="/var/log/dnsmasq-$arg.log" \
|
|
--no-daemon -p0
|