ifup을 실행할 때“RTNETLINK 답변 : 파일이 있습니다”해결


43

새로운 Wi-Fi 동글을 받았을 때 같은 문제가있는 사람들을 보았을 때이 문제가 발생했습니다. 기본적으로 하나의 인터페이스가 구성되어 있고 다른 인터페이스로 바꾸려고 할 때이 오류가 발생합니다.

RTNETLINK 답변 : 파일이 있습니다.
eth0를 불러 오지 못했습니다.

또는 비슷한 것.

/etc/network/interfaces 파일:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 192.168.1.2
    netmask 255.255.255.0
    gateway 192.168.1.1

iface wlan0 inet static
    address 192.168.1.3
    netmask 255.255.255.0
    gateway 192.168.1.1

1
Linux에서 둘 이상의 기본 게이트웨이를 가질 수 없습니다. 특히 두 개의 다른 인터페이스에서 동일한 기본 게이트웨이를 가질 수 없습니다. 그리고 두 개의 다른 인터페이스에서 동일한 네트워크를 가질 수 없습니다.
ceving

@ceving 같은 네트워크에서 두 개의 인터페이스를 갖는 데 아무런 문제가 없습니다. 이 두 인터페이스에 동일한 게이트웨이가있는 경우에도 문제가 없습니다. 라우팅 테이블은 엄격한 방식으로 구문 분석되며 항목이 있다고 상상할 수 있습니다 destination IP -> interface. 따라서 라우팅 테이블에서 맨 처음부터 구문 분석하는 인터페이스를 통해 게이트웨이로 전송됩니다.
조지

IPV6를 다루는 경우 항상 네트워크 길이를 추가하십시오 : xxxx : xxxx : ... :: 1/64 주소
fcm

답변:


46

@ theoB610에서 제공 한 솔루션이 여전히 작동하지 않으면 및 wlan0이전 에 장치 를 플러시해야 할 수도 있습니다 .ifupifdown

sudo ip addr flush dev wlan0

이것은 Raspberry Pi에만 국한되지 않는 문제입니다. 비슷한 문제가 발생했으며 여기 에서 유선 네트워크에서 해결되었습니다 (Pi 문제에 대한 해결책을 얻은 곳에서).


1
HP ProLiant 서버 (!)에서이 문제가 발생하여 문제가 해결되었습니다.
sudo

1
훌륭한 솔루션. 기본 문제는 자동 또는 수동 (cmd 줄에서 ifconfig를 실행하는 것과 같은)의 일부 이전 구성이 여전히 남아 있다는 것입니다. flush 명령은 해당 상황을 수정합니다.
kmarsh

1
/etc/sysconfig/network-scripts/ifcfg-*NetworkManager가 일부 설정을 좋아하지 않고 대체 파일을 만들지 않아 잘못된 파일이 있을 때이 문제가 발생하여 여러 개의 추가 파일을 작성하고 오류가 발생했습니다 RTNETLINK answers: File exists. 깨진 것들 (프로파일로 표시되지 않은 것들)을 제거하는 것이 해결책 인 것 같습니다.
Wilf

2
프로덕션 서버에 복사하여 붙여 넣지 마십시오. wlan0을 eth0으로 바꾸고 인터페이스가 즉시 다운되어 돌아오고 싶지 않습니다.
Fusseldieb

1
아무도 가장 단순하고 규칙적으로 가장 안전한 방법을 제공하지 않았다는 점에 흥미가 reboot있습니다. 예를 들어 플러싱 인터페이스를 사용하면 문제가 발생했습니다. 인터페이스 / IP가 다운되어 콘솔에서만 직접 연결할 수 있었기 때문에 재부팅이 항상 나에게 적합한 방법입니다.
Stamster

24

ifup (Lennart 's weblog)을 실행할 때“RTNETLINK 답변 : 파일이 있습니다”해결 에서 해결책을 찾을 수 있다고 생각합니다 . 그것은 확실히 나를 위해 그것을 고쳤다.

기본적으로 인터페이스 파일에는 하나의 게이트웨이 만 할당 할 수 있습니다. 게이트웨이 가 한 번만 나타나 도록 결정하는 중복 행을 제거하십시오 .

수정 된 / etc / network / interfaces 파일 :

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 192.168.1.2
    netmask 255.255.255.0
    gateway 192.168.1.1

iface wlan0 inet static
    address 192.168.1.3
    netmask 255.255.255.0
    #gateway 192.168.1.1  <= Either comment or remove this line

이 문제를 해결해 주신 Lennart에게 감사드립니다!


Google을 통해이 답변을 우연히 발견했습니다. 이 하이퍼 V에 우분투 VM에 나를 위해 일한 것입니다
abhijit

8

나는 해결했다 :

sudo ifup --ignore-errors wlan0

이 명령 후 ifdown 및 ifup이 올바르게 작동합니다.


이것은 "서비스 네트워킹 재시작"이 실패한 후에 유용합니다. :)
Adambean

1

단계 :

1 확인-> ip route(IP 경로 기본값이 필요한 인터페이스가 아닌 경우 2d 및 3 단계를 수행하십시오)

2 sudo ip route del default(기본 인터페이스 삭제)

3 sudo ip route add default via ip_address dev interface_name(이와 같이 필요한 인터페이스를 추가하십시오)


0

내 경우에는 다른 연결이 여전히 실행 중입니다. ifdown eth0으로 인터페이스를 중단하면 관심있는 (wlan0)이 깨끗하게 나타납니다.

--ignore-errors 옵션을 사용하지 않는 것이 좋습니다


0

VMWare vCenter를 어지럽히 면서이 문제를 우연히 발견했습니다. 같은 보트에 있다면 VM의 템플릿 / 스냅 샷을 만들기 전에 패키지 관리자와 함께 VMWare 도구, perl 및 net-tools를 설치해야합니다.


-1

강제 해제 / 구성

ifdown --force --verbose ethX && ifup --force --verbose ethX
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.