Configurando a rede ethernet

2

Eu tenho uma conexão de rede com fio e, se estou usando o gerenciador de rede (doravante "NM"), tudo funciona bem, exceto pelo endereço de hardware (isso não muda). Estou pensando em usar /etc/network/interfaces . Então, eu adicionei um código e ficou assim:

auto lo
iface lo inet loopback

auto eth1
iface eth1 inet static
address #corresponding value
netmask #corresponding value
gateway #corresponding value
hwaddress #corresponding value

Depois de reiniciar a rede, recebo a seguinte mensagem:

*Reconfiguring network interfaces...
#here some help code appears
Failed to bring up eth1.

A interface padrão que funciona com NM é eth0. Por favor, informe sobre como lidar com o problema.

    
por Denys S. 21.02.2011 / 20:08

2 respostas

2

eth0 ou eth1 é o nome lógico dado à sua placa de rede pelo Linux (eu não sei exatamente qual componente lida com a nomenclatura, mas eu acho que é o kernel). você só pode usar eth0 ou eth1 se for o nome lógico dado ao seu cartão e não o contrário.

Chegando ao seu problema original, ou seja, usando endereços de hardware diferentes em locais diferentes, isso é possível definindo o mapeamento de nome lógico no arquivo /etc/network/interfaces , mas você precisará se conectar manualmente à rede usando o comando ifup a cada vez.

Para isso, abra seu arquivo /etc/network/interfaces e substitua seu conteúdo pelo seguinte

auto lo
iface lo inet loopback

mapping eth0
      script /home/<username>/net.sh
      map eth0 eth0-home
      map eth0 eth0-work

iface eth0-home inet static
      address #ip address for home
      netmask #subnet mask for home
      hwaddress ether #MAC address for home

iface eth0-work inet static
      address #ipaddress for work
      netmask #netmask for work
      hwaddress ether #MAC address for work

defina o endereço ip, netmask e hwaddress para eth0-home e eth0-work ao seu gosto. Substitua também o < username > na quarta linha do script pelo seu nome de usuário. Agora salve e feche o arquivo de interfaces.

Agora crie um arquivo /home/<username>/net.sh com o seguinte conteúdo

#!/bin/sh
echo eth0

salve e feche o arquivo net.sh.

Está tudo pronto agora. Você pode usar o comando sudo ifup eth0=eth0-home para iniciar a rede com as configurações eth0-home e sudo ifup eth0=eth0-work para iniciar com as configurações eth0-work.

Observe também que a seção de mapeamento no arquivo de interfaces e o arquivo de script que criamos no diretório inicial dos usuários são realmente necessários quando a interface é configurada para se conectar automaticamente. Mas precisamos fornecer-lhes coisas para trabalhar. Portanto, o conteúdo do arquivo de script e o conteúdo da seção de mapeamento são apenas um tipo de espaço reservado. Se você estiver interessado em se conectar automaticamente, precisará modificar esses dois. Para uma discussão mais aprofundada dos dois, você pode ver a man page para interfaces (5) ou visite o seguinte link link

    
por binW 21.02.2011 / 23:46
1

Você deve decidir se deseja usar o NM ou a configuração "hardcoded" no arquivo interfaces . Tanto quanto eu experimentei, não é uma boa idéia misturá-los, você terá problemas. Você pode querer largar usando NM, ok. No entanto, nomes como eth0 e eth1 são atribuídos a NICs Ethernet, portanto, se você usar eth1 , eu pensaria que você tem dois NICs em sua máquina. Sim, é possível que você tenha apenas eth1 e não eth0 (você pode até renomear os NICs), mas não vejo o ponto aqui. Por favor, emita o comando /sbin/ifconfig -a no terminal e use o nome da eth que você pode ver lá. Se você vir apenas eth1 e não eth0 , também é possível usar: udev rege as interfaces de nomes de acordo com o endereço HW ("endereço MAC") para ter certeza de que suas interfaces não serão renumeradas se você alterar as posições da placa PCI e coisas semelhantes. Eu tive a experiência, que a substituição de um cartão por outro causou apenas eth1 (e nenhum eth0 ) já que o udev se lembra do endereço HW do cartão antigo, então o nome eth0 é reservado para esse propósito, tinha eth1 como o novo NIC. Eu não tenho certeza se você quer dizer sobre isso quando você quiser usar eth1 , mas é bom mencionar (btw udev armazena a atribuição (s) aqui: /etc/udev/rules.d/70-persistent-net.rules ).

    
por LGB 21.02.2011 / 20:43