hostrotator - změna hosts při joinutí specifického ESSID
January 7th, 2009
Dost často potřebuju mít definovaný různý hostnames pro různý wifi sítě, ke kterým se připojuju. Problém, jak jistě tušíte, je v tom, že vetšina sítí má podobnej rozsah a tudíž hostname “milacek” na vaší domácí síti může v práci klidně směrovat na šéfův počítač. Nenabádám ke vzpourám, ale některý představy by se měli típnout už v zárodku. Aby jsem těmhle kolizím předešel, po každém připojení na wifi se mi k defaultním hosts přihodí ještě specifické pro danou síť. Samozřejmě to není převratná myšlenka, ale na amatérskýho krotitele tučňáků po necelým roce 24ek v ZOO nemůžete čekat víc. Ehm.
prekvizity:
- wifi je na wlan0 (změn si dle potřeby)
- v ~/hosts je:
- minimálně soubor _hosts, kde jsou univerzální hosts (vaše hostname atd.)
- soubor(y) s názvem ESSID, pro který chcete mít ještě další definovaný hostnames
- skript (níže) uložit, udělat spustitelným a zkopírovat pod rootem do /etc/network/if-up.d
ssid=`iwconfig wlan0 | grep ESSID | cut -d\" -f2`
cp /home/starenka/hosts/_hosts /etc/hosts
if [ -f /home/starenka/hosts/"
then echo "\n#==$ssid specific==\n" >> /etc/hosts; cat /home/starenka/hosts/"$ssid" >> /etc/hosts
fi
