User Tools

Site Tools


informatica:linux:dnsmasq

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
informatica:linux:dnsmasq [2013/07/03 09:02] – external edit 127.0.0.1informatica:linux:dnsmasq [2016/11/09 13:54] – [dnsmasq con 2 VPNs] javi
Line 1: Line 1:
 ===== dnsmasq ===== ===== dnsmasq =====
  
-Util para tener mas de un servidor DNS, y enviarle consultas en funcion del dominio que estemos buscando+==== Resolver nombres de /etc/hosts ====
  
-1. Instalar+**PROBLEMA**: queremos resolver nombres locales, como por ejemplo "localhost" 
 + 
 +1. Editar: 
 + 
 +  sudo cp /etc/dnsmasq.conf /etc/dnsmasq.conf.bak; sudo vim /etc/dnsmasq.conf 
 +   
 +Y anyadir la siguiente linea al final: 
 + 
 +  local=/localnet/ 
 + 
 +2. (Si NO tenemos el paquete resolvconf instalado) Editar: 
 + 
 +  sudo cp /etc/resolv.conf /etc/resolv.conf.bak; sudo vim /etc/resolv.conf 
 + 
 +Y dejarlo asi: 
 + 
 +  nameserver 127.0.0.1 
 + 
 +3. Reiniciar el servicio: 
 + 
 +  sudo service dnsmasq restart 
 + 
 +4. Probar. Si tenemos este archivo: 
 + 
 +<code> 
 +/etc/hosts 
 +192.168.1.2 localhost 
 +</code> 
 + 
 +Hacemos: 
 + 
 +  nslookup localhost 
 + 
 +==== dnsmasq con 2 VPNs ==== 
 + 
 +Escenario: 
 + 
 +  * Tenemos 1 o mas conexiones a VPN y queremos resolver nombres locals, tipo "*.local.example.com" apuntando al servidor DNS que toque, al cual solo podremos acceder **DESPUES** de conectarnos a la VPN 
 +  * Tenemos los siguientes servicios corriendo: networkmanager, openvpn y dnsmasq 
 +  * **NO** tenemos instalado el paquete resolvconf 
 + 
 +Limitaciones: 
 + 
 +  * Si al final de este proceso no existe un "/etc/resolv.conf" hay que crearlo, aunque sea vacio. De totr aforma parece que a docker no le gusta. Al arrancar un contenedor obtengo el siguiente error: 
 +<code> 
 +Error response from daemon: open /etc/resolv.conf: no such file or directory 
 +Error: failed to start containers: mariadb 
 +</code> 
 + 
 +^ Sufijo DNS de la red VPN ^ IP del servidor DNS ^ 
 +| local.example.com | 10.7.13.100 | 
 + 
 +1. Comenzamos por NetworkManager. Editamos archivo de configuracion: 
 + 
 +  sudo cp /etc/NetworkManager/NetworkManager.conf /etc/NetworkManager/NetworkManager.conf.bak 
 +  sudo vim /etc/NetworkManager/NetworkManager.conf 
 + 
 +Y lo dejamos tal que asi: 
 + 
 +<code> 
 +[main] 
 +plugins=ifupdown,keyfile 
 +dns=none 
 +#dns=dnsmasq 
 + 
 +[ifupdown] 
 +managed=false 
 +</code> 
 + 
 +2. Instalar dnsmasq
  
   sudo apt-get install dnsmasq   sudo apt-get install dnsmasq
  
-2. Editar:+3. Editar:
  
 +  sudo cp /etc/dnsmasq.conf /etc/dnsmasq.conf.bak
   sudo vim /etc/dnsmasq.conf   sudo vim /etc/dnsmasq.conf
  
-Y anyadirle una linea como esta:+Y anyadirle al final una linea como esta:
  
-  server=/local.example.com/10.0.0.10 +  server=8.8.8.8
-  server=/0.0.10.in-addr.arpa/10.0.0.10+
  
-3Editar:+4Ahora vamos a crear un archivo de configuracion para la primera VPN:
  
-  sudo vim /etc/resolv.conf+  sudo vim /etc/dnsmasq.d/example
  
 Y dejarlo asi: Y dejarlo asi:
  
-  nameserver 127.0.0.1+<code> 
 +server=/local.example.com/10.7.13.100 
 +server=/0.17.10.in-addr.arpa/10.7.13.100 
 +#rev-server=10.17.0.0/24,10.7.13.100 
 +</code>
  
-Ojoasegurarnos que no hay nada (DHCP, etc...) que altera este archivo. Consultar el paquete 'resolvconf'+Notahe editado la directiva "rev-server" porque me generaba algun problema que ahora mismo no tengo documentado.
  
-4. Reiniciar:+5. Reiniciar servicios por si Ascaso:
  
 +  sudo service NetworkManager restart  
 +  sudo service openvpn restart
   sudo service dnsmasq restart   sudo service dnsmasq restart
  
-Ahora todo lo que sea *.local.example.com lo resuleve el DNS en la IP 10.0.0.10, y tambien intenta los DNS reversos 
informatica/linux/dnsmasq.txt · Last modified: 2019/07/31 13:03 by javi