Table of Contents
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