Altere o endereço MAC permanentemente dentro de / etc / network / interfaces

2

PERGUNTA:

Como posso alterar especificamente o endereço Mac das interfaces enp3s0 e wlp2s0 através do arquivo /etc/network/interfaces ? Qual código eu teria que incluir dentro? Eu tenho tentado por algum tempo agora sem sucesso, infelizmente.

ELABORATING:

Então eu encontrei este ótimo artigo on-line explicando como alterar um endereço Mac permanentemente através do arquivo /etc/network/interfaces no meu Ubuntu.

No artigo, diz:

  

Em sistemas Debian, Ubuntu e similares, coloque o seguinte no   seção apropriada de / etc / network / interfaces (dentro de um iface   sub-rotina, por exemplo, logo após a linha do gateway), de modo que o endereço MAC   definido quando o dispositivo de rede é iniciado:

     

hwaddress ether 02: 01: 02: 03: 04: 08

Fonte: Alterando o seu endereço MAC / Linux - Livros em inglês

Agora, quando eu uso o seguinte código:

cat /etc/network/interfaces

Eu recebo a seguinte saída

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

E quando eu faço ifconfig no meu Ubuntu, eu recebo 3 interfaces diferentes:

  • enp3s0

  • lo

  • wlp2s0

Eu gostaria de mudar o endereço MAC de todas as minhas interfaces (enp3s0, wlp2s0) (lo é loopback, então não precisa), mas não estou familiarizado com os comandos no arquivo /etc/network/interfaces . Eu tenho visto tutoriais online, embora eu não consiga acertar as coisas, e meu computador até começou a agir estranhamente algumas vezes depois.

    
por Webeng 22.05.2017 / 13:16

2 respostas

3

Primeiro, o guia ao qual você está vinculado. É um bom guia. Infelizmente, também faz algumas dores de cabeça para diferentes tipos de conexões. E normalmente, /etc/network/interfaces é deixado sozinho, exceto pela interface de loopback em favor do Network Manager gerenciando suas conexões.

Existem algumas razões para isso, principalmente porque configurar o wireless via /etc/network/interfaces será doloroso se você mudar de rede wifi, já que você precisa editar a configuração e recarregá-la manualmente (e algumas vezes ela ganhou carregue até que você reinicie). Também é extremamente doloroso que você tenha que codificar dados de conexão em wpa2-supplicant - nome da rede sem fio, senha (em texto simples), às vezes até a banda wifi e o número do canal. Tudo isso é doloroso, já que você precisa mudá-lo para mudar para uma rede diferente.

Eu mencionei que usar /etc/network/interfaces impedirá que o Network Manager trabalhe para lidar com suas conexões. A maneira como o Network Manager funciona é que ele toma 'propriedade' dos dispositivos que são dispositivos de rede não definidos em /etc/network/interfaces e atualiza as configurações para cada um deles ou com perfis de conexão predefinidos de conexões antigas feitas no passado. Se você decidir ir a rota /etc/network/interfaces , você terá que fazer ajustes em como você se conecta à Internet, e eu dou algumas descrições para conexões wi-fi abaixo. E um link mais útil.

Ethernet não é tão ruim. Ethernet pode funcionar muito bem com isso, porque você pode simplesmente configurar Ethernet como tal para uma conexão DHCP'd (endereço IP atribuído dinamicamente, não uma configuração estática; note que eu uso 'eth0' aqui em vez de seu dispositivo real aqui para ser mais compreensível):

auto eth0
iface eth0 inet dhcp
    hwaddress ether 01:23:45:67:89:0A

A única dor de cabeça é se você tiver endereços IP estáticos e não endereços DHCP tratados. Mas ainda é bem simples.

No wireless, no entanto, não é tão bonito. É uma confusão de etapas, geralmente envolvendo iwlist , /etc/network/interfaces configuration, configuração avançada de wpa2_supplicant e outras. Você acabaria com algo parecido com isso quando terminar, para uma rede padrão de senha compartilhada de nível residencial, mas isso só funciona para sua rede sem fio:

auto wlan0
iface wlan0 inet dhcp
    hwaddress ether 00:11:22:33:44:55
    wpa-ssid WIFI_NAME
    wpa-psk HASHED_PASSWORD

Fica ainda mais complexo quando você precisa trocar de rede ou usar uma conexão de nível Enterprise com um back-end de autenticação (chamado WPA2-EAP ou WPA2 802.1x Enterprise ou outros nomes), dos quais não detalharei aqui .

Você também notará que eu não copiei as etapas para saber como obter a senha com hash. Essa é a minha má, estou com uma crise de tempo para começar a trabalhar, mas isso é tudo no wiki ligado no próximo parágrafo (do Debian, mas funciona).

O Debian Wiki no Wifi e como usá-lo na linha de comando é onde a maioria dessas informações veio De para a seção sem fio aqui, e pessoalmente ter que configurar isso em dois dispositivos Raspberry Pi manualmente porque eles estão sem cabeça, posso atestar que esta é a abordagem mais dolorosa para configurar sem fio.

Há um segundo elemento aqui: os endereços MAC do dispositivo de rede são codificados no dispositivo . Você nunca pode alterar 'permanentemente' o endereço MAC que um dispositivo possui. O que o /etc/network/interfaces , o MAC Changer e o Network Manager (através da função 'cloned MAC address') fazem eles temporariamente alterarem o endereço Ethernet anunciado, mas não alteram o endereço do hardware principal. Você pode fazê-lo funcionar com o Network Manager, mas você tem que configurá-lo manualmente para cada rede wifi que você usa. MAC Changer, situação semelhante, ele precisa ser executado no momento da inicialização. /etc/network/interfaces faz isso no momento da inicialização, mas você perde o gerenciamento de dispositivos do Network Manager.

    
por Thomas Ward 22.05.2017 / 14:13
3

Supondo que você não use o NetworkManager para configurar suas conexões, eu acho que isso funcionará:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
  iface lo inet loopback

iface enp3s0
  hwaddress ether 02:01:02:03:04:08

iface wlp2s0
  hwaddress ether 02:01:02:03:04:09
    
por Jos 22.05.2017 / 13:22