Ayarlamak için ana makine adı do kullanımını hostnamectlancak böyle hostname ile:
hostnamectl set-hostname nodename
(DNS) alan adı düzenleme /etc/hostsdosyasını ayarlamak ve şunlardan emin olun:
- Bir çizgi var
<machine's primary, non-loopback IP address> <hostname>.<domainname> <hostname> var
- Başka satır yoktur
<some IP> <hostname>ve buna 127.0.0.1ve ::1(IPv6) adresli satırlar da dahildir .
NIS kullanmadığınız sürece (none),domainname komutu .
DNS alan adınızın doğru ayarlanıp ayarlanmadığını dnsdomainnamekontrol etmek için komutunu kullanın ve hostnamevs hostname -f(FQDN) çıktısını kontrol edin .
NIS ve DNS etki alanı
İlk karşılaştığımda bu konu beni şaşırttı. domainnameKomutun internetin popülaritesinden önce geldiği anlaşılıyor . DNS etki alanı adı yerine, sistemin NIS (Ağ Bilgi Hizmeti) aka YP (Sarı Sayfalar) etki alanı adını (ana NIS sunucusu tarafından sağlanan hizmetlere sahip bir bilgisayar grubu) gösterir veya ayarlar . Bu komut yalnızca getdomainname(2)standart kitaplık işlevi tarafından döndürülen adı görüntüler . ( nisdomainnameveypdomainname bu komut için alternatif adlardır.)
FQDN veya DNS alan adını görüntüleme
Kontrol etmek için DNS (Internet) alan adı, çalıştırmak gerektiğini dnsdomainnamekomutu ya hostnamesahip -d, --domainseçenekler. (dnsdomainname Komutun DNS etki alanı adını ayarlamak için kullanılamayacağını - yalnızca görüntülemek için kullanılır.)
Sistemin FQDN'sini (Tam Nitelikli Etki Alanı Adı) görüntülemekhostname için -f, --fqdn, --longseçeneklerle çalıştırın (aynı şekilde bu komut, etki alanı adı bölümünü ayarlamak için kullanılamaz).
Yukarıdaki komutlar gethostbyname(3), DNS etki alanı adını ve FQDN'yi belirlemek için sistemin çözümleyicisini ( POSIX tarafından belirtildiği gibi standart kitaplıktaki işlev tarafından uygulanır ) kullanır.
Ad çözümlemesi
RHEL 7 gibi modern işletim sistemlerinde, hostsgiriş /etc/nsswitch.confana bilgisayar adlarını çözümlemek için kullanılır. CentOS 7 makinenizde bu hat şu şekilde yapılandırılmıştır (CentOS 7 için varsayılan):
hosts: files dns
Bu, çözümleyici işlevleri ana bilgisayar adlarını veya IP adresini aradığında, önce /etc/hosts dosyadaki bir girdiyi kontrol ettikleri ve daha sonra listelenen DNS sunucularını/etc/resolv.conf .
Bir hostname -fana bilgisayarın FQDN'sini almaya çalışırken , çözümleyici işlevleri sistemin ana makine adı için FQDN'yi almaya çalışır. Ana makine /etc/hostsdosyada veya ilgili DNS sunucusu tarafından listelenmemişse , deneme başarısız olur ve bunu hostnamebildirir Name or service not known.
Zaman hostname -dalan adı elde edilmesi için çalıştırılan, aynı işlemler gerçekleştirilir ve alan adı kısmı ana bilgisayar bölümü ve FQDN'den ilk nokta sıyırma ile belirlenir.
Alan adını yapılandırın
1. İlgili DNS ad sunucusunu güncelleyin
Benim durumumda, yerel LAN'ım için DNS sunucusuna yeni CentOS 7 makinem için bir giriş ekledim, bu nedenle veya seçeneği ile /etc/hostsçalıştırdığımda FQDN dosyada bulunamadığında , yerel DNS hizmetleri yeni ana bilgisayar adımın FQDN'sini tam olarak çözün.hostname-d-f
2. /etc/hostsDosyayı kullanın
DNS sunucusu yapılandırılmamışsa, /etc/hostsdosyada tam etki alanı adı belirtilebilir . Bunu yapmanın en yaygın yolu, sistemin birincil IP adresini ve ardından FQDN'sini ve kısa ana bilgisayar adını belirtmektir. Örneğin,
172.22.0.9 nodename.domainname nodename
hostnameMan sayfasından alıntı
FQDN'yi hostnameveya ile değiştiremezsiniz dnsdomainname.
FQDN'yi ayarlamanın önerilen yöntemi, ana bilgisayar adını /etc/hosts,DNS veya NIS kullanarak tam nitelikli ad için bir diğer ad yapmaktır . Örneğin, ana bilgisayar adı "ursula" ise, /etc/hostsşu satırda bir satır olabilir :
27.0.1.1 ursula.example.com ursula
Teknik olarak: FQDN, gethostname (2) tarafından döndürülen ana bilgisayar adı için döndürülen getaddrinfo (3) adıdır. DNS etki alanı adı, ilk noktadan sonraki bölümdür.
Bu nedenle, çözümleyicinin (genellikle içinde /etc/host.conf) nasıl değiştirebileceğinizi yapılandırmasına bağlıdır
. Genellikle hosts dosyası DNS veya NIS'den önce ayrıştırılır, bu nedenle FQDN'yi değiştirmek en yaygın olanıdır
/etc/hosts.
hostname -fkomut CentOS vm'de çalışmıyor.