Posso criar uma interface ethernet virtual chamada eth0?

24

Estou executando o Arch com base no kernel Linux 3.10.5-1. O sistema usa as novas convenções de nomenclatura de facto das interfaces ethernet enp * s * e wlp * etc. Este é um problema, no entanto, como minha instituição educacional está usando um programa chamado Maple 17 . O sistema de licenciamento do Maple depende da existência de uma interface chamada eth0 porque ele deve recuperar o endereço MAC dele para verificar a licença. É uma má solução, mas tenho que contornar isso.

Isso significa que precisarei de uma interface eth0 com qualquer endereço MAC (como eu posso recuperar um novo arquivo de licença para o novo endereço MAC) que não precisa necessariamente funcionar. Na verdade, deve ser sempre baixo. Eu acho que há várias maneiras de tentar resolver esse problema, mas não consegui encontrar nada sobre nenhuma das ideias.

  • Criando um adaptador sem conectividade
  • Criando um alias para enp3s0 chamado eth0
  • Renomeando enp3s0 ou a interface de loopback.

As coisas que eu consegui encontrar apenas abordaram a mudança para as convenções mais recentes e versões mais antigas do udev. Eles só trabalhavam no RHEL e SuSe de qualquer maneira. Eu tentei sem sorte embora. (persistent-net-names.rules e net-name-slot.rules, ambos fizeram com que minha interface parasse de funcionar e minha interface wlan desaparecesse)

    
por Time Sheep 14.08.2013 / 17:25

4 respostas

28

Claro. Você pode criar um dispositivo tap com bastante facilidade, seja com tunctl (de uml-utilities, pelo menos no Debian):

# tunctl -t eth0
Set 'eth0' persistent and owned by uid 0
# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr a6:9b:fe:d8:d9:5e  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Ou com ip :

# ip tuntap add dev eth0 mode tap
# ip link ls dev eth0
7: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 500
    link/ether 0e:55:9b:6f:57:6c brd ff:ff:ff:ff:ff:ff

Provavelmente, você deve preferir o segundo método, pois ip é a ferramenta de rede preferida no Linux, e você provavelmente já o instalou.

Além disso, os dois estão criando o dispositivo de toque com um MAC local aleatório, você pode definir o MAC para um valor fixo em qualquer uma das formas normais.

    
por 14.08.2013 / 18:24
4

Você também pode definir as regras do udev para fornecer às suas placas de rede os nomes desejados:

link

Claro, você NÃO deve dizer ao udev para chamá-los de eth0, eth1, etc. O que o Maple faz se você tiver apenas uma placa wifi?

    
por 14.08.2013 / 21:14
2

Estou analisando um problema muito parecido com um computador sem nenhuma placa de rede com fio. Esta solução parece ser boa: link

Basicamente, a ideia é criar / modificar alguns arquivos para criar uma interface fictícia:

Em /etc/modules-load.d/dummy.conf add:

# load dummy interface module
dummy

Em /etc/udev/rules.d/70-persistent-net.rules add:

SUBSYSTEM=="net", KERNEL=="dummy0", NAME="eth0"

Em seguida, em /etc/network/interfaces add:

iface eth0 inet static
    hwaddress DE:AD:BE:EF:CA:FE

Você deve conseguir fazer um modprobe dummy neste ponto e verificar se a interface foi configurada corretamente. Pode não definir o endereço MAC se você usar modprobe em vez de reinicializar; Nesse caso, faça o ip link set dev endereço eth0 de: ad: be: ef: ca: fe.

    
por 04.06.2014 / 08:31
-1

Solução mais simples - embora isso só funcione em sistemas com uma placa ethernet:

ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules

O Arch Linux usa "nomenclatura previsível". Isso desliga isso.

    
por 05.09.2013 / 19:56