¿Cómo configurar el solucionador DNS en Fedora usando el administrador de red?

16

Quiero probar el DNS público de Google. Para esto necesito cambiar la dirección del servidor de nombres. Sé que está en el archivo /etc/resolv.conf, pero cada vez que comienzo network-manager, sobrescribe los valores en ese archivo con lo que obtiene al usar DHCP.

¿Cómo le digo que no lo haga? Miré a través de la GUI, pero solo pude encontrar una opción para agregar más direcciones IP.

A continuación se muestra el trofeo :)

ingrese la descripción de la imagen aquí

wvxvw
fuente

Respuestas:

11

Método 1

Busque el archivo de configuración de NetworkManager y agregue / modifique la siguiente entrada (en CentOS5 está en /etc/NetworkManager/nm-system-settings.confo /etc/NetworkManager/system-connections/) y edite su archivo de conexión DSL:

[ipv4]
method=auto
dns=8.8.8.8;4.2.2.2;
ignore-auto-dns=true

Nota: si [ipv4]no funciona, intente con[ppp]

Método 2

Puede cambiar el permiso /etc/resolv.confpara que otros servicios no puedan escribirlo o pueda usarlo chattr.

Método # 3

Cree una secuencia de comandos como se menciona a continuación /etc/Networkmanager/dispatcher.d/y no olvide hacerla ejecutable:

#!/bin/bash
#
# Override /etc/resolv.conf and tell
# NetworkManagerDispatcher to go pluck itself.
#
# scripts in the /etc/NetworkManager/dispatcher.d/ directory
# are called alphabetically and are passed two parameters:
# $1 is the interface name, and $2 is "up" or "down" as the
# case may be.

# Here, no matter what interface or state, override the
# created resolver config with my config.

cp -f /etc/resolv.conf.myDNSoverride /etc/resolv.conf

entrada de /etc/resolv.conf.myDNSoverride

nameserver 8.8.8.8
Rahul Patil
fuente
No :) Debe sobrescribirlo más tarde, después de recibir información del ISP. Pero esto me dio algunas ideas, voy a ir a través del estruendo network-scripts, tal vez es que hay alguna parte ...
wvxvw
Si el método # 3 no funciona, es posible que tenga más éxito editando, lo /etc/ppp/ip-up.localque aparentemente se llama una vez que pppd ha establecido la conexión.
Drav Sloan
@DravSloan Le agradezco su respuesta, funciona, pero he encontrado algún truco en Google que publiqué aquí ... veamos.
Rahul Patil
El # 1 funcionó para mí, ¡muchas gracias!
wvxvw
Al menos en Debian Jessie, el archivo nm-system-settings.conf no existe, aunque hay una página de manual para ello. La página del manual indica que nm-system-settings está en desuso con NetworkManager / NetworkManager.conf como el nuevo valor predeterminado.
jeremiah
7

Mira esto:

$ man NetworkManager.conf

Parece que si agrega una línea con dns=noneen la [main]sección, NetworkManager no se tocará /etc/resolv.conf.

