===== dnsmasq =====
==== Resolver nombres de /etc/hosts ====
**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:
/etc/hosts
192.168.1.2 localhost
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 otra forma parece que a docker no le gusta. Al arrancar un contenedor obtengo el siguiente error:
Error response from daemon: open /etc/resolv.conf: no such file or directory
Error: failed to start containers: mariadb
^ 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:
[main]
plugins=ifupdown,keyfile
dns=none
#dns=dnsmasq
[ifupdown]
managed=false
2. Instalar dnsmasq
sudo apt-get install dnsmasq
3. Editar:
sudo cp /etc/dnsmasq.conf /etc/dnsmasq.conf.bak
sudo vim /etc/dnsmasq.conf
Y anyadirle al final una linea como esta:
server=8.8.8.8
4. Ahora vamos a crear un archivo de configuracion para la primera VPN:
sudo vim /etc/dnsmasq.d/example
Y dejarlo asi:
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
Nota: he editado la directiva "rev-server" porque me generaba algun problema que ahora mismo no tengo documentado.
5. Editar:
sudo vim /etc/resolv.conf
Con el siguiente contenido:
nameserver 127.0.0.1
6. Reiniciar servicios por si Ascaso:
sudo service NetworkManager restart
sudo service openvpn restart
sudo service dnsmasq restart