rulu ruru

post hostrotator - změna hosts při joinutí specifického ESSID

January 7th, 2009

Filed under: linux — starenka @ 02:31
Tags: , , , , , , ,

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:

  1. wifi je na wlan0 (změn si dle potřeby)
  2. 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
  3. skript (níže) uložit, udělat spustitelným a zkopírovat pod rootem do /etc/network/if-up.d
#!/bin/sh
ssid=`iwconfig wlan0 | grep ESSID | cut -d\" -f2`

cp /home/starenka/hosts/_hosts /etc/hosts
if [ -f /home/starenka/hosts/"$ssid" ];
     then echo "
\n#==$ssid specific==\n" >> /etc/hosts; cat /home/starenka/hosts/"$ssid" >> /etc/hosts
fi

ruldrurd
© starenka 2oo7, cute alien monster by noizcut, original theme by Laurentiu Piron - customized by starenka | proudly powered by WordPress