꼭두각시 : 노드 이름이 역방향 DNS에 종속적 인 것 같습니까?


20

이 작업을 수행하는 방법을 이해하는 데 약간의 문제가있는 것 같습니다. 직장에서 사무실 NAT 뒤에 앉아있는 새 서버가 있고 그 역방향 DNS가에 매핑 office.mydomain.com되지만 기계 ns2.mydomain.com가 꼭두각시를 위해 사용 되기를 원합니다 .

nodes.pp 스 니펫 :

node 'ns2.mydomain.com' inherits basenode {
  info('ns2.mydomain.com')
}

node 'office.mydomain.com' inherits basenode {
  info('office.mydomain.com')
}

그리고 클라이언트의 'puppet.conf':

[main]
#was node_name=ns2.mydomain.com
#was fqdn=ns2.mydomain.com
certname=ns2.mydomain.com
node_name=cert

서버의 내 syslog는 다음을보고합니다.

Sep 16 22:59:12 support puppetmasterd[2800]: Host is missing hostname and/or domain: office.mydomain.com
Sep 16 22:59:12 support puppetmasterd[2800]: (Scope(Node[office.mydomain.com])) office.mydomain.com
Sep 16 22:59:12 support puppetmasterd[2800]: Compiled catalog for office.mydomain.com in 0.03 seconds
Sep 16 22:59:12 support puppetmasterd[2800]: Caching catalog for ns2.mydomain.com

ns2.mydomain.com다음과 같이하지 않고 구성을 가져 오는 방법은 무엇입니까?

node 'ns2.mydomain.com' inherits basenode {
  info('ns2.mydomain.com')
}

node 'office.mydomain.com' inherits 'ns2.mydomain.com' {
  info('office.mydomain.com')
}

업데이트 :이 문제는 다른 문제를 일으키는 것으로 보입니다. 예를 들어 info("$fqdn")기계가 office.mydomain.comfqdn 뒤에 앉아있는 동안 사실은 비어 $operatingsystem있습니다. 사실이 제대로 발견되지 않는 것과 거의 같습니다. 아마도 NAT 문제가 있습니까? 이 문제의 원인을 추적하기위한 제안이 있습니까?

답변:


26

Aaah, Puppet 호스트 이름 감지 무슨 악몽 ...

기본적 node으로 사용할 정의를 찾는 데 사용되는 이름은 fqdn 사실의 내용을 기반으로합니다. 무엇 있다는 사실에 매핑하는 것은 몇 가지 다른 것들에 의존하고, 예, 역 DNS 그들 중 하나입니다 - 그것은 기계의 호스트 이름을 자신의 선호입니다!

그러나이 이름 (보통)은 인증서 생성시에만 적용됩니다. 실제로 node_name변수를 잘못 사용하고 있습니다. 'cert'또는 'facter'중 하나로 설정해야합니다. 이 fqdn매개 변수는 더 이상 사용되지 않습니다.

당신이 실제로 집합입니다 싶지 certname설정 후 사용하려는 노드 이름으로 클라이언트에서 매개 변수를, 그리고 node_namecert(이후하거나, 그것을두고 cert기본값). 이것은 클라이언트가 제시 한 인증서의 CN에서 노드 이름을 가져 certname오며 매개 변수는 자신이 스스로 결정하기로 결정한 것보다 합리적인 것으로 설정되도록합니다. 불행히도 이미 "잘못된"인증서가 생성 rm -rf /var/lib/puppet/ssl되었으므로 구성을 설정 한 후 해당 인증서를 클라이언트에서 재생성하고 Puppet을 다시 실행하여 올바른 인증서를 생성하고 사용해야합니다.

이 모든 것이 조금 복잡하게 들린다면 그렇습니다. 꼭두각시에 오신 것을 환영합니다.


이봐-그래서 puppetmaster와 puppet 을 보면 클라이언트 node_name=cert에서 업데이트 cert_name=ns1.mydomain.com하고 facter fqdn반환 ns1.mydomain.com하지만 여전히 같은 오류 메시지로 끝나고 office.mydomain.com있습니다.
gnarf

1
다시 : certname, 당신 말이 맞아요, 내가 잘못 기억하고 내가해야 할 것처럼 문서를 확인하지 않았습니다. 고정 부족과 관련하여 클라이언트 인증서를 다시 생성해야합니다. 나는 그것을 다루기 위해 대답을 업데이트했습니다.
womble

1
사실-내 인증서 파일이 ns1.mydomain.com.pem있고 CN도 ns1입니다 ... "올바른"맞습니까? office.mydomain.comcert 이름을 노드 이름으로 사용하는 대신 노드 이름으로 사용하고 구문 분석 할 때 사실을 파악하려고 할 때마다 사용됩니다. 어쩌면 내가 다른 것을 놓치고 있습니까? 내 사실 중 어느 것도 파서로 전달되지 않는 것 같습니다 info($fqdn). 내가 넣은 범위에 빈 줄만 표시됩니다.
gnarf

나는 당신이 한 일을 모르지만, 당신은 아주 좋은 것을 골랐습니다. 나는 당신이 스스로 생각합니다.
womble

또 다른 업데이트 : 나는 사무실 LAN 뒤에서 모든 "사전 설정"을 얻을 수 있었고 새로운 네임 서버를 라이브로 올렸습니다. 올바른 역방향 DNS를 사용하기 시작하면 모든 사실이 올바르게 나타났습니다 ...
gnarf

5

/etc/hosts첫 번째 옵션으로 127.0.0.1에서 원하는 fqdn을 나열하기 위해 편집 할 때 행운이있는 것 같습니다 (아직 몇 가지 테스트 사례가 있지만) . 그것은 올바르게 감지하고 사실을 전달하는 것 같습니다. 그래도 여전히 office.mydomain.com원하는 노드를 상속하는 노드 를 만들어야합니다 .


이것은 나를 위해 일했습니다. (위에서 언급 한대로 ssl 디렉토리를 제거해야 함)
bwizzy

이것은 나에게도 효과가 있었고
DuffJ
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.