모든 RHEL 7 서버에서 이상한 상황에 직면했습니다. 모든 RHEL 7 VM은 DHCP IP를 제공하는 VM에 연결된 구성 도구를 사용하여 구성됩니다. 구성이 완료되면 배치 스크립트를 실행하여 NIC를 정적으로 만들고 resolv.conf
유효한 값으로 업데이트합니다.
하지만 우리는 그것이 /usr/sbin/dhcpclient-script
그 값으로 업데이트되는 것을 볼 수 있습니다 resolv.conf
.
두 NIC의 프로필에는 BOOTPROTO=static
, DNS1=x.x.x.x
, DNS2=x.x.x.x
및 PEERDNS=no
기타 필수 값이 있습니다.
resolv.conf
NIC를 정적으로 설정한 후에도 구성에 사용되는 DHCP 서버가 수정되는 이유를 이해할 수 없습니다 .
답변1
/etc/dhcp/dhclient-enter-hooks
다음 내용으로 파일을 만듭니다 .
#!/bin/sh
make_resolv_conf(){
:
}
실행 가능하게 만들어라chmod +x /etc/dhcp/dhclient-enter-hooks
에 대한 설명man dhclient-script
연결하다
클라이언트 스크립트가 시작되면 먼저
make_resolv_conf
나중에/etc/resolv.conf
파일을 생성하는 데 사용되는 셸 함수를 정의합니다. 기본 동작을 재정의하려면 Enter 후크 스크립트에서 이 함수를 재정의하세요.함수를 정의한 후
make_resolv_conf
클라이언트 스크립트는 실행 가능한 스크립트가 있는지 확인하고/etc/dhcp/dhclient-enter-hooks
, 있으면 Bourne Shell '.'을 사용하여 인라인 스크립트를 호출합니다. 주문하다. OPERATION 아래에 기록된 전체 환경은 이 스크립트에서 사용할 수 있으며 스크립트의 동작을 변경해야 하는 경우 환경을 수정할 수 있습니다.
답변2
이 답변에 대한 모든 크레딧은 @GAD3R에게 있습니다. 내 시스템의 디렉토리 구조에서는 파일을 .d 디렉토리에 배치하도록 권장합니다. 이것은 미래에 더 유지 관리하기 쉬운 방법인 것 같습니다. 이것을 @GAD3R의 답변으로 편집하고 싶지만 이것이 인기가 있을지는 모르겠습니다. 어쩌면 .d 디렉토리가 없는 시스템이 여전히 존재할 수도 있습니다. 나는 복사하여 붙여넣을 수 있는 솔루션을 좋아합니다.
sudo tee /etc/dhcp/dhclient-enter-hooks.d/unhand-resolv-conf <<EOF
#!/bin/sh
make_resolv_conf(){
:
}
EOF
sudo chmod +x /etc/dhcp/dhclient-enter-hooks.d/unhand-resolv-conf
답변3
resolvconf가 기본적으로 어떻게 작동하는지 살펴보고 있을 것입니다.
/etc/resolv.conf를 변경하지 않으려면 다음 명령이 실행되도록 예약하십시오. 재부팅 시 실행되도록 예약하세요.
resolvconf --disable-updates