rickhg12hs
fuente
1
No, no ayudó. Lo reescribió de todos modos. Por mucho que pude inferir de ese archivo, los complementos en esa sección están destinados al almacenamiento en caché de los registros DNS recuperados. Pero puedo estar equivocado.
wvxvw
2
¿Reinició el NetworkManager después de editar el archivo?
rickhg12hs
Deshabilité y habilité las redes a través del widget de KDE. Creo que esto debería reiniciarlo. Desafortunadamente, reiniciarlo service NetworkManager restartno funciona, no sé por qué: | no se conecta después de intentar reiniciarlo así.
wvxvw
Muy extraño que eso restartno funcione. No he experimentado eso en ninguno de los sistemas que he usado.
rickhg12hs
3
Ok, por lo que establecer dns=noneen /etc/NetworkManagerel Fedora 24 ... (existe también la edad PEERDNS=noneen /etc/sysconfig/network-scripts/ifcfg-${IFNAME}(tal como se describe aquí, por ejemplo ... es que todavía se utiliza) ... reiniciar toda la caja para comprobar Funciona?..
David Tonhofer
3

PPPD senario

Usar ppony ppoffprobablemente significa que estás usando pppd. En cuyo caso ponejecutará el script /etc/ppp/ppp_on_boot. A menos que proporcione un argumento a pon, cargará la configuración desde /etc/ppp/peers/provider. Si proporciona un argumento, dirá, por ejemplo pon interwebz, que buscará /etc/ppp/peers/interwebz. También hay /etc/ppp/optionsque verificar también.

Me imagino que este archivo contiene la configuración usepeerdns. Desde la página de manual de pppd:

usepeerdns
   Ask the peer for up to 2 DNS server addresses. The addresses supplied by the peer 
   (if any) are passed to the /etc/ppp/ip-up script in the environment variables 
   DNS1 and DNS2, and the environment variable USEPEERDNS will be set to 1. In 
   addition, pppd will create an /etc/ppp/resolv.conf file containing one or two
   nameserver lines with the address(es) supplied by the peer. 

Coméntela, parada pppdcon poff, editar tu resolv.confy reinicie el pppdcon pony ver si se soluciona el problema.

eth0 senario

Si edita el archivo de configuración de su interfaz ( /etc/sysconfig/network-scripts/ifcfg-eth0para eth0), puede ver qué configuración está usando el administrador de red.

Si tiene DHCP ejecutándose en esa interfaz BOOTPROTO=yes, puede decirle que no anule su configuración de DNS PEERDNS=no. Si está utilizando una dirección estática, puede establecer su configuración DNS

DNS1="8.8.4.4"
DNS2="8.8.8.8"
SEARCH="yourdomain.com"
Drav Sloan
fuente
Gracias, cerca, pero aún no. La interfaz que se utiliza es pppy no hay un ifcfg-ppparchivo correspondiente : |
wvxvw
¿Cómo se está creando su conexión punto a punto? ¿Cómo se configuró?
Drav Sloan
Lo interesante es que no sé cómo se creó. :) Lo único que sé es que pon, y poffmágicamente trabajo y que el NetworkManager es de algún modo capaz de utilizarlo. Mi primera suposición fue que debería haber sido pppoeconf, pero ni siquiera está instalado aquí ...
wvxvw
Actualizado para ver si puede cambiarlo con la configuración de pppd.
Drav Sloan
Muchas gracias por su tiempo, aunque al final utilicé la respuesta de Rahul Patil, ¡fue muy educativo!
wvxvw
2

Puede hacerlo en la GUI de configuración de Network Manager, aunque, por lo que puedo ver, debe hacerse por conexión y no puede hacerse globalmente, lo que significa que debe configurarlo individualmente para cada conexión wifi. (Eso es un poco molesto, pero también tiene una ventaja, ya que muchas redes wifi bloquean el DNS a cualquier cosa que no sea el servidor interno, para bien o para mal, por lo que es probable que la configuración individual sea necesaria para que las cosas funcionen).

En cualquier caso, en Fedora 19, vaya al cuadro "Configuración de red" que obtiene del menú desplegable de Network Manager o ejecute el panel de configuración de Conexiones de red. (¿Por qué son estos dos diferentes? Supongo que los cambios se están introduciendo gradualmente). En cualquier caso, puede editar cada conexión y, en cualquier interfaz, encontrar la pestaña IPv4.

En el configurador de Configuración de red, cambie Automático de Encendido a Apagado e ingrese las direcciones de Google. O, en la GUI de Conexiones de red, cambie el Método de "Automático (DHCP)" a "Solo direcciones automáticas (DHCP)" e ingrese nuevamente el DNS en el cuadro.

mattdm
fuente
1

Agregué dns=nonea la sección principal de /etc/Networkmanager/NetworkManager.conf, luego reinicié, lo que evitó que NetworkManager sobrescribiera la declaración de búsqueda en /etc/resolv.conf.

Jos
fuente