Ana bilgisayar adı yerine / etc / hostname içinde FQDN kullanılmalı mıdır?


11

Man sayfasında okuduğumda, ana bilgisayar adını (alan adı olmadan) koymanız önerilir /etc/hostname. Örneğin, host.domainsub.domaintld yerine ana bilgisayar . Ancak bildiğim kadarıyla, bazı yazılım sahip dayanıyor FQDNiçinde /etc/hostname.

Biri ne de belirtmelidir /etc/hostname Debian / Ubuntu makinelerde?

FQDN değilse, bunun yerine FQDN belirtilmelidir?

Biliyorum, soru biraz eski, ama net bir cevap bulamadık. Bazıları hostname, bazıları - FQDN der. Teşekkürler.


1
FQDN'yi / etc / hostname dosyasına koyduğunuzu söyleyen kişileri nerede buluyorsunuz? Bu dosya yalnızca sistemin ana bilgisayar adı içindir.
Terrance

İnternette malzeme okurken bir yerde buluştu. Ve nerede FQDN'si belirtilmelidir?
Bulat M.

@Terrance, aslında sahadaki deneyimli insanlardan cevap almak istiyorum, bu yüzden baştan nasıl "doğru" yapılacağını gösteriyorlar. Bir cevap olarak yazın. Ve / etc / hostname olmayan dağıtımlarda ne yapmalı?
Bulat M.

Yanıtlar:


7

/ Etc / hostname dosyasında yalnızca anasistem adını kullanırsınız. Aşağıdaki gibi ayarlayabileceğiniz FQDN: / etc / hosts:

127.0.1.1        thishost.mydomain.org    thishost

Hosts dosyasının kılavuzuna göre.

http://man7.org/linux/man-pages/man5/hosts.5.html


1
Düzeltme: Ancak, ancak / etc / hostname içinde FQDN belirtmek / belirtmek artılarını ve eksilerini bilmek olacaktır. Çözümünüzü biliyorum: FQDN'nin çalışmak için bir şeye (hangi adresin önemi yoktur) çözümlenmesini isteyen programlar için bir saplama.
Bulat M.

12

Düzeltilmiş Yanıt:

Ana bilgisayarın kendisi gerçek FQDN'yi işlemez. DNS tarafından ele alınır . FQDN (Tam Nitelikli Etki Alanı Adı), adları IP adreslerine çeviren DNS tarafından işlenir. /etc/hostsDosyayı kullanarak, esasen DNS sunucusunu geçersiz kılıyorsunuz. Bilgisayar /etc/hosts, IP adresine bir ana bilgisayar adı için bir giriş tanımlı olup olmadığını görmek için önce dosyaya bakar . Görünüşteki girişler /etc/hostsaşağıdaki gibidir:

127.0.0.1 localhost
127.0.1.1 terrance-ubuntu.local terrance-ubuntu

Bu girişler dağıtımlara özgü değildir. Tüm işletim sistemleri bu satırlar için aynı biçimi kullanır. Yalnızca hostsdosyanın konumu değişir. Linux, genellikle /etc/Windows'ta tipik olarak C:\Windows\System32\drivers\etc\klasörde bulunduğu klasörde bulunur.

Bu diziyi kırarak, terrance-ubuntu.localuygulamaların bilgisayarımdan ayrılmamasını bilmesi için hem FQDN'mın kendisi olan FQDN'nin kendisinin hem terrance-ubuntude ana bilgisayar adı olan uygulamaların bilgisayarımdan ayrılmamasını bilmesi için atadığımı görebilirsiniz. 127.0.0.1 ( localhost ). Sistemimin ana bilgisayar adımı olarak atamanın, ana 127.0.1.1bilgisayarımı ağda bulan diğer bilgisayarlar üzerinde hiçbir etkisi yoktur. DNS düzgün çalışıyorsa, ana bilgisayar adımı olarak görürler 10.0.0.100. Kullanmanın nedeni, 127.0.1.1uygulamalarımın sistemimi daha hızlı bulmasıdır, çünkü sistemimin ağımda başka bir yerde olmadığını bilecektir. Gerçek ana bilgisayar .localadım FQDN'm olmakla birlikte ,.local aslında ağımdaki başka bir DNS sunucusu olan yönlendiricim aracılığıyla kurduğum Etki Alanım.

Şimdi, yerel ağdaki DNS hizmetlerinin IP adreslerine ana bilgisayar adları veya FQDN'ler atamadığını, ancak yerel ağdaki ana bilgisayarın IP adresinin ne olduğunu bildiğinizi varsayalım. Daha sonra, o ana makineyi /etc/hostsdosyanıza atarsınız, böylece her erişmek istediğinizde ana bilgisayarın IP adresini yazmanıza gerek kalmaz. Ana makine bir araç sunucusu, yazıcı veya ağa bağlı başka bir sistem olabilir. Girişi normalde yaptığınız gibi /etc/hostsdosyaya ekleyin .

Örneğin ağa bağlı yazıcımı kullanacağım. 10.0.0.253 statik IP'ye sahiptir. Yine de adını bilmiyorum. Bunun için onu aramak istiyorum hp_printer. IP ve bunun için ana bilgisayar adını pingleyeceğim, sonra ekleyeceğim /etc/hosts.

terrance@terrance-ubuntu:~$ ping -c 2 10.0.0.253
PING 10.0.0.253 (10.0.0.253) 56(84) bytes of data.
64 bytes from 10.0.0.253: icmp_seq=1 ttl=255 time=0.326 ms
64 bytes from 10.0.0.253: icmp_seq=2 ttl=255 time=0.334 ms

terrance@terrance-ubuntu:~$ ping -c 2 hp_printer
ping: unknown host hp_printer

terrance@terrance-ubuntu:~$ sudo vi /etc/hosts
10.0.0.253 hp_printer.local hp_printer

terrance@terrance-ubuntu:~$ ping -c 2 hp_printer
PING hp_printer.local (10.0.0.253) 56(84) bytes of data.
64 bytes from hp_printer.local (10.0.0.253): icmp_seq=1 ttl=255 time=0.334 ms
64 bytes from hp_printer.local (10.0.0.253): icmp_seq=2 ttl=255 time=0.303 ms

Şimdi, daha kolay hatırlanabilecek IP adresi yerine, yazıcı ayarımın web sayfasına verdiğim adla da erişebilirim:

resim açıklamasını buraya girin

Sizin /etc/resolv.conf dosyası da yardım bulmak konak DNS tarafından kullanılır. Çözümleyici için yapılandırma dosyasıdır. Arama alanı sağlar, böylece bir ana bilgisayar ararken FQDN'nizi her zaman belirtmeniz gerekmez. Ayrıca yerel ağınızın DNS veya ad sunucusu için IP adresini de sağlar. Aşağıdaki searchsatır, alan adım localolan adı gösteriyor.

terrance@terrance-ubuntu:~$ cat /etc/resolv.conf 
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 10.0.0.1
search local

Umarım bu, DNS ve FQDN'lerin nasıl çalıştığını daha iyi anlamamıza yardımcı olur.


/ etc / hosts içindeki FQDN'yi neden 127.0.1.1 ile eşleştiriyorsunuz?
Bulat M.

1
@BulatM. Lütfen gözden geçirilmiş cevabıma bakın.
Terrance

/etc/resolv.conf içindeki arama ve alan adı anahtar kelimeleri arasındaki farkı açıklayabilir misiniz? Resolv.conf'un man sayfasını okuyorum, hala çok net değil.
Bulat M.

Ve ikisini de içerebilir mi? Yanıtta yararlı geçerli bir dava sunabilir misiniz? Teşekkürler.
Bulat

1
@BulatM. Cevabımdaki bağlantıları tıklayın ve sizi işler hakkında daha fazla bilgiye yönlendirin. En.wikipedia.org/wiki/Resolv.conf gibi çok daha fazla bilgi verir. Size yardım etmek için buradayım, size öğretmek için değil. Ücret almıyorum, çünkü hepsi gönüllü, bu yüzden lütfen kendi çalışmalarını yap.
Terrance

4

Ait manpagehostname(1) tartışıyor bu (kalın paragraf tarafımdan vurgulanmaktadır):

FQDN
   Sistemin FQDN'si (Tam Nitelikli Etki Alanı Adı)çözümleyici (3) , örneğin, konak adı döner, ursula.example.com .
   Genellikle ana bilgisayar adı ve ardından DNS etki alanı adıdır (bölüm
   ilk noktadan sonra). FQDN'yi ana makine adı --fqdn   veyadnsdomainname 
   kullanarak alan adını girin .

   Ana bilgisayar adı veya dnsdomainname ile FQDN'yi değiştiremezsiniz .

   FQDN'yi ayarlamanın önerilen yöntemi, ana bilgisayar adının
   / etc / hosts, DNS veya NIS kullanarak tam ad için bir diğer ad.
   Örneğin, ana bilgisayar adı "ursula" ise, bir satırda
   / etc / ana bilgisayarları

          127.0.1.1 ursula.example.com ursula

   Teknik olarak: FQDN, ana bilgisayar için getaddrinfo (3) tarafından döndürülen addır
   gethostname (2) tarafından döndürülen ad. DNS etki alanı adı,
   ilk nokta.

   Bu nedenle çözümleyicinin yapılandırmasına bağlıdır (genellikle
   /etc/host.conf) nasıl değiştirebilirsiniz. Genellikle hosts dosyası ayrıştırılır
   DNS veya NIS'den önce, bu nedenle FQDN'yi değiştirmek en yaygın olanıdır.
   / Etc / ana.

Yükleme sırasında ana bilgisayar adı olarak bir FQDN verirseniz, yalnızca yumruk bileşenini yazar /etc/hostnameve FQDN'yi tutar /etc/hosts.

Bu durumda, yükleyicinin ne yaptığını yapmasına izin verin.


(127.0.1.1 ursula.example.com ursula'nın / etc / hosts içine dahil edilmesi) Debian \ Ubuntu'ya özgü mü yoksa diğer tüm dağıtımlara eşit derecede uygulanabilir mi?
Bulat M.

1
Diğer dağıtımlar hakkında bilmiyorum. Aynı şeyi Arch ve Cent OS'de de yapabilirsiniz. Diğer dağıtımlarla ilgili sorular Unix ve Linux'ta sorulmalıdır .
muru
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.