You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
126 lines
2.4 KiB
126 lines
2.4 KiB
#!/usr/bin/env bash
|
|
|
|
set -eu
|
|
|
|
set -x
|
|
|
|
DESC="Test DHCP (serveur:bigboss et client:tiny)"
|
|
|
|
HELP="
|
|
Bigboss et tiny doivent avoir été configurés par baseConfig.
|
|
"
|
|
|
|
resetToDefault() {
|
|
echo
|
|
echo "Reset DHCP"
|
|
|
|
vdn-ssh root@bigboss "
|
|
|
|
# Création d'une sauvegarde des fichiers originaux
|
|
for i in /etc/dhcp3/dhcpd.conf; do
|
|
[ ! -e \${i}.vdn -a -e $i ] &&
|
|
cp \${i} \${i}.vdn
|
|
done
|
|
|
|
# Restauration de la sauvegarde
|
|
|
|
for i in /etc/dhcp3/dhcpd.conf; do
|
|
[ -e \${i}.vdn ] &&
|
|
cp \${i}.vdn \${i}
|
|
done
|
|
|
|
exit 0
|
|
"
|
|
|
|
vdn-ssh root@tiny "
|
|
|
|
# Création d'une sauvegarde des fichiers originaux
|
|
|
|
for i in /etc/network/interfaces; do
|
|
[ ! -e \${i}.vdn ] &&
|
|
cp \${i} \${i}.vdn
|
|
done
|
|
|
|
# Restauration de la sauvegarde
|
|
|
|
for i in /etc/network/interfaces; do
|
|
[ -e \${i}.vdn ] &&
|
|
cp \${i}.vdn \${i}
|
|
done
|
|
"
|
|
|
|
|
|
}
|
|
|
|
|
|
testDHCP() {
|
|
echo
|
|
echo "Test de DHCP"
|
|
|
|
tinyMAC=$(vdn-ssh root@tiny ifconfig eth1 | grep ether)
|
|
tinyMAC=$(echo "$tinyMAC" | \
|
|
sed -re 's/^.*ether ([[:xdigit:]:]*).*$/\1/')
|
|
|
|
vdn-ssh root@bigboss "
|
|
f=/etc/dhcp3/dhcpd.conf
|
|
[ -e /etc/init.d/isc-dhcp-server ] && f=/etc/dhcp/dhcpd.conf
|
|
cat <<-EOF > \$f
|
|
subnet 192.168.30.0 netmask 255.255.255.0 {
|
|
}
|
|
host tiny {
|
|
hardware ethernet ${tinyMAC};
|
|
option host-name tiny;
|
|
fixed-address tiny;
|
|
}
|
|
EOF
|
|
|
|
f=/etc/default/isc-dhcp-server
|
|
cat <<-EOF > \$f
|
|
INTERFACESv4=\"eth0\"
|
|
INTERFACESv6=\"\"
|
|
EOF
|
|
|
|
if [ -e /etc/init.d/dhcp3-server ]; then
|
|
/etc/init.d/dhcp3-server stop &> /dev/null
|
|
/etc/init.d/dhcp3-server start
|
|
elif [ -e /etc/init.d/isc-dhcp-server ]; then
|
|
/etc/init.d/isc-dhcp-server stop &> /dev/null
|
|
/etc/init.d/isc-dhcp-server start
|
|
fi
|
|
|
|
"
|
|
|
|
vdn-ssh root@tiny "
|
|
cat <<-EOF > /etc/network/interfaces
|
|
auto lo
|
|
iface lo inet loopback
|
|
|
|
auto eth1
|
|
iface eth1 inet dhcp
|
|
EOF
|
|
|
|
ifdown eth1
|
|
ifup eth1
|
|
|
|
ifconfig eth1 | grep -q 192.168 && echo ok || exit 1
|
|
"
|
|
|
|
|
|
}
|
|
|
|
run() {
|
|
setErrorHandler
|
|
echoStart
|
|
|
|
requireSshGuests bigboss tiny
|
|
|
|
resetToDefault
|
|
testDHCP
|
|
resetToDefault
|
|
|
|
unsetErrorHandler
|
|
echoDone
|
|
}
|
|
|
|
|