Como alterar o endereço IP com o comando ip no Linux.

Já falei antes sobre comandos relacionados à configuração e obtenção de informações sobre a interface de rede, no Linux.
No post substituição do ifconfig pelo ip, apresentei o comando e como obter informações sobre uma interface de rede.
Neste texto, vamos demonstrar como alterar o endereço IP de uma interface, na CLI do Linux.
Este tipo de configuração pode ser melhor feito na GUI da sua distro (com a vantagem de ser permanente).
Mas há situações em que não temos acesso a um ambiente desktop gráfico, que nos permita fazer este tipo de ajuste.

Geralmente, este método não é recomendado, para alterar o endereço IP de uma interface de rede, uma vez que ele não é persistente.
Ou seja, a configuração que você fizer perderá efeito após reiniciar a máquina.

Para realizar alterações temporárias na sua interface de rede, o comando ip provê um método bastante cômodo como solução.
Como este comando requer privilégios administrativos, sugiro usar uma máquina virtual para fazer suas experiências — caso você esteja lendo este texto apenas para aprender.
Para obter uma relação das interfaces presentes, rode o comando ip assim:


ip a

Se executada, sem privilégios administrativos, a linha acima deve retornar algo parecido com o que se vê abaixo. No meu caso, são informações básicas sobre as 3 interfaces de rede disponíveis em meu sistema:

1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp2s0:  mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether 50:b7:c3:04:da:48 brd ff:ff:ff:ff:ff:ff
3: wlp1s0:  mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether c4:85:08:a5:0a:aa brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.3/24 brd 192.168.100.255 scope global dynamic wlp1s0
       valid_lft 4233sec preferred_lft 4233sec
    inet6 fe80::8274:c9b8:688a:300a/64 scope link 
       valid_lft forever preferred_lft forever

Use a opção '-c' para obter uma saída colorida
Use a opção '-c' para obter uma saída colorida

Veja um exemplo de como adicionar um endereço IP à interface enp2s0:


ip a add 10.0.2.21 dev enp2s0

O que foi feito, acima:

  • a — abreviatura de address (endereço).
  • add — indica que faremos uma adição á configuração atual.
  • 10.0.2.21 — provê o novo endereço IP.
  • dev enp2s0 — informa a que dispositivo (device) de rede as mudanças se aplicam.

Ao rodar o comando 'ip a' novamente, vai ser possível ver que um endereço foi adicionado ao dispositivo em questão.
Também dá para especificar a máscara de (sub)rede – se você souber qual é, claro.
Veja 2 exemplos de como fazer isto:


ip a add 192.168.1.101/255.255.255.0 dev eth0

ou


ip a add 192.168.1.101/24 dev eth0

Tal como no ifconfig, é possível usar 'up' e 'down' para ativar ou desativar uma interface:


ip link set dev eth0 up

ou


ip link set dev eth0 down

Se quiser remover um endereço associado a uma interface, use a opção 'del' (delete):


ip a del 10.0.2.21 dev enp2s0

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Como substituir o comando ifconfig pelo ip

Usuários tradicionais do Linux podem ter se acostumado a usar o comando ifconfig para solucionar, diagnosticar problemas ou fazer ajustes relacionados à interface de rede no seu sistema.
A ferramenta faz parte do pacote net-tools (no Debian) e vem sendo descontinuada há algum tempo — ou, pelo menos, não vinha recebendo mais atualizações.

ethernet cable
Ethernet.

Clique nos links dentro do texto e no final, para obter mais informações.
Alguns usuários ficaram surpresos com o “sumiço” da ferramenta, nas versões mais atuais de seus sistemas operacionais favoritos.
Entretanto, quem fizer questão, pode facilmente instalar o ifconfig, da seguinte forma:


sudo apt install net-tools

Por curiosidade, a opção ‘show’ mostra que o ifconfig (em destaque) ainda consta entre os pacotes do net-tools:


apt show net-tools

