호스트 이름이 FQDN을 제공하지 않을 때 FQDN을 결정하시겠습니까?

호스트 이름이 FQDN을 제공하지 않을 때 FQDN을 결정하시겠습니까?

~ 안에다른 질문, Puppet이 내 컴퓨터의 FQDN에 대한 인증서를 생성했지만 단순 호스트 이름이 아닌 것을 발견했습니다. 이 예에서 는 kungfumaster호스트 이름이고 를 실행하여 검색된 값입니다 hostname. Puppet이 FQDN을 지정한 인증서를 생성하고 있었습니다 kungfumaster.domain.com.

Puppet은 이것이 내 FQDN임을 어떻게 확인했습니까? 나는 다음을 모두 시도했지만 일치하는 것을 보지 못했습니다 *.domain.com.

$ hostname -a && hostname -d && hostname --domain && hostname -f && \ 
    hostname --fqdn && hostname -A && hostname --long

kungfumaster
kungfumaster
kungfumaster 
kungfumaster

kungfumaster.domain.comBash에서 어떻게 얻을 수 있나요 ? domain.com실제로 에 존재한다는 것을 알았지 /etc/resolv.conf만 다른 곳에서는 찾을 수 없었습니다.

기본적으로 현재 컴퓨터의 FQDN을 문자열로 가져오고 싶습니다. unix.se의 다른 솔루션은 저에게 효과적이지 않았습니다. (예: dnsdomainname, domainname등)

답변1

내부적으로 Puppet은 Facter를 사용하여 도메인 이름을 평가하는 것으로 보입니다.

$ facter domain
domain.com
$ facter hostname
kungfumaster
$ facter fqdn
kungfumaster.domain.com

답은 에 있습니다관련 Factor 소스 코드.

다음을 순서대로 수행하고 도메인 이름이 포함된 것으로 보이는 첫 번째 이름을 사용합니다.

  1. 호스트 이름 -f
  2. DNS도메인 이름
  3. "도메인" 또는 "검색" 항목에 대한 resolv.conf 구문 분석

답변2

아마도 귀하의 시스템이 도메인 이름을 할당하는 도메인 네트워크의 일부이기 때문일 것입니다. 예를 들어 내 경우 라우터는 모든 호스트 이름을 형식으로 확인합니다 host.lan. "lan"은 내 도메인이고 "host"는 내 시스템 이름입니다.

FQDN은 라우터 DNS에서 나올 가능성이 높습니다. 다음 명령 중 원하는 것을 실행하면 됩니다.

nslookup your-ip-here
dig -x your-ip-here
host your-ip-here

다음을 사용한 예 dig:

dig @10.0.0.1 -x 10.0.0.1

; <<>> DiG 9.9.5-4-Debian <<>> @10.0.0.1 -x 10.0.0.1
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11384
;; flags: qr aa rd ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;1.0.0.10.in-addr.arpa.     IN  PTR

;; ADDITIONAL SECTION:
1.0.0.10.in-addr.arpa.  86400   IN  PTR dsldevice.lan.

;; Query time: 2181 msec
;; SERVER: 10.0.0.1#53(10.0.0.1)
;; WHEN: Thu Jun 19 20:01:32 AST 2014
;; MSG SIZE  rcvd: 77

라우터가 아닌 자체 DNS를 사용하므로 해당 @부분에서 쿼리할 도메인을 설정해야 합니다. 라우터의 자체 도메인 이름을 쿼리하고 있습니다.

귀하의 DNS/라우터가 귀하를 볼 때 도메인 이름을 반환한다는 것을 알게 될 것입니다. 라우터에서 이를 비활성화하는 다양한 방법이 있지만 가장 쉬운 방법은 다른 DNS를 사용하는 것입니다.

관련 정보