Alterar o nome da pesquisa padrão

7

Minha VM do servidor Ubuntu12 está recebendo seu endereço IP de um servidor DHCP (na verdade, meu roteador WLAN chamado Fritz Box). Portanto, todos os nomes de domínio são resolvidos para machinename.fritz.box . O motivo parece ser o arquivo resolv.conf em /etc .

Mas como posso alterar esse nome de pesquisa para um nome arbitrário, como xyz.mydomain ? Diz claramente para não editar o arquivo . A própria máquina está definida como ubuntu.xyz.mydomain in hostname . O que eu quero é que machine1 seja assumido como machine1.xyz.mydomain e NOT (!) machine1.fritz.box .

# 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.0.1
search fritz.box # shall be xyz.mydomain
    
por Horst Walter 07.02.2013 / 19:52

3 respostas

7

resolvconf é um programa para gerenciar o arquivo resolv.conf para que várias origens possam adicionar e remover entradas sem tropeçar umas nas outras. O gerente de cada interface de rede alimenta um arquivo resolv.conf para essa interface e os mescla todos juntos.

resolvconf deve ser executado por scripts de rede ou clientes DHCP, mas você também pode executá-lo por conta própria. As entradas que você faz precisam estar associadas a uma interface; A interface " lo " é ideal para entradas administradas localmente, porque está sempre ativa, não é gerenciada dinamicamente e suas entradas têm prioridade sobre outras interfaces. Então:

echo 'search xyz.mydomain' | resolvconf -a lo

adicionará xyz.mydomain ao início da lista de pesquisa. Isso persistirá até você executar resolvconf -d lo . (Os scripts de rede também podem ser executados se você usá-los para desativar a interface lo .)

Você pode tornar isso mais permanente, fazendo com que os scripts de redes o manipulem para você. No Ubuntu ou em outras distribuições da família Debian, edite seu arquivo /etc/network/interfaces da seguinte forma:

iface lo inet loopback         # This line already present
    dns-search xyz.mydomain    # Add this line beneath it

Para mais informações:

por 07.02.2013 / 21:32
5

A melhor maneira de fazer isso é configurar seu roteador WLAN corretamente, de modo que ele forneça nomes de domínio totalmente qualificados (FQDN) aos seus hosts.

Se o roteador WLAN serve hosts no domínio myhome.org, configure-o como wlan-router.myhome.org. É provável que use seu próprio nome de domínio como o valor a ser entregue aos clientes.

Um DHCP completo tem uma opção para definir este valor para sistemas clientes:

option domain-search "example.com", "sales.example.com", "eng.example.com";

mas é improvável, embora possível, que você possa definir essas opções de DHCP no seu roteador WLAN.

Se você estiver realmente travado, você pode editar o resolv.conf, ele será simplesmente atacado toda vez que você executar o dhcp client. Você pode escrever um script para atualizá-lo todas as vezes, mas isso é menos do que ideal e provavelmente causará dor se esse for um sistema móvel, como um laptop.

    
por 07.02.2013 / 21:01
4

Sem saber como alterar isso no roteador, uma maneira é configurar o IP estático na VM.

Modifique /etc/network/interfaces da seguinte forma.

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
    address 192.168.0.X
    netmask 255.255.255.0
    network 192.168.0.0
    broadcast 192.168.0.255
    gateway 192.168.0.1
    # dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers 192.168.0.1
    dns-search xyz.mydomain

Altere 192.168.0.X para o endereço IP que você deseja atribuir à VM. Deve estar fora do alcance do dhcp.

O dns-nameservers e dns-search configurarão seu /etc/resolv.conf .

    
por 07.02.2013 / 21:34