Package: net-tools
Version: 1.60+git20161116.90da8a0-1
Priority: optional
Section: net
Maintainer: net-tools Team 
Installed-Size: 963 kB
Depends: libc6 (>= 2.14), libselinux1 (>= 1.32)
Conflicts: ja-trans (<= 0.8-2)
Replaces: ja-trans (<= 0.8-2), netbase (<< 4.00)
Homepage: http://sourceforge.net/projects/net-tools/
Tag: admin::configuring, implemented-in::c, interface::commandline,
 network::configuration, network::routing, network::vpn, protocol::ipv6,
 role::program, scope::utility, use::routing
Download-Size: 248 kB
APT-Sources: http://ftp.br.debian.org/debian stretch/main amd64 Packages
Description: conjunto de ferramentas para rede NET-3
 Este pacote inclui as importantes ferramentas para controlar o sub-sistema
 de rede do kernel do Linux. Ele inclui: arp, ifconfig, netstat, rarp,
 nameif e route. Adicionalmente, este pacote contém utilitários relacionados
 a tipos particulares de hardware de rede (plipconfig, slattach, mii-tool) e
 aspectos avançados de configuração IP (iptunnel, ipmaddr).
 .
 No pacote original (do autor), 'hostname' e outros estão incluídos.
 Esses não são instalados por este pacote, visto que existe um pacote
 especial "hostname*.deb".

Se você usar o comando apt changelog sobre o pacote ‘net-tools’, vai ver que a última atualização (patch) do ifconfig ocorreu em 2011.
Muitas águas rolaram por baixo desta ponte.
O ip é a ferramenta de configuração da rede, que vem ganhando força.
Se estiver disposta(o) a seguir em frente e experimentar o novo, me acompanhe.

Saiba mais sobre o comando ip, para configuração de redes no Linux

É importante enfatizar que o ip não é, simplesmente, uma substituição do ifconfig.
São usados para propósitos similares, mas são diferentes entre si, em suas estruturas.
Veja o que dá para fazer com o ip:

  • Descobrir quais interfaces estão configuradas no sistema.
  • Inquirir sobre o estado de uma interface de rede.
  • Configurar as interfaces de rede — o que inclui o loop-back local e a Ethernet.
  • Ativar ou desativar uma interface.
  • Gerenciar o roteamento estático e padrão.
  • Configurar o tunelamento sobre o IP.

No próximo tópico, veremos alguns exemplos aonde o ip pode ser usado como substituto do ifconfig, para exibir o estado das interfaces de rede.
Lembre-se que a ferramenta requer privilégios administrativos, de forma que você vai ter que usar ou o su ou o sudo, para executar o comando.
Não esqueça de adequar os exemplos deste texto, à realidade da sua rede, aí.

Como obter informações da rede

Sempre usei muito o ifconfig para obter dados sobre as interfaces de rede presentes em meu hardware.
Isto pode ser feito apenas invocando o comando, sem dar qualquer parâmetro, argumento ou opção.
Esta tarefa pode ser executada com o comando ip da seguinte forma:


ip a

1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp2s0:  mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether 50:b7:c3:04:da:48 brd ff:ff:ff:ff:ff:ff
3: wlp1s0:  mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether c4:85:08:a5:0a:aa brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.3/24 brd 192.168.100.255 scope global dynamic wlp1s0
       valid_lft 6263sec preferred_lft 6263sec
    inet6 fe80::8274:c9b8:688a:300a/64 scope link 
       valid_lft forever preferred_lft forever

Você sempre pode acrescentar as opções ‘-color’ (ou apenas ‘-c’) e ‘-human’ (‘-h’), para obter a saída, com destaques importantes colorizados e em formato um pouco mais legível (por humanos). Veja um exemplo:


ip -c -h a

terminal resultado do comando ip
Use a opção ‘-4’, para exibir informações sobre a rede IPv4:


ip -4 a 

