Obtenha IP do servidor DHCP, mas configure os servidores DNS estaticamente no Debian

1

Eu tenho um sistema Debian que obtém seu IP de um servidor DHCP, com meu próprio servidor bind9 rodando em localhost . Toda vez que eu inicializo, eu tenho que escrever nameserver 127.0.0.1 to /etc/resolv.conf , como o sistema atualiza o arquivo para coincidir com o servidor DNS atribuído pelo DHCP. Para tentar evitar que resolv.conf seja atualizado com as informações do servidor DNS do servidor DHCP da minha rede, tentei escrever o seguinte em /etc/network/interfaces :

iface eth0 inet dhcp
    dns-nameservers 127.0.0.1

mas isso só funciona quando o sistema tem um IP estático.

Então, como posso evitar que /etc/resolv.conf seja substituído pelo servidor DNS atribuído pelo servidor DHCP, sem fornecer ao meu sistema um IP estático?

Eu uso dhclient .

    
por Billy 23.02.2017 / 01:51

4 respostas

4

Se tiver certeza de que está usando dhclient . Você pode:

1. Alterar dhclient setting (recommendedded)

Edite o arquivo /etc/dhcp/dhclient.conf , pesquise domain-name-servers, e exclua-o da linha:

request subnet-mask, broadcast-address, time-offset, routers,
    domain-name, domain-name-servers, domain-search, host-name,
    dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers,
    netbios-name-servers, netbios-scope, interface-mtu,
    rfc3442-classless-static-routes, ntp-servers;

2. Impedir que /etc/resolv.conf seja sobregravado

Executando o seguinte comando como root ou usando sudo para que ele não seja substituído novamente:

chattr -i /etc/resolv.conf

É mais ou menos uma pergunta duplicada para Não é possível definir DNS estático no debian . Mas não posso comentar, então acrescento essa resposta.

    
por 09.11.2017 / 11:09
0

Remova o pacote resolvconf e seu próprio /etc/resolv.conf não será sobrescrito.

    
por 23.02.2017 / 19:23
0

Depende inteiramente de onde você está obtendo seu DHCP.

Nos meus sistemas (Ubuntu 16.04) eu tenho o pacote "isc-dhcp-server" instalado.

Em seguida, mudei OFF do recurso DHCP no meu roteador / wifi / hub para que a única fonte de DHCP em minha rede fosse meu próprio servidor.

Uma vez feito isso, eu instalei o "Webmin" e usei as ferramentas do navegador para configurar meu servidor DHCP para que ele

  • a) Sempre distribui o endereço do servidor DNS para os clientes DHCP que eu queria
  • b) Defina um intervalo específico de endereços IP para distribuir como DHCP para minha rede
  • c) Defina um número de endereços IP estáticos baseados inteiramente no endereço MAC que o solicita.

Aqui está uma amostra diluída do meu arquivo de configuração /etc/dhcp/dhcpd.conf

ddns-updates off;
ddns-update-style none;
option time-servers 192.168.1.3;
option routers 192.168.1.1;
option domain-name "myinternal.domain.name";
option domain-name-servers 192.168.1.2;

default-lease-time 1800;
max-lease-time 7200;
authoritative;
log-facility local7;

get-lease-hostnames true;

subnet 192.168.1.0 netmask 255.255.255.0 {
  option time-servers 192.168.1.3;
  option ntp-servers 192.168.1.3;
  option domain-search "myinternal.domain.name";
  authoritative;
  ddns-updates off;
  range 192.168.1.200 192.168.1.254;
  option domain-name-servers 192.168.1.2;
  option domain-name "myinternal.domain.name";
  option routers 192.168.1.1;
  option broadcast-address 192.168.1.255;
  default-lease-time 1800;
  max-lease-time 7200;
  }

group {

  use-host-decl-names on;

# Physical lan machines that MUST always have the same IP address

  # DNS Server
  host dnsmachine {
    hardware ethernet 12:12:12:12:12:12; <--- REPLACE THIS WITH THE MACHINES ACTUAL MAC ADDRESS
    fixed-address 192.168.1.2;
  }

  # Time server
  host timemachine {
    hardware ethernet 12:12:12:12:12:12; <--- REPLACE THIS WITH THE MACHINES ACTUAL MAC ADDRESS
    fixed-address 192.168.1.3;
  }

}

Ele pressupõe que você tenha uma sub-rede de classe C (máscara de 24 bits) que permite endereços de 192.168.1.0 a 192.168.1.255

.0 e .255 são sempre reservados para difusão e outros usos especiais, o que significa que seu alcance efetivo é de 192.168.1.1 a 192.168.1.254

Nós definimos a configuração do DNS para usar "my.internal.domain.name" como seu nome de domínio local. Este é o seu nome de domínio local privado dentro da sua rede e registrado em seu próprio DNS local privado.

Você não precisa ter um servidor de horário de rede, mas para maior integridade adicionei um junto com um servidor DNS em 192.168.1.2 e 192.168.1.3 respectivamente

Defina o intervalo DHCP geral (IE: Aleatório) para ir de 192.168.1.200 a 192.168.1.254, fornecendo a você 54 endereços DHCP normais para serem entregues conforme a necessidade, você pode aumentar ou diminuir conforme necessário. Por exemplo, se você tiver apenas .2 & .3 como seus únicos endereços fixos, então você poderia definir o início para 192.168.1.4 se quisesse.

A parte inferior da configuração define duas máquinas de endereço fixo. Essas máquinas identificadas pelo endereço MAC apropriado receberão SEMPRE os endereços IP fixos especificados, isso é importante para máquinas que atuam como servidores (como DNS), pois sempre garante que elas possam ser encontradas no mesmo endereço.

Nossa configuração principal para as concessões DHCP aleatórias distribui os mesmos IPs fixos do DNS & Endereços do servidor de horário que serão relatados aos clientes que os solicitam.

Tudo o que você precisa fazer é configurar as máquinas cliente para obter TODOS os detalhes inteiramente do DHCP e, desde que o serviço DHCP responda e nenhum outro, eles sempre receberão a configuração que você especificar.

    
por 24.02.2017 / 01:39
-1

edite o arquivo de rede / etc / network / interfaces. e adicione PEERDNS="não". Isso funciona no Fedora. Espero que este trabalho no Debian. Você também pode usar o chattr. para que ninguém possa modificar o arquivo.

    
por 24.02.2017 / 00:42