DHCP 서버를 사용할 수 없을 때 특정 IP 주소를 기본적으로 사용하려는 장치가 있습니다.
/etc/dhcp/dhclient.conf에 다음과 같은 정적 임대가 설정되어 있습니다.
timeout 30;
lease {
interface "eth0";
fixed-address 192.168.1.254;
option subnet-mask 255.255.255.0;
option routers 127.0.0.1;
expire never;
}
작동하지만 eth0은 /var/lib/dhcp/의 dhclient.eth0.leases 및 dhclient.leases가 비어 있는 경우에만 이 IP를 얻습니다.
이에 대해 타당한 이유가 없는 한, 저는 dhcp 서버가 응답하지 않을 때 이전 임대를 사용하는 것보다 dhclient.conf에서 정적 임대를 할당하는 것을 선호합니다. 이렇게 하면 문제 해결 프로세스가 더 쉬워지고 SSH를 통해서만 액세스할 수 있고 현재 IP가 인쇄되지 않은 장치에 접근할 수 있습니다.
dhclient 매뉴얼과 많은 Google 검색을 읽었지만 이를 수행하는 방법에 대한 기본 제공 방법이나 제안을 찾을 수 없습니다.
내가 생각한 해결책:
1 - dhclient.leases를 지우고 수정할 수 없도록 권한을 설정합니다.
2 - dhclient.leases를 /dev/null에 연결하고 수정할 수 없도록 권한을 설정합니다.
3 - #1과 동일하지만 정적 dhclient.conf 임대를 설정하지 않습니다. , 권한을 설정하기 전에 dhclient.leases에 수동으로 추가하세요.
답변1
그 다음에는 다른 모든 방법이 실패할 때 IP 주소를 할당하는 것이 주요 목적인 AVAHI가 있습니다.
AVAHI는 비현실적인 169.254.xx 주소를 배포해야 합니다.
RFC 5735는 RFC3927에 설명된 대로 169.254.0.0/16을 "링크 로컬" 블록으로 지정합니다. 예를 들어 DHCP 서버를 찾을 수 없는 경우 호스트 자동 구성에 사용되는 주소 범위입니다.
답변2
나는 '/etc/sysconfig/network-scripts/ifcfg-eth0:0'을 만들었습니다:
DEVICE=eth0:0
BOOTPROTO=none
ONBOOT=yes
NETWORK=192.168.222.0
NETMASK=255.255.255.0
IPADDR=192.168.222.22
USERCTL=no
이는 단순히 별칭을 사용하여 두 번째 고정 IP를 NIC에 바인딩합니다. 내가 원하는 것은 아니지만 dhclient.conf의 내용을 알아낼 때까지는 작동합니다.
또는 이 정적 목적을 위해 두 번째 네트워크 인터페이스 카드를 연결할 수 있습니다.