Como forçar o Linux a readquirir um novo endereço IP do servidor DHCP? Qual é o comando do Linux equivalente ao comando “ipconfig /renew” do Windows? Vejamos o comando Linux para forçar o cliente DHCP a liberar seu endereço IP.
Fique atento ao fato que liberar seu endereço IP sempre desativa sua interface de rede/WiFi. Portanto, tenha cuidado com sistemas remotos.
dhclient
O comando dhclient fornece um meio para configurar uma ou mais interfaces de rede usando o DHCP(Dynamic Host Configuration Protocol), o protocolo BOOTP ou, se esses protocolos falharem, atribuindo um endereço estaticamente.
Usar dhclient com a opção -r liberará seu endereço IP.
sudo dhclient -r
Omitir a opção -r fará com que seu DHCP emita um novo endereço IP com base em como ele foi configurado.
Agora obtenha um novo endereço IP usando DHCP no Linux
sudo dhclient
Algumas Outras Distros Usam um Cliente DHCP
O daemon do cliente DHCP para certas distribuições do Linux, como Raspbian GNU/Linux, Void Linux e outros é usado ao invés do dhclient acima.
Como sei que estou usando o dhcpd como um cliente ou servidor DHCP? Use o comando whatis ou man. Por exemplo, use um dos comandos abaixo:
$ whatis dhcpcd
$ man dhcpcd
$ man dhcpcd | col -b | head -30
Se nenhum dos comandos acima retornar nada, então tente whatis dhclien e se obtier resultado restará usando dhclient ao invés do cliente DHCPD
Liberando IP com Cliente DHCPD
Se por acaso seu cliente DHCP for o DHCPD, proceda:
#1 Notifique dhcpcd para recarregar sua configuração:
sudo dhcpcd -k
ou
sudo dhcpcd -k eth0
#2 Em seguida, para renovar a concessão do DHCP:
sudo dhcpcd -n
ou
sudo dhcpcd -n eth0
#3 Você pode fazer tudo isso de uma só vez e observar o progresso ao usar o systemd para a interface WiFi chamada ‘wlan0’
sudo dhcpcd -k wlan0 && sudo dhcpcd -n wlan0 && journalctl -u dhcpcd -f
Pode ocorrer um problema quando o DHCP obtém uma atribuição de IP errada ao usar o dhcpcd como cliente. Em seguida, tente os dois comandos a seguir para liberá-lo e renová-lo novamente:
sudo dhcpcd -k
sudo dhcpcd
Como posso renovar ou liberar um IP no Linux para eth0?
Para renovar ou liberar um endereço IP para a interface eth0, digite:
sudo dhclient -r eth0
sudo dhclient eth0
Poderá acrescentar a opção -v que mostra informações detalhadas na tela sobre o servidor dhcp e a concessão obtida.
Usando ifdown e ifup
Em algumas distros mais antigas ou específicas, podemos usar ifdown e ifup. Suponhamos que o nome da interface de rede seja eth0, execute:
ifdown eth0
ifup eth0
/etc/init.d/network restart
ou o comando específico para distros Debian / Ubuntu Linux e derivados mais antigas
/etc/init.d/networking restart
Renovar IP Usando NetworkManager
O daemon NetworkManager tenta tornar a configuração e operação de rede o mais fácil e automático possível. nmcli é uma ferramenta de linha de comando para controlar o NetworkManager e obter seu status.
#1 veja qual nome da interface de rede
maria@ti:~$ nmcli dev DEVICE TYPE STATE CONNECTION enp2s0 ethernet connected Wired connection 1 lo loopback unmanaged --
#2 desativa a interface enp2s0
maria@ti:~$ nmcli dev down enp2s0
#3 ative-a novamente
maria@ti:~$ nmcli dev up enp2s0
Usando systemd
Podemos usar o systemd da seguinte forma:
maria@ti:~$ sudo systemctl restart network.service
Resumindo
Comando | Comando para liberar/renovar um endereço IP DHCP no Linux |
---|---|
ip a | Obtenha endereço IP e informações de interface no Linux |
ip a s eth0 | Encontre o endereço IP atual para a interface eth0 no Linux |
Método #1 | |
dhclient -v -r eth0 | Forçar o Linux a renovar o endereço IP usando um DHCP para a interface eth0 |
Método #2 | |
systemctl restart network.service | Reinicie o serviço de rede e obtenha um novo endereço IP via DHCP no Ubuntu/Debian Linux |
systemctl restart networking.service | Reinicie o serviço de rede e obtenha um novo endereço IP via DHCP em um CentOS/RHEL/Fedora Linux |
Método #3 | |
nmcli con | Use o NetworkManager para obter informações sobre o endereço IP e as interfaces do Linux |
nmcli con down id 'enp6s0' | Derrube a interface enp6s0 do Linux e libere o endereço IP no Linux |
nmcli con up id 'enp6s0' | Obtenha um novo endereço IP para a interface Linux enp6s0 e libere o endereço IP usando DHCP |
Método #4 | |
sudo dhcpcd -k | Use o dhcpcd como cliente para obter uma nova versão |
sudo dhcpcd | Pegue o novo. |
sudo dhcpcd -k eth0 && dhcpcd -n eth0 | Obtenha um novo endereço IP para a interface do Linux chamado eth0 e libere o endereço IP usando o dhcpcd como cliente. |