¿Cómo configuro mi DNS estático en las interfaces?

60

Estoy usando Ubuntu 12.04.

Mi /etc/network/interfacesarchivo consta de:

# The loopback network interface  
auto lo  
iface lo inet loopback  


# The primary network interface  
auto eth0 
iface eth0 inet static  
address 192.168.1.58  
gateway 192.168.1.1
network 192.168.1.0  
broadcast 192.168.1.255
dns-nameservers 66.212.63.228 66.212.48.10  

Ejecuté el comando: /etc/init.d/networking restart

Que respondió con:

*Running /etc/init.d/networking restart is deprecated because it may not enable again some interfaces  
*Reconfiguring network interfaces...  
RTNETLINK answers: File exists  
Failed to bring up eth0  
[ OK ]  

Luego ejecuté ping google.com y recibí:

ping: unknown host google.com

No estoy seguro de si mis interfaces se actualizaron. ¿Cómo configuro correctamente mi red con mis direcciones DNS estáticas?

dottedquad
fuente
1
Reinicie su computadora. No ejecute /etc/init.d/networking restart. El error es causado por la ruta predeterminada ya existente. Esta configuración me parece correcta.
Matt H
2
Como dice Matt H, /etc/network/interfaceses exigente con las cosas que ya existen. Puede tener una configuración perfecta, pero ya tiene algo allí, y se quejará. Si se trata de la ruta predeterminada de la que se queja, puede eliminarla ejecutando ip route del defaultpara llevar la computadora a un estado en el que pueda entregar la administración de estas cosas a/etc/network/interfaces
Azendale
Network-manager ha reclamado otra víctima. Solo borra esa basura.
Búho

Respuestas:

24

A medida que el interrogador da el contenido de su /etc/network/interfaces, infiero que está usando ifup para configurar interfaces. Pero como en realidad puede estar usando NetworkManager, lo discutiré también.

Si está usando ifup, entonces entra la configuración de DNS /etc/network/interfaces. Para cada interfaz, agregue las dns-*opciones apropiadas para los servidores de nombres disponibles en esa interfaz. Por ejemplo, si un servidor de nombres en la dirección 1.2.3.4 está disponible a través de la interfaz eth0, agréguelo dns-nameservers 1.2.3.4a la iface eth0stanza.

Si está utilizando NetworkManager, la configuración se ingresa en el Editor de conexiones (indicador de red | Editar conexiones ...) en la pestaña Configuración de IPv4.

Hacer /etc/init.d/networking restartpara reconfigurar interfaces está en desuso. Si está utilizando ifup, primero ifdowncada interfaz de red activa, luego ifupcada interfaz. Si está utilizando NetworkManager, primero, deshabilite las redes utilizando el indicador (parte superior del escritorio); luego abre una terminal y ejecuta

sudo /etc/init.d/network-manager restart

y luego habilite las redes usando el indicador.

O simplemente puede reiniciar.

En cuanto al hecho que /etc/init.d/networking restartresultó en

RTNETLINK answers: File exists
Failed to bring up eth0  

Esto significa que ifupdown piensa que eth0ya está arriba. Use ifdown --force eth0para hacer ifupdownque deje de creer que ya ha configurado la interfaz.

Con respecto al mensaje "obsoleto", este mensaje ya no se imprime en Ubuntu 12.10, pero aún debe tener en cuenta que los initscripts están "saliendo". Para reiniciar un servicio foo, use service foo restarto restart foo. Tenga en cuenta también que si desea reconfigurar sus interfaces, es mejor desactivarlas una por una que confiar en reiniciar la "conexión en red".

jdthood
fuente
17

Si ninguno de los anteriores funciona, tenga en cuenta que Ubuntu agrega un tailarchivo al archivo resolv.conf que genera.

Prueba esto:

sudo nano /etc/resolvconf/resolv.conf.d/tail

Lo que abrirá un archivo resolv.conf.d en blanco en el editor de nano text. Deberá colocar la dirección de su servidor DNS en la primera línea de este archivo y recordar finalizar la línea con un retorno de carro (presione enter) como se ve a continuación:

nameserver 10.20.1.2

Editar el archivo de cola en lugar del archivo resolv.conf real evitará que su cambio se pierda al reiniciar el sistema.

Deberá ejecutar sudo resolvconf -upara activar el cambio. Debería poder hacer ping a google.com después de esto. ¡Buena suerte!

Sean Huggans
fuente
Suena bien, pero mi sistema Ubuntu 14.04 no usó este archivo de cola. Entonces esta no es una solución en mi caso. Gracias sin embargo.
James T Snell
11

Versión de línea de comando:

Debe agregar sus servidores de nombres para /etc/resolvconf/resolv.conf.d/basepresentar de esta manera:

