Si vives en una monarquía bananera en la que tu gobierno controla los medios de comunicación públicos y privados, pretendiendo hacer lo mismo con internet; o en algún país de la «musulmanía«, de esos que no llevan muy bien lo de las libertades y les da por azotar bloggers (y no digo que alguno no lo merezca, no…), es posible que en algún momento, también te topes con alguna restricción que te impida acceder a servicios como Youtube, Twitter o The Pirate Bay.
En muchos casos son restricciones bastante burdas, que se saltan fácilmente utilizando proxys, el navegador Tor o cambiando los DNS bien de nuestro router de acceso o de los ordenadores que utilizamos para conectarnos a internet. Este último caso es lo que vamos a ver hoy.
Si lo queremos cambiar los DNS de nuestros equipos en Linux de forma manual, lo único que tenemos que hacer es editar el archivo /etc/resolv.conf, sustituyendo los DNS que proporciona nuestro ISP por otros de libre acceso como pueden ser lo de Google (8.8.8.8 / 8.8.4.4), OpenDNS (208.67.222.222 / 208.67.220.220) o cualquier otro.
En este punto una herramienta como Namebench, que evalúa la velocidad de respuesta de cada DNS, puede ser útil si dudáis entre decidiros por uno u otro.
En mi caso los modifiqué utilizando nano, pero podéis utilizar cualquier otro editor o IDE (geany, kate, gedit, vim, etc..)
sudo nano /etc/resolv.conf
lo que hacemos es eliminar los DNS antiguos que figuraban en el nameserver de ese archivo y cambiándolos por los de openDNS (he visto que openDNS también tiene DNS para IPv6 así que de paso también se los he añadido) o la compañía que prefiráis vosotros.
# openDNS IPv4 nameserver 208.67.222.222 nameserver 208.67.220.220 # openDNS IPv6 nameserver 2620:0:ccc::2 nameserver 2620:0:ccd::2
Para comprobar que estamos navegando con nuestro nuevo proveedor de sistema de nombres de dominio (DNS), lo podemos mirar con el comando dig que forma parte de las utilidades (bind-utils o dnsutils dependiendo de la distro) que se utilizan habitualmente para testear DNS
dig duckduckgo.com
Si os fijáis, al final aparece un valor denominado SERVER, que es el que nos dice que DNS estamos utilizando.
Actualización
Tal como me comentan varios lectores en los comentarios, es posible que determinados programas sobreescriban esa configuración, en openSUSE que es mi distro principal no me he encontrado ese problema (lo que hace es crearme un backup), pero hace un rato probando en Manjaro (y supongo que toda la familia de Arch será más o menos igual) he visto que el programa resolvconf, es el encargado de escribir directamente en el archivo resolv.conf, provocando que a cada reinicio se pierdan los cambios efectuados
La solución que he encontrado y parece que funciona, es editar directamente /etc/resolvconf.conf
sudo nano /etc/resolvconf.conf
dejamos todo como esta y en este caso para variar le añadimos los DNS de Google:
name_servers=8.8.8.8 name_servers=8.8.4.4
Y bueno… ahora os dejo un ratito que voy a ver que novedades hay en The Pirate Bay 😉
Imagen | Eric Constantineau (CC BY-NC 2.0)
Es Bueno mencionar, Que este archivo a veces llama su configuración de una utilidad, Ambiente, u otro achivo en alguna ubicación dependiendo de la distro.. lo que lleva a que esta configuración se sobreescriba mas adelante…. por eso hay que poner atención a las lineas donde indica de donde llama su config. y ahi colocar nuestra configuración personalizada.
fino fino che!
Si te leen los de Colea Del N, se puede formar un conflicto internacional.
Los de Colea Del N?? qué lugar es ese che??
Cabe mencionar que algunos servicios puedes sobre escribir el resolv.conf, en la wiki de ArchLinux mencionan soluciones a estos posibles problemas:
https://wiki.archlinux.org/index.php/Resolv.conf#Preserve_DNS_settings
En el caso de openSUSE que es mi distro pincipal no he tenido ese problema de que se sobreescriba (aunque si creó unos backups de seguridad del archivo viejo resolv.conf)
Ahora que comentas lo de arch, lo acabo de probar en otro ordenador con manjaro y si tenía ese problema cada vez que reiniciaba, creo que debido al archivo resolvconf.conf que es el que maneja a resolv.conf
La solución que he encontrado es cambiar la configuración directamente en este.
Gracias por el enlace voy a hacer una breve actualización con ese dato en el post.
Pues sí, …ya hace bastante tiempo que uso openDNS sobre todo para filtrar un poco de tanta porquería que hay en Internet, es que cuando tienes hij@s y empiezan a crecer es un problema, hoy en día hasta el inodoro se conecta a la Gran Web, XD …pero como siempre se aprende algo nuevo, no sabia que openDNS tuviera para IPv6 y como estoy pensando en habilitarla, pues va con los DNS de openDNS. Hace ya un tiempo que no uso Namebench y creo es hora de ver como van las cosas. 😉
Gracias por compartir
yo recomiendo opennic como dnss
http://www.opennicproject.org
🙂
Lo que yo hago es, cambiar las DNS en el Gestor de Red, Network Manager en el caso de muchas distros, y en la propia configuración del Router
De esta manera las DNS siempre se mantienen independientemente del archivo que se actualice.
Saludos.
pero porque hacer las cosas fáciles pudiendo hacerlas difíciles 🙂
Soy tonto o en KDE por el gestor de conexiones no se cambiarlo, la forma difícil se me ha quedado en fácil…
probaré eso que comentas. Primero viendo que DNS’s tengo, y segundo poniendo las de openDNS…
Salud!!
Tio… un día de éstos nos bloquean tu página.. como poco… cuidado que ya debes de estar en punto de mira….
Tengo las maletas preparadas por si tengo que irme a Belice en cualquier momento…a lo John Mcafee xD
Voy a ir instalando Talis…
En Ubuntu cuando intentas editar /etc/resolv.conf, ya ves un mensaje que te indica que cualquier cambio que realices será sobreescrito.
Pero se puede hacer el cambio abriendo la configuración de red, hay un botón en la parte inferior derecha que pone opciones, y hay que elegir la pestaña Ajuste de IPv4, y en Metodo si tenemos Automático DHCP cambiarlo por Solo direcciones automáticas DHCP, así podemos elegir el servidor de DNS en la parte inferior y ahí poner la dirección ip del que queramos utilizar.
Por cierto en Ubuntu no he encontrado el fichero /etc/resolvconfig.conf, al menos en la versión que yo tengo instalada.
Haz un chattr +i para volver inmutable resolv.conf y que no se pierda su configuración en cada reinicio.
@devnull Exacto! es la mejor solución, así lo tengo ahora con Antergos y sin problemas.