Não consigo ifdown
uma interface no Debian 6.0.5:
user@box:/etc/network$ sudo ifdown eth0 && sudo ifup eth0
ifdown: interface eth0 not configured
SIOCADDRT: File exists
Failed to bring up eth0.
user@box:/etc/network$ cat interfaces
auto lo
iface lo inet loopback
allow-hotplug eth0
allow-hotplug eth1
auto eth0
iface eth0 inet static
address 10.0.0.1
netmask 255.255.255.0
gateway 10.0.0.254
auto eth1
iface eth1 inet manual
Conforme solicitado pelo marco:
user@box:/etc/network/$ cat /run/network/ifstate
lo=lo
eth1=eth1
debian
networking
jwbensley
fonte
fonte
/run/network/ifstate
contém?Respostas:
Verifique o conteúdo do arquivo
/run/network/ifstate
.ifup
eifdown
use esse arquivo para observar quais interfaces de rede podem ser ativadas e desativadas. Assim,ifup
pode ser facilmente confundido quando outras ferramentas de rede são usadas para abrir uma interface (por exemploifconfig
).De man ifup
fonte
eth0=eth0
ao/run/network/ifstate
para reconhecer a interface e configurá-la corretamente. Essa resposta me ajudou a apontar para o arquivo, mas parou de sugerir essa adição, que foi o que resolveu meu problema semelhante.auto
em/etc/network/interfaces
? Ele deve aparecer/run/network/ifstate
sem a necessidade de modificar manualmente o arquivo.--force
foi a resposta para mim; descobriu-seifup
que não trouxe a interface em primeiro lugar por causa de uma falha no comando/etc/network/if-pre-up.d
; sorte eu ter rede em tudo!ifdown
é um programa de alto nível que faz muitas coisas que você pode não precisar. Além disso, ele não está disponível em todos os lugares. A maneira mais portátil pode funcionar para você:Se você não
ifup
conseguir, provavelmente terá algum problema de configuração. Criá-lo manualmenteifconfig eth0 up
provavelmente não é a coisa certa nesse caso. No Debian,ifup
é um executável binário, então você provavelmente precisariastrace
disso para descobrir onde ele está sendo desligado:Isso informará quais arquivos
ifup
estão abrindo enquanto ele funciona, o que pode indicar o problema.Em outros sistemas (por exemplo, RHEL e derivados),
ifup
há um script de shell, portanto é muito mais fácil depurar:A execução de um script de shell
sh -x
faz com que ele imprima todas as linhas que executa, para que você possa rastrear a execução.fonte
sudo ifconfig eth0 down && sudo ifconfig eth0 up
que abalaria a interface para cima e para baixo, mas eu estava tentando disparar manualmente um script se-up que eu estava escrevendo e que não estava fazendo isso. Depois de atualizar meu arquivo / etc / network / run / ifstate, o ifdown / up funciona agora. Obrigado pela sua informação! :)ifdown
é um programa de alto nível que faz muita coisa que você pode precisar.ifconfig eth0 down
é mais portátil e sempre pode ser executado, mas não executa as tarefas de limpeza queifdown
podem ser realizadas.ifconfig
o tempo todo, evitandoifup/down
. Eu o sugeri apenas como uma etapa de solução de problemas. Pelo que entendi, o problema acabou sendo resultado do uso, eifconfig
nãoifup/down
, confundindo os mecanismos de alto nível. Mas eu não sabia disso quando postei minha resposta.Já vi isso antes, quando o ethX não estava configurado corretamente
/etc/network/interfaces
. Isso precisa de algo como: -Mesmo com um
/etc/network/interfaces
arquivo configurado incorretamente , você ainda pode desativar o eth0 com:fonte
auto
. Obrigado.Para quem está enfrentando esse problema:
Eu verifiquei o arquivo ifstate. "Interface-name" em / run / network.
Como estava vazio, incluí o "nome da interface" (eth0) no arquivo ifstate. "Nome da interface" em / run / network.
fonte
Adicionar
eth0=eth0
a/run/network/ifstate
. Isso funcionou para mimfonte
O que eu achei me ajudou é chamar o
rm
comando para remover o arquivo de bloqueio dentro/run/network/
Faça
ls -la
e você deverá ver um.ifstate
arquivo oculto ou algo com esse nome.Remova isso e tente:
ifdown && ifup
Se você estiver preocupado, pode quebrar algo, basta fazer uma cópia desse arquivo fora do diretório e remover o arquivo dentro do diretório.
fonte