eth0(메인 인터페이스)을 다운할 수 없습니다.

eth0(메인 인터페이스)을 다운할 수 없습니다.

ifdownDebian 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

Marco의 요청에 따라:

user@box:/etc/network/$ cat /run/network/ifstate 
lo=lo
eth1=eth1

답변1

파일의 내용을 확인하십시오 /run/network/ifstate. ifup그리고 ifdown이 파일을 사용하여 어떤 네트워크 인터페이스를 켜고 끌 수 있는지 기록합니다. 따라서 ifup다른 웹 도구를 사용하여 인터페이스를 시작할 때 혼동되기 쉽습니다(예 ifconfig: ).

~에서남자라면

프로그램은 네트워크 인터페이스가 열려 있는지 닫혀 있는지 기록합니다. 특별한 경우에는 이러한 기록이 인터페이스의 실제 상태와 일치하지 않을 수 있습니다. 예를 들어, ifup을 사용하여 가져온 인터페이스가 이후에 구성 해제되면 ifconfig여전히 작동 중인 것으로 기록됩니다. 이 문제를 해결하려면 이 옵션을 사용하여 인터페이스의 현재 상태에 관계없이 구성 또는 구성 해제 명령을 --force강제로 실행 ifup 하거나 실행할 수 있습니다.ifdown

답변2

ifdown아마도 필요하지 않은 많은 작업을 수행하는 고급 프로그램입니다. 또한 모든 곳에서 사용할 수 있는 것은 아닙니다. 보다 이식성이 뛰어난 방법이 도움이 될 수 있습니다.

$ sudo ifconfig eth0 down

그렇지 않은 경우 ifup일부 구성 문제가 있을 수 있습니다. 이 경우 수동으로 높이는 것이 ifconfig eth0 up올바른 옵션이 아닐 수 있습니다. 데비안에서는 ifup바이너리 실행 파일이므로 strace어디에서 멈추는지 알아내려면 이를 살펴봐야 할 수도 있습니다.

$ sudo strace -e open ifup eth0

이를 통해 작업하는 동안 어떤 파일이 열려 있는지 알려주며 ifup, 이로 인해 문제가 발생할 수 있습니다.

다른 시스템(예: RHEL 및 그 파생 시스템)에서는 ifup셸 스크립트이므로 디버깅이 훨씬 쉽습니다.

# sh -x `which ifup` eth0

쉘 스크립트를 실행하면 sh -x실행되는 모든 행이 인쇄되므로 실행을 추적할 수 있습니다.

답변3

이전에 ethX가 .net에서 올바르게 구성되지 않았을 때 이런 일이 발생하는 것을 본 적이 있습니다 /etc/network/interfaces. 이를 위해서는 다음과 같은 것이 필요합니다:-

auto eth0
   iface eth0 inet dhcp

파일이 올바르게 구성되지 않은 경우에도 /etc/network/interfaces다음 명령을 사용하여 eth0을 종료할 수 있습니다.

$ sudo ip link set eth0 down

답변4

에 추가하세요. eth0=eth0​이것은/run/network/ifstate 나에게 효과적이다

관련 정보