Todos os endereços estaticamente atribuídos, mas o dhcpcd ainda é executado?

1

Eu tenho uma VM (no ESXi 5.1.0) rodando Debian Wheezy (7.0).

eth0 tem um endereço estaticamente atribuído. eth1 foi atribuído pelo DHCP e agora quero torná-lo estático.

Aqui está meu antigo /etc/network/interfaces :

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo eth0 eth1
iface lo inet loopback

# The primary network interface
allow-hotplug eth0 eth1
iface eth0 inet static
 address 10.2.1.77
 broadcast 10.2.1.255
 netmask 255.255.255.0
 pointopoint 10.2.1.1

iface eth1 inet dhcp

E aqui está o meu novo /etc/network/interfaces :

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo eth0 eth1
iface lo inet loopback

# The primary network interface
allow-hotplug eth0 eth1
iface eth0 inet static
 address 10.2.1.77
 broadcast 10.2.1.255
 netmask 255.255.255.0
 pointopoint 10.2.1.1

iface eth1 inet static
        address 10.1.0.254
        netmask 255.255.255.0
        gateway 10.1.0.1
        dns-nameservers 8.8.8.8

Quando eu reinicializo, consigo ver dhcpcd tentar renovar meu contrato para meu antigo endereço atribuído por DHCP e ser bem-sucedido. E então ele sobrescreve /etc/resolv.conf , que deve conter 8.8.8.8, mas não contém. eth1 tem o endereço correto (estático), no entanto.

O que estou fazendo de errado aqui? Eu não quero desabilitar dhcpcd definitiva. Num futuro próximo, eu posso mudar a eth1 de volta para o DHCP ou adicionar uma terceira interface atribuída pelo DHCP.

    
por craig65535 05.02.2013 / 22:48

5 respostas

0

Isso é causado por uma limitação em dhcpcd5 - ele habilita o DHCP em todas as interfaces (tudo ou nada). Corrigi isso mudando para isc-dhcp-client , que é mais flexível.

    
por 07.10.2015 / 20:26
2

Executar (como root):

update-rc.d -f dhcpd remove

Se você quiser reativá-lo no futuro,

update-rc.d dhcpd defaults

NOTA: removê-lo do rc.d irá desativá-lo em todas as interfaces. A restauração será ativada em todas as interfaces.

    
por 05.02.2013 / 23:09
2

Se você estiver usando o dhcpcd (o daemon do cliente, a maioria das pessoas aqui está confundindo-o com DHCP e DHCPd, que é diferente), adicione o seguinte texto na parte inferior de /etc/dhcpcd.conf

static
interface eth0
static ip_address=172.16.0.5/24
static routers=172.16.0.1
static domain_name_servers=8.8.8.8

É claro que lembre-se de substituir as informações de IP pelos detalhes da sua rede.

    
por 21.11.2015 / 07:38
2

A página man do dhcpcd nos diz:

denyinterfaces pattern

         When discovering interfaces, the interface name must not match
         pattern which is a space or comma separated list of patterns
         passed to fnmatch(3).

Para impedir que o dhcpcd opere em uma interface, você pode pedir para deixar a interface sozinha, adicionando a linha ao /etc/dhcpcd.conf.

no caso dos OPs, isso seria:

denyinterfaces eth0

Isso deve impedir que o dhcpcd mexa com você nessa interface específica, deixando o dhcpcd ativado. Isso também permite manter a configuração da interface em / etc / network / interfaces. A outra opção é usar o que o Ariffer sugeriu (usando /etc/dhcpcd.conf para fazer sua configuração ao invés de / etc / network / interfaces).

    
por 25.05.2018 / 21:30
0

Você pode desativar o serviço. link

O método preferido seria atualizar o arquivo /etc/sysconfig/network-scripts/ifcfg-* para o dispositivo removendo a linha dhcp (ou alterando-a para falso)

Infelizmente, não estou na frente da minha máquina linux agora, então não consigo fazer a configuração exata para você.

    
por 05.02.2013 / 23:12