Habitualmente utilizo en portátil tanto en casa como en el trabajo, y una de las cosas que siempre me han resultado pesadas ha sido cambiar la configuración de la red cada vez que voy a usar el ordenador en casa y volverla a cambiar para usarlo en el trabajo.
Así que un día que estaba bastante harto de hacer cambios diarios, me puse a configurar el portátil para que se conectara automáticamente a la red de casa o a la del trabajo dependiendo de donde lo conectara.
En casa me conecto por wifi a la red que tiene seguridad wep y en el trabajo por ethernet, así que necesité instalar:
- ifplugd : monitorea si se establece link en la capa física (por ejemplo si un cable de red es conectado o si existe una asociación wireless activa).
- guessnet : nos da herramientas para detectar a qué red estamos conectados.
¿Cómo instalarlas? Nada más fácil:
aptitude install ifplugd guessnet
Si tenéis vuestro punto de acceso con seguridad wpa tendréis que instalar también wpagui, que maneja la asociación wireless con un punto de acceso.
Una vez instalados los paquetes, modificamos el fichero /etc/network/interfaces. El mío quedó de la siguiente manera:# /etc/network/interfaces auto lo iface lo inet loopback address 127.0.0.1 netmask 255.0.0.0 iface ppp0 inet ppp provider ppp0 mapping eth? script guessnet-ifupdown #map default: trabajo map timeout: 3 #map verbose: true iface trabajo inet static address 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255 gateway 192.168.1.1 iface casa inet dhcp test wireless essid C54APRA # Si ninguna es encontrada, prueba DHCP iface none inet dhcp |
Veamos paso a paso en fichero de configuración:
auto lo iface lo inet loopback address 127.0.0.1 netmask 255.0.0.0 |
Las lineas anteriores definen el localhost y lo levantan automáticamente en el inicio.
iface ppp0 inet ppp provider ppp0 |
Las dos líneas anteriores definen el interfaz del modem, por si en algún momento decido usarlo.
mapping eth? script guessnet-ifupdown map timeout: 3 |
Las líneas anteriores definen que las interfaces eth? como por ejemplo eth0, eth1 ... van a ser manejadas automáticamente.
iface trabajo inet static address 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255 gateway 192.168.1.1 test peer address 192.168.1.1 mac 02:E0:52:EB:B6:DF |
Las líneas anteriores definen que la conexión al trabajo se hace con ip estática. Y que, por decirlo de alguna manera, para determinar que nos estamos conectando a la red del trabajo comprobamos que hay un host (por ejemplo el router) con una IP y una MAC concreta.
iface casa inet dhcp test wireless essid MICASA |
Las dos líneas anteriores determinan que la conexión a la red de casa se hace mediante dhcp y para comprobar que se debe conectar a la red de casa, testeamos que existe una red con wifi con el nombre MICASA.
# Si ninguna es encontrada, prueba DHCP iface none inet dhcp |
Y, por último, las dos líneas anteriores nos sirven para que, si no encontramos la red de casa, ni la del trabajo, se pruebe a conectar por dhcp.