ifconfig 대신 ip addr를 사용하면 “ RTNETLINK 답변 : Debian에 파일이 있음 ”

eth0wlan0에서 무선 라우터로 작동하는 Debian 시스템이 있습니다. 이제 ifconfig :

 alix:~# ifconfig eth1 192.168.0.2 netmask 255.255.255.0 alix:~# netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 eth0 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0 alix:~# ping 192.168.0.254 PING 192.168.0.254 (192.168.0.254) 56(84) bytes of data. 64 bytes from 192.168.0.254: icmp_req=1 ttl=64 time=0.537 ms 64 bytes from 192.168.0.254: icmp_req=2 ttl=64 time=0.199 ms 64 bytes from 192.168.0.254: icmp_req=3 ttl=64 time=0.188 ms ^C --- 192.168.0.254 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2005ms rtt min/avg/max/mdev = 0.188/0.308/0.537/0.161 ms 

를 사용하여 eth1에 수동으로 네트워크를 추가했습니다.

보시다시피 모든 것이 잘 작동합니다.

이제 구성을 영구적으로 만들고 싶습니다. 그래서 다음 섹션을 /etc/network/interfaces에 추가했습니다.

 alix:~# sed -n "/iface eth1/,/^$/p" /etc/network/interfaces iface eth1 inet static address 192.168.0.2 netmask 255.255.255.0 

하지만 네트워크를 시작하려고하면 다음 오류 :

 alix:~# ifconfig eth1 down alix:~# ifup -v eth1 Configuring interface eth1=eth1 (inet) run-parts --verbose /etc/network/if-pre-up.d run-parts: executing /etc/network/if-pre-up.d/hostapd ip addr add 192.168.0.2/255.255.255.0 broadcast 192.168.0.255 dev eth1 label eth1 RTNETLINK answers: File exists Failed to bring up eth1. 

ip 명령을 수동으로 실행하면 동일한 오류가 발생합니다.

 alix:~# ip addr add 192.168.0.2/255.255.255.0 broadcast 192.168.0.255 dev eth1 label eth1 RTNETLINK answers: File exists 

명령에 어떤 문제가 있습니까? 데비안에게 옳은 일을하도록 어떻게 지시 할 수 있습니까?

답변

이전에 장치를 플러시해야했던 문제를 해결했습니다. 불러 오기 :

# ip addr flush dev eth1 

이와 같이 수동으로 설정된 인터페이스 구성 정보를 지우는 것은 에 언급 된 입니다. Ubuntu 서버 가이드 .

댓글

  • 여전히 (약간 다른) 오류가 표시됩니다. RTNETLINK answers: No such process Failed to bring up eth1하지만 내 Eth1이 이제 올바르게 할당되고 UP / UP입니다.
  • 예, 여기에도 동일한 문제가 있습니다. RTNETLINK answers: No such process Failed to bring up eth1
  • 답변으로 문제가 해결 되더라도. 그것이 실제로 무엇을하는지 말할 수 있다면 좋을 것입니다. 존재하는 RTNETLINK 파일은 무엇입니까?
  • @ceving : RTNETLINK answers file이 무엇인지 설명해 주시겠습니까? 또한 플러시 후 네트워크 카드가 새 IP를 자동으로 가져 오지 않습니다. DHCP에 새 IP를 요청하는 방법은 무엇입니까?
  • 한 가지주의 사항은 이것이 항상 원하는 것은 아니지만 모든 범위를 지운다는 것입니다. (어려운 방법으로 발견했습니다.)

답변

ip addr flush는 작동하지만 원격 시스템에 로그인 한 경우 사용중인 주소를 포함하여 해당 인터페이스에 설정된 모든 주소도 지워집니다. 이로 인해 장치가 잠길 수 있습니다.

RNETLINK answers: File exists는 기존 규칙과 충돌하는 규칙을 add하려고 할 때 발생합니다. OP가 이미 ifconfig로 주소를 설정했기 때문에이 문제가 발생한 것 같습니다. 이 오류는 일반적으로 add 명령을 유사한 구조의 change 또는 replace 명령.

ip addr change 또는 ip addr replace를 대신 사용하는 것이 훨씬 안전합니다.

댓글

  • ifupifdown 만 사용하는 사용자에게는 옵션이 아닙니다. , 명령이 해당 스크립트에 고정되어 있기 때문입니다.
  • @alerone using " sudo ip addr change "는 이 출력을 던져주세요. " 정보가 충분하지 않습니다. " dev " 인수가 필요합니다. " 아이디어를 사용하려면 더 많은 정보가 필요합니다. 좋을 것 같습니다.

답변

1 만 머니 씬을 플레이했을 때와 비슷한 문제가있었습니다. dd 누락 된 항목은 / e / n / id / etho에 있습니다.

그러나 인터페이스에 대한 man 페이지를 살펴보면 모든 예제 세트에 실제 데이터가 2 줄인 ipv4 주소 / 24 만 있음을 알았습니다. , 라우터의 주소를 지정하는 게이트웨이 라인. 그래서 eth0 파일을 제거하고 재부팅하여 완벽하게 작동했습니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다