Mi /etc/resolv.conf no se escribirá, por lo que la resolución DNS no funciona.
Estoy ejecutando Ubuntu Server 16.04.1 LTS en una máquina virtual en el servidor de nuestra oficina.
Este es mi /etc/network/interfaces:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto ens3
iface ens3 inet static
address 192.168.222.104
netmask 255.255.255.0
gateway 192.168.222.1
gateway 192.168.222.1
dns-nameservers 192.168.222.1 8.8.8.8
dns-search internal.domain
post-up iptables-restore < /etc/iptables.up.rules
(/etc/network/interfaces.d está vacío)
Ya intenté ejecutar sudo dpkg-reconfigure resolvconf y sudo ln -sf /run/resolvconf/resolv.conf /etc/resolv.conf como se menciona en esta respuesta. Pero mi /etc/resolv.conf todavía permanece vacío:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
¿Qué más puedo intentar para recuperar la resolución DNS en este servidor?
NOTA:
La misma configuración funciona en los otros 5 servidores que ejecutan Ubuntu en otras máquinas virtuales en el mismo hardware.
Todos muestran un archivo similar a /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.222.1
nameserver 8.8.8.8
search internal.domain
y para aquellas resoluciones DNSencendido funciona perfecto.
¿Me falta alguna configuración?
Por si acaso, también agregué mi /etc/iptables.up.rules (que también es más o menos igual en los 6 servidores) que configuré siguiendo algunos consejos de esta guía:
*filter
# Allow all outgoing, but drop incoming and forwarding packets by default
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
# Custom per-protocol chains
:UDP - [0:0]
:TCP - [0:0]
:ICMP - [0:0]
# Acceptable UDP traffic
# Acceptable TCP traffic
-A TCP -p tcp --dport 22 -j ACCEPT
-A TCP -p tcp --dport 80 -j ACCEPT
-A TCP -p tcp --dport 443 -j ACCEPT
-A TCP -p tcp --dport 10000 -j ACCEPT
# Acceptable ICMP traffic
-A ICMP -p icmp -j ACCEPT
# Boilerplate acceptance policy
-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-A INPUT -i lo -j ACCEPT
# Drop invalid packets
-A INPUT -m conntrack --ctstate INVALID -j DROP
# Pass traffic to protocol-specific chains
## Only allow new connections (established and related should already be handled)
## For TCP, additionally only allow new SYN packets since that is the only valid
## method for establishing a new TCP connection
-A INPUT -p udp -m conntrack --ctstate NEW -j UDP
-A INPUT -p tcp --syn -m conntrack --ctstate NEW -j TCP
-A INPUT -p icmp -m conntrack --ctstate NEW -j ICMP
# Reject anything that's fallen through to this point
## Try to be protocol-specific w/ rejection message
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -j REJECT --reject-with tcp-reset
-A INPUT -j REJECT --reject-with icmp-proto-unreachable
# Commit the changes
COMMIT
*raw
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
*security
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
------------Respuesta------------
Puedes intentar actualizar el DNSservidores en
/etc/resolvconf/resolv.conf.d/base
luego ejecuta
sudo resolvconf -u
para regenerar el archivo resolv.conf.
------------Respuesta------------
Que yo sepa, es mejor no editar resolv.conf, y eso se debe a que el administrador de red actualizaría todo lo que haya escrito a mano, con cada reinicio de la red o reinicio. Entonces usaría el comando nmcli:
nmcli con mod ens3 +ipv4.dns 192.168.222.1 8.8.8.8
nmcli con up ens3
El administrador de red está instalado de forma predeterminada en la mayoría de las distribuciones basadas en Ubuntu, así que supongo que ese también sería el caso. ¡Espero que esto ayude!