1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
3: wlp1s0:  mtu 1500 qdisc mq state UP group default qlen 1000
    inet 192.168.100.3/24 brd 192.168.100.255 scope global dynamic wlp1s0
       valid_lft 5136sec preferred_lft 5136sec

Ou ‘-6’, para as informações de rede IPv6:


ip -6 a

1: lo:  mtu 65536 state UNKNOWN qlen 1
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
3: wlp1s0:  mtu 1500 state UP qlen 1000
    inet6 fe80::8274:c9b8:688a:300a/64 scope link 
       valid_lft forever preferred_lft forever

Quer restringir as informações a apenas uma das suas interfaces? Use o ‘show’ acompanhado do nome da interface de rede:


ip a show wlp1s0

3: wlp1s0:  mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether c4:85:08:a5:0a:aa brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.3/24 brd 192.168.100.255 scope global dynamic wlp1s0
       valid_lft 4818sec preferred_lft 4818sec
    inet6 fe80::8274:c9b8:688a:300a/64 scope link 
       valid_lft forever preferred_lft forever

Combine parâmetros e, sinta-se à vontade para incluir o comando grep, para filtrar melhor as informações exibidas:

ip -4 -c -h a show wlp1s0 | grep --color state

3: wlp1s0:  mtu 1500 qdisc mq state UP group default qlen 1000

Para ver apenas as interfaces de rede ativas, use o comando da seguinte forma:


ip -c link ls up

1: lo:  mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp2s0:  mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
    link/ether 50:b7:c3:04:da:48 brd ff:ff:ff:ff:ff:ff
3: wlp1s0:  mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
    link/ether c4:85:08:a5:0a:aa brd ff:ff:ff:ff:ff:ff

Como deixar sempre colorida a saída do comando ip

Note que gosto de acrescentar a opção ‘-c’, para colorizar a saída do comando — o que torna mais fácil a sua leitura.
Isto é opcional, claro.
Você pode incluir esta e outras opções automaticamente a cada nova entrada do comando, usando o alias:


alias ip='ip -c'

Se quiser torná-lo permanente, inclua esta linha ao final do arquivo .bashrc (do superusuário).

Referências

https://www.linux.com/learn/replacing-ifconfig-ip.

https://linuxconfig.org/how-to-install-missing-ifconfig-command-on-debian-linux.

Altere o DNS do seu aparelho Android e drible alguns problemas da rede.

Alterar o DNS, através do qual o seu dispositivo se conecta à Internet, é um procedimento relativamente simples.
Trata-se de uma sigla para Domain Name System — ou seja, “sistema de domínio de nomes”, traduzido livremente.
Isto se refere a um sistema de nomeação de computadores, serviços ou outros recursos da rede, descentralizado e hierárquico.
O método consiste em associar diversas informações (como endereços IP) a nomes de domínios, atribuídos a cada nó presente em uma rede.
Para o cérebro humano, é mais fácil decorar um nome, como elias.praciano.com do que um número, como 192.168.1.0 (IPv4) ou, ainda, 2001:0db8:0000:0000:0000:ff00:0042:8329 (IPv6).

Portanto, é graças ao sistema de DNSs que você não precisa ficar digitando números incompreensíveis na barra de endereços do seu navegador, quando nos referimos a endereços IPv4.
Quando chegamos aos endereços que seguem o padrão IPv6, fica mais difícil ainda memorizar.

Serviços de DNSs podem ser pagos e oferecer alguns recursos úteis a seus usuários. o OpenDNS, por exemplo, permite filtrar conteúdo da Internet e obter estatísticas do seu fluxo de dados.
O Google tem um serviço de DNS gratuito (e tem uma versão paga também) que é muito popular entre usuários comuns e empresas.

Como configurar o DNS no Android

