Minha distribuição Linux é Debian 12.8.0, 64 bits, inglês.
Eu instalei os pacotes ifupdown
eiproute2
macchanger
Consultei as postagens abaixo antes de pedir ajuda aqui:
Comando iproute2 para habilitar um endereço IPv4
ip link set não atribui endereço IP, mas ifup atribui
Guia do usuário do iproute2 centrado em tarefas
Observação: não tenho problemas em ativar e desativar a interface de rede usando o pacote ifupdown
e consigo acessar a internet.
O conteúdo de /etc/network/interfaces
são
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
#auto lo
#iface lo inet loopback
# The primary network interface
#allow-hotplug enxfe5953ed38a0
#iface enxfe5953ed38a0 inet static
# address 192.168.1.50/24
# gateway 192.168.1.1
# dns-* options are implemented by the resolvconf package, if installed
# dns-nameservers 9.9.9.9 149.112.112.112
O conteúdo de /etc/network/script/home-lan
são
# The primary network interface
allow-hotplug enxfe5953ed38a0
iface enxfe5953ed38a0 inet static
address 192.168.1.50/24
netmask 255.255.255.0
gateway 192.168.1.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 1.1.1.1 8.8.8.8
Criei um script bash chamado lan-new-up
, tornei-o executável e coloquei-o em/usr/local/bin
Seu conteúdo é:
#!/bin/bash
sudo macchanger -r enxfe5953ed38a0
sudo cp /etc/network/script/home-lan /etc/network/interfaces.d
#sudo ifup enxfe5953ed38a0
sudo ip link set dev enxfe5953ed38a0 up
sudo ip address add 192.168.1.50/24 dev enxfe5953ed38a0
sudo ip route add default via 192.168.1.1 dev enxfe5953ed38a0
Após executar o script lan-new-up
, recebi o erro conforme mostrado abaixo:
username@hostname:~$ lan-new-up
[sudo] password for username:
Current MAC: 02:b3:c2:9f:0a:90 (unknown)
Permanent MAC: 02:b3:c2:9f:0a:90 (unknown)
New MAC: fe:59:53:ed:38:a0 (unknown)
username@hostname:~$ ping yahoo.com
ping: yahoo.com: Temporary failure in name resolution
Obrigado pela ajuda.
Seu script replica apenas as configurações "address/netmask" e "gateway" do ifupdown, mas esqueceu de replicar a configuração "dns-nameservers" .
O DNS não é gerenciado por
ip
; ele é configurado por/etc/resolv.conf
(geralmente).Se o sistema tiver a
resolvconf
ferramenta instalada, como mencionado na configuração ifupdown, ela deverá ser usada para adicionar entradas ao resolv.conf, pois isso ajuda de certa forma diferentes ferramentas a cooperarem:Se o sistema tiver systemd-resolved instalado
resolvectl
(e o serviço systemd-resolved em execução), então isso deve ser usado:Quando systemd-resolved estiver em uso, /etc/resolv.conf deve apontar para
127.0.0.53
.Se nenhum dos dois estiver instalado, você precisará editar
/etc/resolv.conf
manualmente: