CentOS7: 네트워크 관리자가 잘못된 검색 도메인을 사용합니다.

CentOS7: 네트워크 관리자가 잘못된 검색 도메인을 사용합니다.

Red Hat 7의 Network Manager에서 호스트 이름을 변경한 후 이전/잘못된 검색 도메인이 사용되는 문제를 발견했습니다. /etc/resolv.conf에는 다음이 표시됩니다.

# Generated by NetworkManager
search **ec2.internal** d.sample.com
nameserver 172.31.0.2

이것을 입력하면 hostname원하는 결과가 표시됩니다.

[root@testing01 ~]# hostname
testing01.d.sample.com

하지만바꾸다검색 도메인은추가검색 도메인에 새 도메인 이름을 추가합니다. ec2.internal을 완전히 제거하고 이 도메인 이름을 완전히 없애고 싶습니다. 파일을 직접 편집하면 /etc/resolv.conf네트워크 관리자에 의해 손상됩니다. /etc/resolv.conf꼭 필요한 경우가 아니면 Network Manager나 NM 관리를 비활성화하고 싶지 않습니다 .

그렇다면 1) NM이 내 검색 도메인을 계속 복원하는 이유는 무엇이며 2) nmcli 또는 명령줄 도구만 사용하여 이 문제를 어떻게 해결할 수 있습니까?

답변1

몇 시간의 고민 끝에 마침내 문제를 해결했습니다. 이는 DHCP를 통해 설정되는 것으로 나타났습니다.

nmcli -f ip4 device show eth0
IP4.ADDRESS[1]:                         172.31.53.162/20
IP4.GATEWAY:                            172.31.48.1
IP4.DNS[1]:                             172.31.0.2
IP4.DOMAIN[1]:                          ec2.internal

네트워크 인터페이스의 ipv4.dns-search 값을 재정의하여 IP4.DOMAIN[1]을 재정의할 수 있었습니다.

nmcli connection modify uuid \`nmcli connection show --active | grep 802-3-ethernet | awk '{print $(NF-2)}' | tail -n 1` ipv4.dns-search d.sample.com

아니면 더 간단하게,

nmcli connection modify System\ eth0 ipv4.dns-search "d.sample.com"

그런 다음 NetworkManager를 다시 시작해야 합니다.

systemctl restart NetworkManager.service

또한 Amazon 인스턴스를 사용하고 있기 때문에cloud.cfg 파일을 업데이트해야 합니다.

답변2

/etc/resolv.conf 파일은 네트워크가 변경되거나 업데이트될 때 항상 덮어쓰여집니다. 폴더에 있는 파일 /etc/resolvconf/resolv.conf.d/, 즉 head파일을 편집하여 기록되는 내용을 제어할 수 있습니다.

/etc/resolvconf/resolv.conf.d/head파일에 넣으십시오 .

nameserver 172.31.0.2
search testing01.d.sample.com

/etc/resolv.conf이제 업데이트될 때마다 이것이 제목이 됩니다.

고쳐 쓰다

Redhat 기반 시스템의 경우 다음 단계를 사용하십시오.

에 있는 네트워크 스크립트를 편집합니다 /etc/sysconfig/network-scripts. 감지된 네트워크 장치에 대한 항목이 표시됩니다(예: ifcfg-eth0은 네트워크 어댑터를 나타냄 eth0).

이 파일 편집( /etc/sysconfig/network-scripts/ifcfg-eth0):

다음 줄을 추가하세요.

DOMAIN=sample.com

또한 다음 명령을 실행하십시오.

$ sudo hostnamectl set-hostname --static "testing01.d.sample.com"

변경 사항을 적용하려면 시스템을 재부팅해야 할 가능성이 높습니다.

답변3

"nmcli 연결 수정..."이 연결 파일을 변경하지만 활성 연결은 변경하지 않는 경우:

nmcli c는 /etc/NetworkManager/system-connections/the-connection-name[-possible-uuid-too]를 로드합니다.

man nmcli: connect --load filename... 디스크에서 하나 이상의 연결 파일을 로드/다시 로드합니다. 연결 파일을 수동으로 편집한 후 이 명령을 사용하면 NetworkManager가 최신 상태를 인식할 수 있습니다.

답변4

추가하고 싶습니다. 첫 번째 오해는 호스트 이름이 무엇인지입니다. 명령줄에 이것을 입력하면 hostname서버(호스트)의 이름만 출력됩니다. FQDN은 호스트 이름과 도메인을 연결한 것입니다.

명령이 hostname출력 되면 host.domain.com호스트 이름이 올바르게 지정되지 않은 것입니다. 이것이 잘못된 이유는 호스트 이름에 검색 순서를 추가하기 때문입니다. 동일한 도메인에서 수행해야 하는 모든 솔루션은 다음과 같이 끝납니다.hostname.doimain.com.domain.com

  • 파일 형식은 /etc/hosts다음과 같아야 합니다: IP, 호스트 이름, 호스트 이름 + 호스트가 속한 도메인
    xx.xx.xx.xx host host.domain.com
    
  • 파일 /etc/resolve.conf에는 다음이 포함되어야 합니다.
    search domain.com
    
  • /etc/hostname파일에는 다음이 포함되어야 합니다.
    host
    

파일의 항목은 /etc/hostsIP에 대한 호스트 이름 및 FQDN 확인을 허용합니다. DNS 확인은 호스트를 확인한 다음 검색 명령을 추가하여 해당 호스트가 도메인에 있는지 확인합니다.

관련 정보