Desativar o adaptador de rede eth0 no Debian

10

Era uma vez, usei ifdown eth0 para desativar um adaptador de rede. Faz anos desde que eu consegui fazer isso funcionar, basicamente desde que eu estive no Ubuntu / Debian.

Eu entendi isso:

$ sudo ifdown eth0
ifdown: interface eth0 not configured

Se eu executar o ifconfig, recebo:

eth0      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx  
          inet addr:192.168.20.50  Bcast:192.168.21.255  Mask:255.255.254.0
          inet6 addr: fe80::6e3b:e5ff:fe36:2ee/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1205280 errors:0 dropped:502 overruns:0 frame:0
          TX packets:34930 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:165685286 (165.6 MB)  TX bytes:5754120 (5.7 MB)
          Interrupt:20 Memory:f7f00000-f7f20000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:9146 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9146 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:734342 (734.3 KB)  TX bytes:734342 (734.3 KB)

Pesquisei no Google como descobrir isso e tudo o que posso encontrar diz: execute ifdown eth0. Como faço para parar o adaptador de rede nas caixas Debian / Ubuntu?

Thom
fonte

Respostas:

14

Estou enfrentando o mesmo problema no Debian. Eu não sei a causa exata, no entanto, está trabalhando sudo ifconfig eth0 downcomigo.

Edit: Obrigado a @kostix por suas anotações. Não me preocupo com o problema em muitos detalhes desde que o uso para desativar temporariamente a interface. Se você deseja reduzi-lo permanentemente, ifdown é o caminho a percorrer. Para que isso funcione, você precisará adicionar a linha eth0=eth0para /run/network/ifstatee as linhas auto eth0e iface eth0 inet dhcppara /etc/network/interfaces.

Tim Zimmermann
fonte
Isso apenas coloca o adaptador na camada física (ou seja, no que diz respeito à pilha de rede do kernel), e isso não tem nada a ver com a camada de terra do usuário que deve gerenciar o adaptador. Por favor, veja minha resposta - talvez você consiga unir esforços com o OP para descobrir qual subsistema gerencia sua rede.
Kostix
OK, fez isso. Eu não tentei isso antes porque, no Redhat, o ifdown executava o ifconfig, então assumi o mesmo para o Debian. Eu tolo. Obrigado por isso. WTF?
31413 Thom
@Thom, o problema é que a próxima vez que você inicializar eth0, provavelmente voltará a funcionar.
kostix
@Thom, quanto ao WTF ... ;-) O kernel é (quase) o mesmo nas distribuições, mas as ferramentas da terra do usuário não são. Bem, nme wicd são os mesmos nas distribuições, mas o material "tradicional" de baixo nível não é.
kostix
@kostix Tudo bem. Só queria desativar um pouco para o teste. Como é um VirtualBox, é difícil desconectar o cabo de rede. :) Além disso, eu entendo sobre as ferramentas, mas os documentos do Debian dizem para usar o ifdown. É por isso que WTF?
Thom
13

se ifconfignão estiver disponível na sua distribuição, significa que será substituído pelo ipcomando Nesse caso, a solução seriaip link set eth0 down

Nicolas Guérinet
fonte
2

Não há resposta definitiva, pois pode haver várias maneiras de gerenciar redes no Debian. Estou ciente de pelo menos três:

  • A abordagem "tradicional", usando /sbin/ifup, /sbin/ifdowne /etc/init.d/networking, todos usando o /etc/network/interfacesarquivo de configuração. Estes são fornecidos pelo ifupdownpacote.

    Como ifdownnão sabe nada sobre o adaptador, acho que outra maneira é usada para gerenciar a rede.

    Eu também estou ciente sobre um pacote que é beleived para ser um substituto para ifupdown, netscriptmas uma vez que utiliza os mesmos meios para gerenciar adaptadores este é supostamente também não o seu caso.

  • Gerente da rede
  • Wicd

Supostamente, você precisa descobrir qual é instalado e trabalhar a partir daí. Ambos nme wicd geralmente são configurados usando ferramentas da GUI (e geralmente por meio de applets iniciando junto com o seu DE). nmtem uma ferramenta de linha de comando, chamada nm-cli. Não tenho certeza wicd.

Se você fez uma instalação simples e selecionou a tarefa "Área de trabalho", acredito que (embora não tenha certeza) você tem o NetworkManager instalado.

kostix
fonte
1

interface eth0 não configurada

literalmente significa

não configurado no arquivo / run / network / ifstate

Os comandos ifupdown têm uma histerese: depois que você ativa uma interface com ifup, ela é armazenada na /run/network/ifstatequal você a ativou.

ifup eth0
cat /run/network/ifstate
eth0=eth0
(+other interfaces)

ifdown eth0
cat /run/network/ifstate
(+other interfaces)

O estado será salvo mesmo se a operação falhar (principalmente porque /etc/network/interfacesnão foi gravada corretamente). Minha principal solução até agora é editar manualmente /run/network/ifstatepara agir como se eth0 estivesse ativo e depois desativá-lo:

nano /run/network/ifstate
eth0=eth0

ifdown eth0

Então você pode começar novamente com a instalação limpa.

koyaaniqatsi
fonte