
/etc/network/interfaces
내 헤드리스 시스템 중 하나에 유선 이더넷을 통해 고정 IP 주소가 할당되었습니다 . DHCP 서버이기도 한 라우터에 연결됩니다. 며칠 후 고정 주소가 삭제되고 DHCP 주소로 대체됩니다. 왜 그럴까요?
sudo ifdown eth0 && sudo ifup eth0
재부팅 을 하면sudo service networking restart
시스템이 다시 고정 주소를 사용하지만 며칠 후 IP 주소가 동적 주소로 변경됩니다.- 네트워크에 (우연히) 동일한 고정 주소를 가진 다른 시스템이 없습니다.
- NetworkManager가 시스템에서 실행되고 있지 않습니다.
- 주소가 변경되자마자 나에게 이메일을 보내도록 시스템을 설정했지만, 그 변경이 발생하는 시간은 완전히 무작위인 것 같습니다. DHCP 임대 시간은 24시간이지만 상관 관계가 없는 것 같으며 어쨌든 고정 주소에는 중요하지 않습니다.
- 내 /etc/network/interfaces는 다음과 같습니다.
자동 로 iface lo inet 루프백 자동 eth0 iface eth0 inet 정적 주소 192.168.124.104 게이트웨이 192.168.124.253 넷마스크 255.255.255.0
약간의 퍼즐입니다.
시스템이 고정 주소를 포기하고 대신 DHCP 주소를 요청하게 만드는 원인은 무엇입니까? 어떤 로그 파일에서 무엇을 찾아야 합니까?
답변1
최근에 나는 우연히 이 문제를 발견했고 몇 가지 조사 후에 /etc/dhcp/dhcp.conf에 다음과 유사한 블록을 추가하거나 주석 처리를 제거해야 한다는 사실이 밝혀졌습니다.
별칭 { 인터페이스 "eth0"; 고정 주소 10.1.1.1; 옵션 서브넷 마스크 255.0.0.0; }
도움이 되었기를 바랍니다!
감사합니다, 글렌던 그로스
답변2
흠, 이상하네요... 그게 중요한지는 잘 모르겠지만, 깔끔함을 위해 매개 netmask
변수를 "게이트웨이" 뒤가 아니라 "주소" 바로 뒤에 배치하겠습니다. 또한 호스트에서 ( isc-
) 패키지를 제거/비활성화해야 하며 ipv6 및 패키지에 주의해야 합니다. 그 전에: 무슨 일이 일어나고 있는지 알아내는 방법은 DHCP 포트(서버 67 UDP 및 클라이언트 68 UDP)에서 들어오고 나가는 모든 트래픽을 허용하고 기록하는 방화벽 규칙을 적용하거나 장치 상태에 대한 로깅을 생성하는 것입니다 . 트래픽을 냄새 맡아보세요. dhcp-client
resolveconf
dhcp-client
하지만 해결 방법(또는 대체 솔루션)은 일부 호스트에 대해 DHCP 예약을 구성하거나 해당 DHCP 주소에 대해 무한 임대 시간을 구성하는 것입니다. 저에게는 정말 잘 작동하고 중앙 집중식 관리가 장점입니다. DHCP 서버가 모뎀/라우터인 경우 웹 인터페이스(임대 시간 또는 예약)에서 이를 구성할 수 있으며 일부 라우터에서는 "고정 주소" 확인란을 선택할 수도 있습니다. 자체 서버(Ubuntu?)를 구성한 경우 dhcpd.conf
다음과 같은 몇 줄을 추가하여 파일을 편집해야 합니다.
host Accountant {
hardware ethernet 00:1F:6A:XX:XX:XX;
fixed-address 192.168.124.104;
}
답변3
나는 이것이 오래되었다는 것을 알고 있지만 내가 겪고 있던 비슷한 문제에 직면했습니다. 또한 도움을 요청하기 위해 Canonical에 사례를 열었습니다.
그 이후로 나는 내 문제를 해결했으며 이 게시물이 우연히 발견될 수 있는 다른 사람에게 유용할 수 있기를 바라며 이 게시물로 돌아왔습니다. 결국 내 문제는 'wicd-daemon'으로 밝혀졌습니다. 패키지가 어떻게, 왜 설치되었는지는 잘 모르겠지만, 이것이 내 고정 주소를 삭제하고 다른 네트워킹 문제를 일으키는 주요 원인이었습니다.
내 문제의 증상은 네트워크 케이블을 뽑았다가 다시 연결하면 dhclient가 시작된다는 것입니다. 여기에 보고된 문제와 유사하게 다른 IP 주소를 얻게 됩니다. NIC를 수동으로 설정하면 괜찮았지만 나중에 임의의 시간에 다른 IP를 얻게 됩니다(백그라운드에서 실행 중인 dhclient로 인해). dhclient가 실행 중인지 확인하세요. dhclient가 실행되는 이유는 또 다른 문제입니다. 아래에서는 dhclient를 해결한 방법을 설명합니다. 결국 여러 경로(avahi, ntpd, ifup, ...)를 추적하게 되었습니다. 제 경우에는 wicd-daemon이었습니다.
이 문제는 원래 네트워크 케이블을 물리적으로 이동해야 하는 네트워크를 전환할 때 테스트에서 밝혀졌습니다. 이로 인해 발생해서는 안되는 네트워킹 문제가 발생했습니다. 또한 고정 IP가 떨어지거나 변경될 것이라고는 예상하지 못했기 때문에 문제를 발견하는 데 약간의 시간이 걸렸습니다.
결국 wicd-daemon과 python-wicd를 제거하여 문제가 해결되었습니다. 이제 내 시스템은 네트워크 케이블이 분리된 경우에도 고정 IP 주소를 유지합니다. 저도 dhclient가 시작되는 걸 본 적이 없어서 문제도 저절로 해결된 것 같아요. 다른 경로도 따라갔고, 내가 겪고 있는 문제에 중요한 역할을 하는 avahi를 살펴봤고, ntpd도 살펴보았습니다. (이상한 건 알지만 동시에 다른 문제가 syslog에 표시되고 있었습니다. NTPD는 아마도 그것과 아무 관련이 없지만 의심스러운 로그를 생성하고 있었습니다. 다른 테스트를 수행하는 동안 우연히 실행 중인 이상한 프로세스를 우연히 발견할 때까지 여러 가지 토끼 구멍을 겪었습니다.
간단히 말해서 dhclient가 실행 중이고 시스템에서 wicd와 같은 네트워크 관리자가 실행 중인지 확인하십시오. 이는 고정 주소에 문제를 일으키는 원인일 수 있습니다.
답변4
인터페이스가 여러 개인 경우 파일에 올바른 인터페이스를 정의했는지 확인하세요 /etc/network/interfaces
.
나에게 문제는 auto lo
파일 시작 부분에 정의되어 있었습니다. 그러나 실제로는 그 대신에 auto eth0
.
올바르게 정의되면 재부팅 시 고정 IP가 유지됩니다.
이것이 누군가에게 도움이 되기를 바랍니다.