나는 무선 eth0
라우터 로 사용하는 Debian 시스템을 가지고 있습니다 wlan0
. 이제 추가 eth1
네트워크를 수동으로 추가했습니다 ifconfig
.
alix:~# ifconfig eth1 192.168.0.2 네트워크 마스크 255.255.255.0 알릭스:~# netstat -rn 커널 IP 라우팅 테이블 대상 게이트웨이 Genmask 플래그 MSS 창 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 유 0 0 0 eth1 192.168.2.0 0.0.0.0 255.255.255.0 유 0 0 0 eth0 192.168.3.0 0.0.0.0 255.255.255.0 유 0 0 0 wlan0 알릭스:~# ping 192.168.0.254 PING 192.168.0.254 (192.168.0.254) 56(84) 바이트의 데이터. 192.168.0.254의 64바이트: icmp_req=1 ttl=64 time=0.537 ms 192.168.0.254의 64바이트: icmp_req=2 ttl=64 time=0.199 ms 192.168.0.254의 64바이트: icmp_req=3 ttl=64 time=0.188 ms ^C --- 192.168.0.254 핑 통계--- 3개의 데이터 패킷 보내기, 3개의 데이터 패킷 수신, 0% 패킷 손실, 시간 2005ms rtt 최소/평균/최대/mdev = 0.188/0.308/0.537/0.161밀리초
보시다시피 모든 것이 잘 작동합니다.
이제 구성을 영구적으로 만들고 싶습니다. 그래서 다음 섹션을 추가했습니다 /etc/network/interfaces
.
alix:~# sed -n '/iface eth1/,/^$/p' /etc/network/interfaces iface eth1 inet 정적 주소 192.168.0.2 넷마스크 255.255.255.0
하지만 네트워크를 시작하려고 하면 다음 오류가 발생합니다.
alix:~# ifconfig eth1 닫기 alix:~# ifup -v eth1 인터페이스 eth1=eth1(inet) 구성 --verbose /etc/network/if-pre-up.d 부분 실행 실행 부분: /etc/network/if-pre-up.d/hostapd를 실행합니다. IP 주소 추가 192.168.0.2/255.255.255.0 브로드캐스트 192.168.0.255 dev eth1 라벨 eth1 RTNETLINK 답변: 파일이 존재합니다 eth1을 시작할 수 없습니다.
명령을 수동으로 실행하면 ip
동일한 오류가 발생합니다.
alix:~# ip addr add 192.168.0.2/255.255.255.0 Broadcast 192.168.0.255 dev eth1 label eth1 RTNETLINK 답변: 파일이 존재합니다
명령에 어떤 문제가 있나요? 어떻게 데비안에게 옳은 일을 하라고 말할 수 있나요?
답변1
장치를 부팅하기 전에 장치를 플러시해야 한다는 것을 알았습니다.
# ip addr flush dev eth1
이와 같이 수동으로 설정된 인터페이스 구성 정보를 지우는 것은에서 언급된우분투 서버 가이드.
답변2
를 사용하면 ip addr flush
작동하지만 해당 인터페이스에 설정된 모든 주소도 지워집니다. 원격 시스템에 로그인한 경우 사용 중인 주소도 포함될 수 있습니다. 이로 인해 장치가 잠길 수 있습니다.
RNETLINK answers: File exists
add
이는 기존 규칙과 충돌하는 규칙을 사용하려고 할 때 발생합니다. 나는 OP ifconfig
가 .add
change
replace
더 안전한 것을 사용하거나 ip addr change
대체 하십시오.ip addr replace
답변3
비슷한 문제가 있습니다. 정확히 이와 같이 10,000달러 시나리오를 플레이할 때 /e/n/id/etho에 누락된 콘텐츠를 계속 추가하려고 했습니다.
그러나 인터페이스에 대한 매뉴얼 페이지를 연구하는 동안 모든 예제 세트에는 실제 데이터의 두 줄, 즉 ipv4 주소 /24와 라우터 주소를 지정하는 게이트웨이 줄만 있다는 것을 알았습니다. 그래서 거기에 있는 eth0 파일을 삭제하고 재부팅했더니 잘 되더군요.