===== 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