O melhor lugar para configurar o seu DNS é no seu roteador — de casa ou da empresa.
Mas no celular é mais fácil.
Seja cauteloso(a) com o procedimento, para não ficar sem acesso a Internet por ter entrado com informações erradas na configuração.
Comece por abrir a seção de configurações geraisdo seu dispositivo Android e abra o painel de configurações Wi-Fi.
android configuração da rede.
Em seguida, escolha uma das redes para configurar — pressionando-a até aparecer o submenu de configurações.
Selecione a opção “Modificar a rede”.
android configuração da rede.
Selecione “Opções avançadas”.
android configuração da rede.
As configurações de DNS ficam na parte inferior e você pode entrar com até 2 servidores DNS.
No meu exemplo (figura abaixo) usei servidores de DNS do Google.
google dns
Por fim, basta tocar em “Salvar” e navegar usando os novos DNSs.
Leia mais sobre DNS, no site ou sobre outras dicas de configuração da rede no Android.

Como configurar o Android para usar um endereço IP estático na rede Wi-Fi

Há alguns motivos bem fortes para usar um endereço IP estático em seu dispositivo Android, dentro da rede Wi-Fi (doméstica, da empresa etc.)
Alguns usuários relatam que a conexão fica mais consistente — embora eu não veja motivos técnicos o suficiente para isto.
Se você usa aplicativos servidores no seu aparelho, pode ser mais fácil para os aplicativos clientes se conectarem a ele, se o endereço IP sempre for o mesmo.
O procedimento descrito neste texto só vale para a rede a qual você está conectado neste momento. Para as outras redes, o Android continuará a usar as configurações padrão ou que já foram feitas.
android configuração da rede.
Abra o painel de configurações do seu dispositivo e selecione o item de configuração do Wi-fi.
Agora, siga o passo a passo:

  1. Mantenha o dedo pressionado sobre o nome da rede – cujas configurações você deseja editar – até que um menu pop up apareça.
    android configuração da rede.
    Selecione a opção Modificar a rede, para abrir um painel de configurações específicas.
  2. Altere a opção DHCP para Estático.
    android configuração da rede.
  3. Role até Endereço IP e digite o novo endereço que você deseja usar a partir de agora.
    Se é novo em configuração de redes e não entende muito do assunto, é seguro preservar as 3 primeiras partes do endereço e alterar apenas a última (à direita).
    android configuração da rede.
  4. Ao terminar, toque em Salvar, na parte inferior da tela.

Este procedimento é simples, mas pede que se tenha algum conhecimento básico sobre redes.
Se tudo der errado e você não souber como desfazer as modificações, você pode adotar um destes 2 procedimentos:

  • Volte ao segundo passo e selecione a opção DHCP e salve
  • ou volte ao primeiro passo e selecione Esquecer a rede e faça uma reconfiguração automática.

Leia mais sobre como resolver problemas de conexão no artigo Como resolver problemas comuns de conexão ao Wi-Fi.

Ajuste avançado da configuração do Wi-Fi, pode ajudar a resolver problemas de conexão no Android.

O Android tem várias possibilidades de configuração para facilitar a conexão sem fio.
Neste post, vou falar de um ajuste escondido nos aparelhos com Android 6.0 Marshmallow ou superior voltado para a configuração do Wi-Fi.

Trata-se do item “Usar cliente DHCP legado” ou “Use legacy DHCP client“, em aparelhos configurados para o idioma inglês.
O item fica dentro do painel do desenvolvedor — que precisa ser desbloqueado, para que você tenha acesso a ele.
android usar cliente dhcp legado
Como é possível visualizar, na explicação do item, ele faz com que o Android abra mão de usar os ajustes mais novos para voltar a usar os mesmos ajustes da versão 5.1 Lollipop.
Este procedimento pode ser eficaz para resolver problemas de conexão em que o aparelho não consegue passar da mensagem “tentando obter endereço IP” ou “obtaining IP address“.
Se o procedimento não resolver, clique na tag wi-fi ou use o sistema de busca deste site, para encontrar outros procedimentos relacionados à conexão no Android.