nameserver 66.212.63.228 
nameserver 66.212.48.10
pl1nk
fuente
Tendré que probar este método en unas pocas horas y responderle. ¿Sabes por qué recibo el mensaje en desuso y no puedo mostrar el mensaje eth0?
dottedquad
1
Puede usar esto: $ ifdown eth0 && ifup eth0Lea más sobre este problema aquí .
pl1nk
1
@dottedquad lo que es cambiar el archivo / etc / network / interfaces para esto: auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.1.58 gateway 192.168.1.1 network 192.168.1.0 broadcast 192.168.1.255Tenga cuidado de que esto: auto eth0 iface eth0 inet statices de dos líneas
pl1nk
1
Es mejor agregar información del servidor de nombres a las conexiones de NetworkManager (si está usando NetworkManager) como se describe en bodhi.zazen, o para definir las definiciones en / etc / network / interfaces (si está usando ifup) que agregar la información estática y globalmente a /etc/resolvconf/resolv.conf.d/base.
jdthood
1
@jdthood ¡Parece que has visto mis comentarios y la pregunta, así como las otras respuestas! Algunos comentarios suben [..] "Podría usar esto: $ ifdown eth0 && ifup eth0" [..]
pl1nk
11

Todas las respuestas que se relacionan con / etc / network / interfaces indican incorrectamente en dns-nameserverslugar de dns-nameserver: a continuación, deberían funcionar:

auto wlan0
iface wlan0 inet static
address 192.168.1.28
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameserver 8.8.8.8
dns-nameserver 8.8.4.4
dns-search something.network.com

(probado en Ubuntu 15.04)

babelmonk
fuente
8
Cuidado. Acabo de confirmar que dns-nameserver(singular) no funciona en RaspberryPi + Raspian Jesse. Descubrí que tenía que usar dns-nameservers(plural). YMMV y todo eso, solo tratando de ayudar a la próxima persona ...
evadeflow 05 de
2
Consulte su página de manual resolvconf (8) para ver el uso y las opciones. En Ubuntu 16.04.3 LTS dice que usa una o más líneas dns-nameserver con una sola dirección IP por línea, o puede usar dns-nameservers y una lista de direcciones IP separadas por espacios.
jla
dns-nameservero dns-nameservers? porque wiki.ubuntu.com/KvmWithBridge dice "servidores" ...
Thufir
Definitivamente no funciona para mí. No puedo votar, todavía no hay suficientes puntos.
Búho
¡Sí, esto es bueno y consistente! Perdón por la confusión, verifique ambos y verifique los comentarios anteriores ya que parece que las variantes de Ubuntu / Debian / Raspian son diferentes.
babelmonk
6

El método más sencillo para configurar sus servidores DNS es usar NetworkManager

En IPv4, complete sus servidores DNS

ingrese la descripción de la imagen aquí

Pantera
fuente
2
Olvidé mencionar que no tengo unidad o gnomo instalado. Gnome installatio es mi próximo proyecto.
dottedquad
No me dejará guardar esto. ¿Por qué podría ser eso?
josh
4

Pude solucionar esto en una instalación sin cabeza del servidor ubuntu agregando

nameserver 8.8.8.8

... después de las cosas relevantes de la interfaz en / etc / network / interfaces:

auto wlan0
iface wlan0 inet static
address 192.168.1.28
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8
dns-nameservers 8.8.4.4

Espero que esto ayude a los usuarios posteriores!

corq
fuente
para se dns-nameserverspuede separar por coma 8.8.8.8, 8.8.4.4?
Thufir
1
@Thufir spaces wiki.debian.org/NetworkConfiguration
Philippe Gachoud
4

Nota: usando cuidadosamente sin acceso directo en la máquina, esto cortará la conexión ...

yo suelo

sudo ifdown eth0

entonces

sudo ifup eth0

Se restablecerá y liberará todo ...

Si se enfrenta a errores relacionados con la configuración, puede usar:

sudo ifdown eth0 --force
usuario294233
fuente
3

Esto funciono para mi

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

y añadir:

nameserver <add your router ip>

Correr:

sudo resolvconf -u

Yo uso la instalación central del servidor ubuntu.

Bongo
fuente
2

Falta una especificación de subred en el archivo de interfaces.

Agregue máscara 255.255.255.0de red /etc/network/interfacesdebajo de la línea de red.

Brian
fuente
1

Por alguna razón, la dns-nameserversdeclaración no hace nada en mi caso. Y las otras respuestas no están en el libro, ya que omiten, dnsmasqya que se utiliza en Ubuntu.

Para hacer esto bien, edite /etc/dnsmasq.conf

Agregue sus servidores de nombres al final del archivo:

server=8.8.8.8
server=8.8.4.4

Reinicie dnsmasq para usar la nueva configuración: sudo service dnsmasq restart

Crédito: https://unix.stackexchange.com/a/163506/187949

DustWolf
fuente
1

Tuve este problema Pensé que me estaba volviendo loco. Cada vez que editaba /etc/resolv.conf, borraba mi configuración. Resulta que lunatic total ha distribuido Debian con Network-Manager, que está sobrescribiendo todas las configuraciones de mi red.

Así es como lo arreglé:

1) sudo apt-get purge network-manager

Esto elimina esta nueva herramienta horrenda que impide que todas las configuraciones funcionen correctamente.

2) Edite el /etc/network/interfacesarchivo:

# 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

auto enp0s25
iface enp0s25 inet static
        address 192.168.1.2
        netmask 255.255.255.0
        gateway 192.168.1.1

3) Editar /etc/resolv.conf:

nameserver 8.8.8.8
nameserver 8.8.4.4

4) reiniciar.

Felicidades, ahora tienes configuraciones sanas que funcionan de nuevo.

Búho
fuente
0

También puede configurar esa interfaz en otro archivo, ya que tiene más puertas de enlace.

Los detalles están aquí .

antivirtel
fuente