
시스템 호스트 이름을 설정하는 "선호되는" 방법은 Red Hat/CentOS와 Debian/Ubuntu 시스템 간에 근본적으로 다릅니다.
CentOS 문서그리고RHEL 배포 가이드호스트 이름을 말해주세요FQDN이어야 합니다.:
HOSTNAME=<value>
,<value>
여기서는 FQDN(정규화된 도메인 이름)이어야hostname.example.com
하지만 필요한 호스트 이름은 무엇이든 될 수 있습니다.
그만큼RHEL 설치 가이드약간 더 모호합니다.
설치 프로그램에서는 이 컴퓨터의 호스트 이름을 제공하라는 메시지를 표시합니다. 정규화된 도메인 이름(FQDN) 형식으로호스트 이름.도메인 이름 또는 형식의 짧은 호스트 이름으로호스트 이름.
데비안 참조호스트 이름을 말합니다FQDN을 사용하면 안 됩니다.:
3.5.5. 호스트 이름
커널은 시스템을 유지한다호스트 이름. "에 심볼릭 링크된 런레벨 S의 초기화 스크립트/etc/init.d/hostname.sh"는 부팅 시 시스템 호스트 이름을 설정합니다(호스트 이름명령) "에 저장된 이름으로/etc/호스트 이름". 이 파일에는 다음이 포함되어야 합니다.오직정규화된 도메인 이름이 아닌 시스템 호스트 이름입니다.
IBM에서 어떤 것을 사용해야 할지에 대한 구체적인 권장 사항을 본 적은 없지만일부 소프트웨어선호도가 있는 것 같습니다.
내 질문:
- 이기종 환경에서는 공급업체 권장 사항을 사용하는 것이 더 낫습니까, 아니면 하나를 선택하고 모든 호스트에서 일관성을 유지하는 것이 더 낫습니까?
- 호스트 이름이 FQDN으로 설정되었는지 또는 짧은 이름으로 설정되었는지에 민감한 소프트웨어는 무엇입니까?
답변1
나는 전체 환경에 걸쳐 일관된 접근 방식을 선택하겠습니다. 두 솔루션 모두 잘 작동하며 대부분의 응용 프로그램과 호환됩니다. 하지만 관리 효율성에는 차이가 있습니다.
HOSTNAME 설정으로 짧은 이름을 사용하고 /etc/hosts
서버 IP의 첫 번째 열로 FQDN을 설정한 다음 짧은 이름을 설정합니다.
나는 둘 사이의 선호도를 강제하거나 표시하는 많은 소프트웨어 패키지를 접하지 못했습니다. 일부 애플리케이션, 특히 로깅에서는 짧은 이름이 더 깔끔하다고 생각합니다. 어쩌면 나는 server.northside.chicago.rizzomanufacturing.com
. 누가 로그나쉘 프롬프트?
때로는 내부 도메인 및/또는 하위 도메인이 변경되는 회사 인수 또는 구조 조정에 참여하기도 합니다. 로깅, 킥스타트, 인쇄, 시스템 모니터링 등은 새 도메인 이름을 설명하기 위해 전체 재구성이 필요하지 않기 때문에 이러한 경우 짧은 호스트 이름을 사용하는 것을 좋아합니다.
내부 도메인이 "ifp.com"인 "rizzo"라는 서버에 대한 일반적인 RHEL/CentOS 서버 설정은 다음과 같습니다.
/etc/sysconfig/network:
HOSTNAME=rizzo
...
-
/etc/hosts:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.100.13 rizzo.ifp.com rizzo
-
[root@rizzo ~]# hostname
rizzo
-
/var/log/messages snippet:
Dec 15 10:10:13 rizzo proftpd[19675]: 172.16.100.13 (::ffff:206.15.236.182[::ffff:206.15.236.182]) - Preparing to
chroot to directory '/app/upload/GREEK'
Dec 15 10:10:51 rizzo proftpd[20660]: 172.16.100.13 (::ffff:12.28.170.2[::ffff:12.28.170.2]) - FTP session opened.
Dec 15 10:10:51 rizzo proftpd[20660]: 172.16.100.13 (::ffff:12.28.170.2[::ffff:12.28.170.2]) - Preparing to chroot
to directory '/app/upload/ftp/SRRID'
답변2
거의 모든 소프트웨어는 호스트 이름을 올바르게 설정하는 데 민감합니다. Digg에서 작업하는 동안 /etc/hosts
시스템의 호스트 이름 개념에 영향을 미치는 겉보기에 무해한 변경으로 인해 전체 사이트를 2시간 동안 다운시킨 적이 있습니다 . 가볍게 밟으세요. 즉, 여기서 약간 혼란스러울 수도 있습니다. 나는 이 HOSTNAME=
설정이 데비안 기반 배포판이 /etc/hostname
.
이기종 환경에서 나에게 맞는 것은 다음과 같습니다.
- 구성 관리 소프트웨어의 조건을 사용하여 공급업체가 권장하는 방식으로 호스트 이름을 설정합니다.
hostname
커널 등에서 사용하는 호스트 이름을 설정하려면 이 명령을 사용하십시오 .안에
/etc/hosts
:127.0.0.1 localhost 10.0.0.1 hostname.example.com hostname
이 구성은 아직 실패하지 않았습니다.
답변3
온라인에서 어떤 식으로든 하라고 알려주는 참고 자료를 찾는 데 아무런 문제가 없을 것입니다. 그러나 제가 보기에는 호스트 이름으로 짧은 이름을 사용하고 /etc/hosts에 정규화된 이름을 사용하는 것이 확실히 훨씬 더 널리 퍼져 있는 것 같습니다. 정규화된 이름이 필요한 서비스를 hostname --fqdn
대신 호출하도록 조정할 수 있으므로 이는 더 합리적인 방법인 것 같습니다.
hostname
최근에 fqdn을 에서 반환하도록 엄격하게 요구하는 소프트웨어 중 하나 인 ganeti를 발견했습니다 . 그들은 이것을 문서화합니다여기. 하지만 그들이 적응하지 못할 이유는 전혀 없습니다 hostname --fqdn
.
답변4
짧은 답변:나는 일반적으로 FQDN을 호스트 이름으로 사용합니다(RH6/7 문서에서 권장됨). 그러나 더 올바른 접근 방식은 단일 레이블 이름을 호스트 이름으로 사용하고 를 통해 FQDN을 설정하는 것입니다 /etc/hosts
. 따라서 접근 방식을 선택하고 가능할 때마다 이를 고수하십시오.
긴 답변:FQDN을 호스트 이름으로 사용하는 주요 이점은 시스템 이름에 본질적으로 도메인 정보가 포함된다는 것입니다. 이는 중복된 호스트 이름을 방지하므로 여러 고객/도메인에 대한 이메일 경고 및/또는 로그를 수신할 때 매우 유용합니다(예: 호스트 이름은 여러 사이트/고객/도메인에서 어느 정도 고유함을 보장합니다). 예를 들어, SNMP는 sysName
기본적으로 호스트 이름을 표시하고 FQDN을 사용하여 더 유용한 정보를 전달합니다. zabbix-agent
(및 기타 모니터 도구) 또는 bash 의 경우 에도 마찬가지입니다 $HOSTNAME
. 단일 레이블 호스트 이름이 있는 시스템에서도 FQDN을 사용하도록 이러한 도구를 구성하거나 시스템이 포함된 도메인을 명확하게 표시하는 계층적 모델에서 구성할 수 있지만 이는 추가 작업입니다.
일부 애플리케이션은 심지어필요하다FQDN을 호스트 이름으로 사용하지만 이는 완전히 예외입니다. 그러나 예외가 발생하면 단일 레이블 호스트 이름의 동종 사용이 손실됩니다. 이것이 아마도 RedHat이 RH6/7에서 호스트 이름으로 FQDN을 사용하도록 권장하는 주된 이유일 것입니다. 최신 문서는 더 모호합니다. ~에"표준 RHEL 8 설치 수행"다음을 읽을 수 있습니다.
호스트 이름은 호스트 이름.도메인 이름 형식의 FQDN(정규화된 도메인 이름)이거나 도메인 이름이 없는 짧은 호스트 이름일 수 있습니다. 많은 네트워크에는 연결된 시스템에 도메인 이름을 자동으로 제공하는 DHCP(동적 호스트 구성 프로토콜) 서비스가 있습니다. DHCP 서비스가 이 시스템에 도메인 이름을 할당하도록 허용하려면 짧은 호스트 이름만 지정하십시오.
~하는 동안"고급 RHEL 8 설치 수행"상태:
네트워크가 DHCP 서비스를 제공하지 않는 경우 항상 FQDN을 시스템의 호스트 이름으로 사용하십시오.
원래 질문 사이에 몇 년 동안 사용자 응용 프로그램은 이전 답변에 설명된 문제 없이 FQDN 호스트 이름을 처리하는 방법을 배웠습니다. 예를 들어, bash PS1
프롬프트는 \h
기본적으로 (첫 번째 '.'까지의 호스트 이름)을 사용하며 rsyslog
다음을 수행합니다 .~ 아니다기본적으로 로그 파일에 FQDN을 유지합니다. 즉, FQDN 호스트 이름의 유용성 단점은 더 이상 많은 일반 도구에 적용되지 않습니다. 이러한 이유로 저는 일반적으로 시스템 호스트 이름을 FQDN으로 설정하고 /etc/hosts
필요에 따라 단축 이름을 그대로 둡니다.
이유는~ 아니다FQDN 호스트 이름을 사용하는 것은 솔직히 말해서옳은 일. 각각에 명시된 바와 같이데비안 문서그리고호스트 이름 매뉴얼 페이지:
이 파일에는 정규화된 도메인 이름이 아닌 시스템 호스트 이름만 포함되어야 합니다.
그리고
이 이름에는 점 없이 단일 라벨만 포함하는 것이 좋습니다.
그래서 내가 하는 동안느끼다FQDN 호스트 이름을 사용하는 것이 불안합니다.~이다내 환경에서 더 쉽게 사용할 수 있습니다.
이는 단일 라벨 호스트 이름에 대한 항소가 아닙니다. 효과가 있다면 계속 사용하세요. 그렇지 않으면 FQDN 호스트 이름을 사용해 보십시오.