masalah nama host boneka

10

Saya mencari secara online dan saya melihat beberapa orang memiliki masalah ini di daftar / papan lain. Ketika saya menjalankan sudo puppetd --waitforcert 60 --test untuk yang kedua kalinya setelah menandatangani sertifikat pada server master saya mendapatkan kesalahan ini-

notice: Got signed certificate
warning: Certificate validation failed; considering using the certname configuration option
err: /File[/var/lib/puppet/lib]: Failed to generate additional resources during transaction: Certificates were not trusted: hostname was not match with the server certificate

Saya tidak yakin saya mengerti apa masalahnya atau bagaimana cara memperbaikinya. Jadi itu sebabnya saya bertanya.

Saya mengatur wayang pada dua server di LAN saya. Puppetmaster bernama 'boneka' dan server lain bernama 'puppetclient'. Saya memasukkan puppet ke / etc / hosts di puppetclient.

menjalankan hostname -f akan menampilkan boneka dan pupperclient di server masing-masing. Saya tidak yakin harus mencoba apa lagi. Apakah ada yang punya wawasan?

kuanta
sumber

Jawaban:

9

Kedengarannya seperti sertifikat kepala boneka dibuat ketika tuan rumah bernama sesuatu selain "boneka". Buat kembali sertifikat dan Anda harus baik.

Nama yang disimpan dalam sertifikat harus sesuai dengan apa yang Anda konfigurasikan klien Anda untuk terhubung (persis). Misalnya, jika Anda mengonfigurasi klien Anda untuk terhubung ke "puppet.domain.com", Anda akan mendapatkan kesalahan jika sertifikat itu bernama "boneka" dan sebaliknya.

diq
sumber
Saya memiliki ini terjadi pada saya beberapa jam yang lalu. Membutuhkan nama domain yang sepenuhnya memenuhi syarat.
Pete TerMaat
menambahkan. Lokal pada klien melakukan trik. meskipun nama host -f tidak menunjukkannya. Terima kasih!
1
Mungkin ada cara yang lebih baik, tetapi bagi saya, saya membuat kembali sertifikat CA rm -rf /var/lib/puppet/ssldan kemudian memulai kembali
dalang
6

Jika Anda ingin menggunakan DNS CNAME untuk puppetmaster Anda, Anda dapat memulai puppetmaster menggunakan:

puppetmaster --certname cname.domain.org

yang akan membuat puppetmaster digunakan cname.domain.orgalih-alih nama domain yang memenuhi syarat standar.

Martin
sumber
2

The --certname cname.domain.orgpilihan bendera tampaknya telah melakukan trik untuk saya (di Amazon EC2)

kuanta
sumber
1

Anda dapat menanyakan facter (facter fqdn) apa nama hostnya dan lihat apakah itu konsisten dengan apa yang Anda harapkan. Lihat juga (secara default) / var / lib / puppet / ssl / dan lihat seperti apa sertifikatnya, jika mereka tidak memiliki nama host yang benar yang mungkin menjadi masalah Anda. Karena boneka melakukan semua komunikasi melalui HTTPS, itu cukup sensitif terhadap resolusi dan penamaan host.

Tongkat
sumber
1

Sebelum menginstal Wayang pada klien dan server yang Anda tuju, periksa file /etc/resolv.conf dan verifikasi bahwa entri domain pertama pada baris "search" adalah domain yang Anda inginkan untuk menjalankan Wayang. Sebagai contoh:

cari my.puppetdomain.com my.public.domain.com

nameserver 192.168.1.1 nameserver xxx.xxx.1.1

Selama fase instalasi Wayang, server Wayang akan menghasilkan sertifikat berdasarkan entri pencarian pertama di /etc/resolv.conf. Saya menemukan ini dengan cara yang sulit. Jika Anda melihat kesalahan terkait sertifikat pada simpul boneka apa pun, lakukan langkah-langkah berikut:

1) Edit /etc/resolv.conf dan verifikasi bahwa domain pertama yang tercantum dalam baris "pencarian" mencerminkan domain tempat Anda menjalankan Wayang.

2) Copot puppet (biarkan direktori / etc / puppet tetap utuh).

3) rm -rf / var / lib / boneka

4) Instal ulang Puppet (ini akan menghasilkan direktori baru / var / lib / puppet).

5) Jika melakukan ini di server Puppet, jalankan / usr / sbin / puppetmasterd --mkusers (atau jalankan / usr / local / sbin / puppetmasterd --mkusers ). Ini akan menghasilkan semua file yang diperlukan dalam / var / lib / puppet, termasuk sertifikat internal baru menggunakan nama domain yang tepat.

6) Jika melakukan ini pada klien Wayang, mulai Wayang dalam mode verbose, dengan tanda --waitforcert diaktifkan: puppetd -server .puppetdomain.com --waitforcert 60 --test Langkah ini akan mengirim permintaan sertifikat ke server Wayang.

7) Di server Wayang, daftarkan sertifikat tunggu:

puppetca --list

Anda harus melihat nama host dari klien Wayang membuat permintaan:

puppetclient1.puppetdomain.com

8) Dari server Wayang, tandatangani sertifikat klien Wayang yang baru saja terdaftar:

puppetca --sign puppetclient1.puppetdomain.com

Kemudian kamu selesai.

HTH ....


sumber
0

Apakah boneka dan boneka menyelesaikan dalam DNS? Jika tidak, Anda dapat mengedit file / etc / hosts untuk memetakan IP dan nama host. IIRC, Anda hanya perlu melakukan ini pada klien.

slillibri
sumber