Como configuro a resolução de DNS se o resolvconf não funcionar?

0

Meu /etc/resolv.conf não será gravado, portanto, a resolução de DNS não está funcionando.

Estou executando o Ubuntu Server 16.04.1 LTS em uma máquina virtual em nosso servidor de escritório.

Este é o meu /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á vazio)

Já tentei executar sudo dpkg-reconfigure resolvconf e sudo ln -sf /run/resolvconf/resolv.conf /etc/resolv.conf como mencionado em esta resposta . Mas meu /etc/resolv.conf ainda permanece vazio:

# 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

O que mais eu posso tentar recuperar a resolução de DNS neste servidor?

NOTA: A mesma configuração funciona nos outros 5 servidores que executam o Ubuntu em outras VMs no mesmo hardware.

Todos eles mostram /etc/resolv.conf like

# 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

e para essa resolução de DNS funciona perfeito.

Existe alguma configuração que está faltando?

Apenas no caso eu também adicionei meu /etc/iptables.up.rules (que também é mais ou menos o mesmo em todos os 6 servidores e) que eu configurei tomando algumas dicas de este guia :

*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
    
por derHugo 21.09.2017 / 09:55

2 respostas

4

Você pode tentar atualizar os servidores DNS em

/etc/resolvconf/resolv.conf.d/base

execute

sudo resolvconf -u

para gerar novamente o arquivo resolv.conf .

    
por Nicolas Papoutsis 21.09.2017 / 10:05
0

No meu conhecimento, é melhor não editar o resolv.conf, e isso ocorre porque o gerenciador de rede atualizaria tudo o que você escreveu à mão, a cada reinicialização da rede ou reinicialização. Então eu usaria o comando nmcli:

nmcli con mod ens3 +ipv4.dns 192.168.222.1 8.8.8.8
nmcli con up ens3

O gerenciador de rede é instalado por padrão na maioria das distribuições baseadas no ubuntu, então eu suponho que esse também seria o caso. Espero que isso ajude!

    
por S.Ith 21.09.2017 / 10:24