Definindo o IP com dhcpcd

2

Eu tenho uma configuração em que meu sistema está na rede doméstica normal conectada ao roteador. O roteador atribui o IP ao meu dispositivo sem problemas.

Eu gostaria de usar o mesmo IP todas as vezes para o meu dispositivo. Defina-o como estático ou como preferencial. Este é um ambiente totalmente controlado, portanto, não deve haver problemas em obter o IP preferido do DHCP.

Atualização: Eu não posso mudar nada no lado do servidor DHCP, eu preciso chegar a uma solução do lado do cliente. O servidor é ICS e não pode ser configurado.

Perguntas

Minha pergunta é: isso é possível via dhcpcd ? Posso usar um IP estático com dhcpcd ? Ou mesmo preferido? Eu não posso evitar o uso de dhcpcd por causa de alguns requisitos não relacionados.

Feito até agora

O que tentei até agora é adicionar essas linhas ao arquivo /etc/dhcpcd.conf :

interface eth0
        static ip_address=192.168.1.135/24
        static routers=192.168.1.1
        static domain_name_servers=8.8.8.8

Isto é o que dizem as páginas de manual para dhcpcd.conf :

static value

         Configures a static value.  If you set ip_address then dhcpcd
         will not attempt to obtain a lease and just use the value for the
         address with an infinite lease time.

         Here is an example which configures a static address, routes and
         dns.
               interface eth0
               static ip_address=192.168.0.10/24
               static routers=192.168.0.1
               static domain_name_servers=192.168.0.1

Mas o problema é que, mesmo quando faço isso, só consigo ver meu dispositivo usando esse IP por um tempo após o que parece ser perdido e substituído por outro IP provavelmente atribuído via DHCP (é o próximo na piscina eu acho).

Aqui está o meu conteúdo completo do arquivo dhcpcd.conf :

# Inform the DHCP server of our hostname for DDNS.
hostname

# Use the same DUID + IAID as set in DHCPv6 for DHCPv4 ClientID as per RFC4361.
duid

# Persist interface configuration when dhcpcd exits.
persistent

# Rapid commit support.
# Safe to enable by default because it requires the equivalent option set
# on the server to actually work.
option rapid_commit

# A list of options to request from the DHCP server.
option domain_name_servers, domain_name, domain_search, host_name
option classless_static_routes
# Most distributions have NTP support.
option ntp_servers

# A ServerID is required by RFC2131.
require dhcp_server_identifier

# A hook script is provided to lookup the hostname if not set by the DHCP
# server, but it should not be run by default.
nohook lookup-hostname
noipv4ll

interface eth0
        static ip_address=192.168.1.135/24
        static routers=192.168.1.1
        static domain_name_servers=8.8.8.8

Preciso adicionar mais algumas opções para informar ao DHCP que não preciso de um novo endereço IP ou algo assim? Ou eu entendi completamente o assunto em questão?

Eu tentei pesquisar por ajuda mais detalhada on-line, mas ou não há muita informação sobre esse assunto, ou, mais provavelmente, não sei o suficiente sobre o tópico para realizar uma pesquisa válida.

Qualquer ajuda é apreciada!

    
por bosnjak 05.06.2014 / 18:48

3 respostas

2

você precisa fazer uma reserva de MAC, assim:

host vnbandk3920.dsdk12.schoollocal {
   hardware ethernet 00:c0:ee:7d:bc:80;
   fixed-address 172.30.176.243;
}
    
por 05.06.2014 / 18:53
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=192.168.1.135/24
static routers=192.168.1.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:41
0

Você está tentando usar como endereço estático um que esteja dentro do pool de endereços do roteador? Se assim for, não há como dizer o que seu roteador fará. Verifique os pools de endereços do roteador na GUI e escolha um endereço fora do pool.

Você pode verificar se ainda sente tais fenômenos simplesmente parando o gerente da rede (presumo que você use um), dando a si mesmo um endereço,

  ip link set dev eth0 down
  ip addr flush dev eth0
  ip addr add 192.168.1.whatever/24 dev eth0
  ip link set dev eth0 up
  ip route add default via 192.168.1.1

sem usar o dhcpcd. Isso tem a vantagem de isolar o problema: se isso acontecer novamente, a culpa é do seu roteador, caso contrário, seria uma escolha incorreta do endereço IP estático.

    
por 05.06.2014 / 19:06

Tags