Con rối: Tên nút có vẻ phụ thuộc vào dns ngược?


20

Tôi dường như đang gặp phải một chút vấn đề trong việc hiểu làm thế nào để làm việc này. Tôi có một máy chủ mới, tôi đang xây dựng phía sau văn phòng NAT tại nơi làm việc, bản đồ đảo ngược của nó office.mydomain.com, nhưng tôi muốn máy ns2.mydomain.comhoạt động vì mục đích của con rối.

nút.pp đoạn:

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

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

Và 'Puppet.conf' của tôi trên máy khách:

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

Syslog của tôi trên máy chủ báo cáo:

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

Làm thế nào tôi có thể làm cho nó lấy cấu hình ns2.mydomain.commà không làm điều gì đó như thế này:

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

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

CẬP NHẬT : Vấn đề này dường như cũng gây ra các vấn đề khác. Ví dụ, nếu tôi info("$fqdn")trong khi máy đang ngồi phía sau office.mydomain.comthì thực tế là trống, cũng như $operatingsystem. Nó gần giống như sự thật không được khám phá đúng. Có lẽ có một vấn đề NAT? Có bất kỳ đề xuất để theo dõi nguyên nhân của vấn đề này?

Câu trả lời:


26

Aaah, Phát hiện tên máy chủ rối. Thật là một cơn ác mộng ...

Theo mặc định, tên nào sẽ được sử dụng để tìm nodeđịnh nghĩa sẽ sử dụng dựa trên nội dung của thực tế fqdn. Có gì đó thực sự bản đồ để phụ thuộc vào một vài điều khác nhau, và có, DNS ngược là một trong số họ - và nó ưa thích hơn hostname riêng của máy!

Tuy nhiên, tên này (thường) chỉ áp dụng tại thời điểm tạo chứng chỉ. Bạn thực sự đang sử dụng sai node_namebiến - nó nên được đặt thành một trong 'cert' hoặc 'facter'. Các fqdntham số cũng không được chấp nhận.

Những gì bạn thực sự muốn làm là đặt certnametham số trên máy khách thành tên nút bạn muốn sử dụng, sau đó đặt node_namethành cert(hoặc chỉ để nó ra, vì đó certlà mặc định). Điều này sẽ lấy tên nút từ CN của chứng chỉ mà máy khách đưa ra và certnametham số đảm bảo rằng nó được đặt thành một cái gì đó hợp lý thay vì bất cứ thứ gì mà người quyết định tự đưa ra. Thật không may, vì bạn đã tạo ra các certs "sai", bạn sẽ cần tạo lại các certs đó ( rm -rf /var/lib/puppet/ssltrên máy khách và chạy lại Puppet) sau khi bạn thiết lập cấu hình, để các certs đúng được tạo và sử dụng.

Nếu tất cả điều này nghe có vẻ hơi phức tạp, thì bạn đã đúng - đúng vậy. Chào mừng bạn đến với Con rối.


Xin chào - vì vậy, nhìn vào con rối và con rối - cả hai đều có node_name=cert, cập nhật cert_name=ns1.mydomain.comfacter fqdntrả ns1.mydomain.comvề máy khách nhưng tôi vẫn kết thúc với cùng một thông báo lỗi về office.mydomain.com.
gnarf

1
re: certname, bạn nói đúng, tôi đã đánh giá sai và không kiểm tra các tài liệu như tôi nên có. Về việc thiếu sự cố định, bạn cần tạo lại chứng chỉ ứng dụng khách; Tôi đã cập nhật câu trả lời của mình để bao quát điều đó.
womble

1
Trên thực tế - tệp chứng chỉ của tôi là ns1.mydomain.com.pemvà CN của nó cũng là ns1 ... Đó là "chính xác" phải không? office.mydomain.comlà những gì nó đang sử dụng làm tên nút của nó và dường như bất cứ khi nào nó cố gắng lấy sự thật khi phân tích cú pháp, thay vì sử dụng tên cert làm tên nút. Có lẽ tôi đang thiếu thứ gì khác? Không có sự thật nào của tôi dường như được truyền qua trình phân tích cú pháp hoặc info($fqdn)chỉ hiển thị một dòng trống trong phạm vi tôi đặt nó.
gnarf

Tôi không biết những gì bạn đã làm, nhưng bạn đã xoay sở để đạt được điều gì đó thực sự tốt. Tôi nghĩ bạn đang ở một mình.
womble

Một cập nhật khác: Tôi đã quản lý để có được tất cả những thứ "thiết lập trước" từ phía sau lan văn phòng và đặt máy chủ tên mới trực tiếp - ngay khi nó bắt đầu sử dụng DNS ngược chính xác, tất cả các sự kiện đã hiển thị đúng ...
gnarf

5

Tôi dường như đang gặp may mắn (mặc dù vẫn còn một vài trường hợp thử nghiệm mà tôi muốn xem) khi chỉnh sửa /etc/hostsđể liệt kê fqdn mong muốn theo 127.0.0.1 làm tùy chọn đầu tiên. Nó dường như đang phát hiện nó một cách chính xác / thông qua sự thật sau đó. Mặc dù có vẻ như tôi vẫn cần tạo một nút được gọi là office.mydomain.comkế thừa nút mà tôi muốn.


Điều này làm việc cho tôi. (phải xóa thư mục ssl như đã đề cập ở trên)
bwizzy

Điều này cũng hoạt động tốt với tôi và cũng được hỗ trợ bởi tài liệu Puppet: Puppetlabs.com/blog/resolve-dns-issues
DuffJ
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.