"Después del juego es antes del juego"
Sepp Herberger

jueves, 3 de diciembre de 2020

Alternar entre dos servidores DNS con un atajo de teclado.

He necesitado alternar entre el servidor DNS de mi red (192.168.1.100) y el de Google (8.8.8.8) para hacer unas pruebas con pihole. Como editar resolv.conf cada vez que quería cambiar el DNS es un coñazo, he hecho un script:
# cat /usr/local/bin/change_dns
#!/bin/bash

if grep "8.8.8.8" /etc/resolv.conf > /dev/null 2>&1
then
  sed -i "s/^nameserver.*$/nameserver 192.168.1.100/g" /etc/resolv.conf
else
  sed -i "s/^nameserver.*$/nameserver 8.8.8.8/g" /etc/resolv.conf
fi
exit 0
Para modificar el resolv.conf hay que ser root y yo quiero que esto lo haga cualquier usuario, asi que meto en /etc/sudoers:
# cat /etc/sudoers
.....
ALL   ALL = (ALL) NOPASSWD: /usr/local/bin/change_dns
.....
Ahora cualquier mindundi podrá ejecutarlo siendo root por un instante con "sudo /usr/local/bin/change_dns" o "gksu /usr/local/bin/change_dns".

Por último hay que definir el atajo de teclado para ejecutar el comando. Como usuario regular (no root) hacemos en un terminal:
$ xfconf-query -c xfce4-keyboard-shortcuts -p '/commands/custom/<Alt>d' --create -v -t string -s "gksu /usr/local/bin/change_dns"
Con esto vinculamos la combinacion de teclas Alt+d con la ejecución del script. Esto queda definido solo para el usuario actual, es decir, no es un atajo de teclado que se defina a nivel de sistema como hicimos aquí. La definición del atajo se guarda en:
$ cat .config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
<channel name="xfce4-keyboard-shortcuts" version="1.0">
  <property name="commands" type="empty">
    <property name="default" type="empty">
      .....
     <property name="custom" type="empty">
      <property name="override" type="bool" value="true"/>
      <property name="&lt;Alt&gt;d" type="string" value="gksu /usr/local/bin/change_dns"/>
      .......
    </property>
  </property>
  .....
</channel>
Y ya está, pulsando Alt-d pasa de un servidor DNS a otro de forma inmediata.
Bueno, ya está. La Chang'e 5 alunizó:



Ahora está recogiendo muestras, para subir, acoplarse al módulo de vuelta y traer el material a la Tierra. Es curioso, es el mismo esquema que el de una misión tripulada. Algo están tramando.

De momento nos deleitamos con esta preciosa foto de gran calidad:

No hay comentarios:

Publicar un comentario