세트에 호스트 이름 DO의 사용을 hostnamectl
하지만이 같은 호스트 이름을 가진 :
hostnamectl set-hostname nodename
세트에 (DNS) 도메인 이름의 편집 /etc/hosts
파일을하고 다음을 확인하십시오
- 거기에 선
<machine's primary, non-loopback IP address> <hostname>.<domainname> <hostname>
이 있습니다
- 이있는 다른 행은 없으며 여기에는 및 (IPv6) 주소가있는
<some IP> <hostname>
행이 포함됩니다 .127.0.0.1
::1
NIS를 사용하지 않는 한 명령을 (none)
실행할 때 올바른 출력 domainname
입니다.
DNS 도메인 이름이 올바르게 설정되어 dnsdomainname
있는지 확인 하려면 command를 사용 하고 hostname
vs hostname -f
(FQDN)의 출력을 확인하십시오 .
NIS와 DNS 도메인
이 문제는 내가 처음 왔을 때 혼란 스러웠습니다. 이 domainname
명령은 인터넷의 인기를 앞설 것 같습니다 . DNS 도메인 이름 대신 시스템의 NIS (Network Information Service) 일명 YP (Yellow Pages) 도메인 이름 (마스터 NIS 서버에서 서비스를 제공하는 컴퓨터 그룹)을 표시하거나 설정합니다 . 이 명령은 단순히 getdomainname(2)
표준 라이브러리 함수가 반환 한 이름을 표시합니다 . ( nisdomainname
그리고 ypdomainname
이 명령에 대한 대체 이름입니다.)
FQDN 또는 DNS 도메인 이름 표시
수표의 DNS (인터넷) 도메인 이름을, 당신은 실행해야합니다 dnsdomainname
명령 또는 hostname
와 -d, --domain
옵션을 제공합니다. (이 dnsdomainname
명령은 DNS 도메인 이름을 설정하는 데 사용할 수 없으며 표시 할 때만 사용됩니다.)
시스템 의 FQDN (정규화 된 도메인 이름) 을 표시하려면 옵션으로 실행 hostname
하십시오 -f, --fqdn, --long
(이와 같이이 명령을 사용하여 도메인 이름 부분을 설정할 수 없음).
위의 명령은 시스템의 리졸버 ( gethostbyname(3)
POSIX에 지정된 표준 라이브러리 의 기능으로 구현 )를 사용하여 DNS 도메인 이름과 FQDN을 결정합니다.
이름 확인
RHEL 7과 같은 최신 운영 체제에서 hosts
입력 항목 /etc/nsswitch.conf
은 호스트 이름을 확인하는 데 사용됩니다. CentOS 7 시스템에서이 라인은 다음과 같이 구성됩니다 (CentOS 7의 기본값).
hosts: files dns
이는 리졸버 기능이 호스트 이름 또는 IP 주소를 검색 할 때 먼저 /etc/hosts
파일 에서 항목을 확인한 후에 나열된 DNS 서버를 시도 함을 의미합니다 /etc/resolv.conf
.
hostname -f
호스트의 FQDN을 얻기 위해 실행할 때 , 리졸버 함수는 시스템의 호스트 이름에 대한 FQDN을 얻으려고 시도합니다. 호스트가 /etc/hosts
파일 또는 관련 DNS 서버에 나열되지 않으면 시도가 실패하고이를 hostname
보고합니다 Name or service not known
.
hostname -d
도메인 이름을 얻기 위해 실행 되면 동일한 작업이 수행되고 FQDN에서 호스트 이름 부분과 첫 번째 점을 제거하여 도메인 이름 부분이 결정됩니다.
도메인 이름 구성
1. 관련 DNS 이름 서버 업데이트
내 경우에는, 내가 이미 FQDN이 발견되지 않았을 때, 그래서 내 로컬 LAN의 DNS 서버에 나의 새로운 CentOS는 대한 (7) 기계 항목을 추가했다 /etc/hosts
내가 실행할 때 파일 hostname
로 -d
또는 -f
옵션, 로컬 DNS 서비스를 할 수 있었다 새 호스트 이름에 대한 FQDN을 완전히 해결하십시오.
2. /etc/hosts
파일을 사용 하십시오
DNS 서버가 구성되지 않은 경우 /etc/hosts
파일 에서 정규화 된 도메인 이름을 지정할 수 있습니다 . 이를 수행하는 가장 일반적인 방법은 시스템의 기본 IP 주소와 FQDN 및 짧은 호스트 이름을 지정하는 것입니다. 예 :
172.22.0.9 nodename.domainname nodename
hostname
매뉴얼 페이지 에서 발췌
hostname
또는로 FQDN을 변경할 수 없습니다 dnsdomainname
.
FQDN을 설정하는 데 권장되는 방법은 /etc/hosts,
DNS 또는 NIS를 사용하여 호스트 이름을 정규화 된 이름의 별칭으로 만드는 것 입니다. 예를 들어, 호스트 이름이 "ursula"인 경우 다음과 같은 행이있을 수 있습니다 /etc/hosts
.
27.0.1.1 ursula.example.com ursula
기술적으로 : FQDN은 gethostname (2)에 의해 리턴 된 호스트 이름에 대해 getaddrinfo (3)이 리턴하는 이름입니다. DNS 도메인 이름은 첫 번째 점 다음 부분입니다.
따라서 리졸버의 구성 (일반적으로 /etc/host.conf
)을 변경하는 방법 에 따라 다릅니다
. 일반적으로 hosts 파일은 DNS 또는 NIS보다 먼저 구문 분석되므로에서에서 FQDN을 변경하는 것이 가장 일반적입니다
/etc/hosts
.
hostname -f
명령이 CentOS vm에서 작동하지 않습니다.