Apuesto a que muchos de los teclarios tienen un portátil que traen y llevan de un sitio para otro.
Y apuesto a que cuando lo conectan a Internet, les toca reconfigurarlo para poner la IP, máscara, puerta de enlace y servidores DNS de casa, del trabajo, del wi-fi del vecino…
¡Qué latoso resulta! Buscar las propiedades de la red, elegir el interfaz a configurar, pulsar Propiedades, Protocolo IPv4 y, por fin, meter los numeritos de marras. Al menos cuatro o cinco clicks, y varios números a escribir.
Aquellos que usen Linux seguramente sabrán utilizar ifconfig para reconfigurar la red. Por ejemplo:
ifconfig eth0 192.168.1.2 netmask 255.255.255.0
(como administrador) establecerá la IP 192.168.1.2, y la máscara 255.255.255.0 Por desgracia, eso no cambia la puerta de enlace, por lo que, además, hay que usar route para ajustarla:
route add -net 0.0.0.0/0 gw 192.168.1.1 1
Y luego faltan los DNS… que supone tocar el fichero /etc/resolv.conf…
Naturalmente, esto abre la puerta a la automatización, con un sencillo script que haga todo eso. O… mejor aún, dos. El primero llamado casa.sh y el segundo trabajo.sh (o similar). Esto nos ahorrará un buen esfuerzo.
Si usas Debian o algún derivado ([?]ubuntu es el más representativo), hay otro modo. La configuración se guarda en /etc/network/interfaces y, la gracia, es que se pueden configurar “interfaces lógicos”. Así, podríamos tener:
iface casa inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
iface trabajo inet static
address 169.250.27.84
netmask 255.255.255.0
gateway 169.250.27.1
Y luego como root haremos:
ifup eth0=trabajo
(por ejemplo). Aunque quedan algunos pequeños flecos en toda esta explicación (como qué configuración se aplica en el momento del arranque), seguro que serás capaz de rellenarlos.
El principal problema, en realidad, surge con Windows. En este sistema operativo estamos demasiado acostumbrados al uso del ratón, de las ventanas y de los asistentes. Por tanto, es raro plantearse otra opción que no sea la reconfiguración manual.
Sin embargo, también en Windows hay aplicaciones de consola que permiten hacer bastantes cosas (de hecho, casi siempre más cosas que con la configuración gráfica). Una de esas perlas es netsh, el comando de configuración de la red en Windows.
Con ella, podemos configurar la IP, máscara y puerta de enlace en una sola línea:
netsh interface ip set address "Conexión de área local" static 192.168.1.2 255.255.255.0 192.168.1.1 1
(aunque en tu navegador aparezca en dos líneas, debe ser escrito todo seguido)
Ten en cuenta que Conexión de área local es el nombre del interfaz de red que tengas. El último número (un 1) es la “métrica” de la ruta por defecto que le estamos dando.
Además, también nos permite configurar los DNS:
netsh interface ip set dns "Conexión de área local" static 213.4.132.1
netsh interface ip add dns "Conexión de área local" 213.4.141.1 index=2
Las primeras líneas (que en realidad debe escribirse en una sola pero en el navegador se corta por su ancho excesivo) establece el servidor primario. Las dos últimas, configuran el segundario; podríamos añadir más incrementando el valor de index.
Con esto, podemos finalmente hacernos nuestro casa.bat y trabajo.bat y tener la configuración de red a tan sólo un click de distancia.
Aunque, todavía nos queda un pequeño problema… Si escribes el .bat con Notepad, te llevarás una desagradable sorpresa: no funciona. El problema está en que Notepad graba en codificación ANSI (por defecto), mientras que la consola de Windows, por herencia de MS-DOS (sí, has leído bien), usa “OEM”. Por tanto, la ó y á de Conexión de área local no se verán en el símbolo del sistema tal y como tú lo escribiste en Notepad.
La solución es escribir el script en un editor de consola… pero Microsoft, desde Windows Vista, ya no incluye ni el socorrido edit ni el infernal edlin entre los programas de consola… por lo que te tocará echar imaginación para conseguirlo… Quizá esto te dé una pista de cómo lo hice yo
:
echo á > dummy.txt
echo ó >> dummy.txt
Otro fleco de configuración es el cliente de correo. Si el lugar donde trabajas te proporciona su propio servidor SMTP (tal y como ocurre donde trabajamos los teclarios), es posible que no puedas usarlo desde fuera de su red, por lo que desde casa necesitarás utilizar un SMTP diferente. Esta decisión (de los administradores del servidor SMTP) es habitual para evitar el uso fraudulento por parte de terceros.
Además, es posible que desde la red del trabajo tampoco puedas utilizar el servidor SMTP que usas en casa. Esta decisión (del administrador de la red) evita que se envíe spam (intencionadamente, o por culpa de ordenadores zombies).
El resultado de ambas restricciones es que tendrás que usar un servidor SMTP en casa, y otro en el trabajo. Si usas Thunderbird, puedes tener varios servidores configurados (con otros clientes supongo que también), pero sólo uno “activo” para cada cuenta. El resultado es que cuando cambias de lugar, toca reconfigurar cual quieres usar como servidor predeterminado.
¿Podemos automatizar el cambio? Bueno… esto ya es más difícil (y yo no lo he hecho). Por si quieres intentarlo, aquí van algunas pistas. La configuración de Thunderbird está en %APPDATA%/Thunderbird/prefs.js. Para saber la ruta de %APPDATA% en tu caso, puedes escribir precisamente %APPDATA% en la ruta del explorador (o en la ventana de “Ejecutar”). Ahí verás un montón de cosas, entre ellas:
user_pref("mail.smtp.defaultserver", "smtp1");
user_pref("mail.smtpserver.smtp1.auth_method", 1);
user_pref("mail.smtpserver.smtp1.description", "SMTP_casa");
[...]
user_pref("mail.smtpserver.smtp2.auth_method", 1);
user_pref("mail.smtpserver.smtp2.description", "SMTP_trabajo");
[...]
La primera línea indica qué servidor SMTP usarás como predefinido. Cambiando smtp1 por smtp2 habrás reconfigurado tu Thunderbird.
¿Por qué yo no uso esto? Por tres razones:
- Al principio del fichero te dice explícitamente que no lo cambies
- Thunderbird sólo lee ese fichero al lanzarse; si, como yo, hibernas el ordenador y no cierras Thunderbird, el cambio no será visible
- Las herramientas de manipulación automática de ficheros de texto en Windows brillan por su ausencia (o yo, por mi ignorancia…). No hay awk o similar para hacer el cambio.
En cualquier caso, si lo haces y te va bien… ¡¡coméntanoslo!!