Ana bilgisayar adları - Neyle ilgili?


54

Son zamanlarda bazı sysadmin işlerini yapmak zorunda kaldım, bu kesinlikle yapmaktan çok hoşlandığım bir şey değil, okudum, denedim ve çok şey öğrendim.

Anlayamadığım sunucu yapılandırmasının temel bir yönü var: ana bilgisayar adları .

Örneğin Ubuntu'da bir ana bilgisayar adı şöyle ayarlanmalıdır ( Linode Library'ye göre ):

echo "plato" > /etc/hostname
hostname -F /etc/hostname

Dosya: / etc / hosts

127.0.0.1        localhost.localdomain        localhost
12.34.56.78      plato.example.com            plato

Bunun platokeyfi bir isim ve plato.example.comFQDN olduğunu varsayıyorum .

Şimdi benim sorularım:

  • Zorunlu mu?
  • Hangi amaç için?
  • Nerede ihtiyaç duyulur / kullanılır?
  • Neden "localhost" ı her makine için ana bilgisayar adı olarak tanımlayamıyorum?
  • plato.example.comFQDN için bir DNS girişi ayarlamalı mıyım?
  • plato.example.comIP adresimin ters DNS girişi olarak mı kullanılmalı?

Ayrıca, ana bilgisayar adlarını seçmek için "en iyi uygulamalar" var mı? Yunan harflerini, gezegen isimlerini ve hatta mitolojik figürleri kullanan insanları gördüm. Harf / gezegen tükendiğinde ne olur?

Bu aptalca bir soru ise üzgünüm ama ağ yapılandırmalarında hiç hevesli olmamıştım.


3
Sanırım Chris S burada üssün dışında. Soru - sistem ana bilgisayar adı nedir ve DNS ile nasıl ilişkilidir - geçerli bir soru.
larsks

@ Chris S: Anladım, inan bana. Bir kez okumayı denedim ama her şey beni çok kafa karıştırıcı olarak okşadı. SA olmayı istemiyorum, sadece temelleri biraz daha iyi anlamaya çalışıyorum.
Alix Axel

Bu topluluk wiki'ye
gitmeli

1
@lynxman: Bunu umursamıyorum ama neden?
Alix Axel

1
Çünkü bu çok ilginç :)
lynxman

Yanıtlar:


28

Bu günlerde, bir sistem, her biri birden fazla adres içeren birden fazla arayüze sahip olabilir ve her adres, kendisiyle ilişkili birden fazla DNS girişine sahip olabilir. Peki bir "sistem ana bilgisayar adı" ne anlama geliyor?

Birçok uygulama, başka bir yerde iletişim kurduklarında sistem ana bilgisayar adını varsayılan tanımlayıcı olarak kullanır. Örneğin, merkezi bir sunucuda syslog mesajları topluyorsanız, mesajların tümü kaynak sistemin ana bilgisayar adıyla etiketlenecektir. İdeal bir dünyada muhtemelen bunu görmezden gelirsiniz (çünkü müşteriye güvenmek zorunda kalmazsınız), ancak varsayılan davranış - eğer tüm sistemlerinizi "localhost" olarak adlandırırsanız - bir dizi günlük mesajla sonuçlanacaktır. belirli bir sistemle ilişki kuramazdım.

Diğer kişilerin belirttiği gibi, kendinizi bir dizi sisteme uzaktan erişirken bulursanız, sistem ana makine adı da yararlı bir tanımlayıcıdır. "Localhost" adında bir sisteme bağlı beş pencereniz varsa, onları düz tutmakta zorlanacaksınız.

Benzer bir şekilde, sistem ana makine adının bir sisteme yönetici erişimi için kullandığımız ana bilgisayar adıyla eşleşmesini sağlamaya çalışırız. Bu, sisteme atıfta bulunurken karışıklığı önlemeye yardımcı olur (e-posta, konuşmalar, belgeler vb.).

DNS ile ilgili:

Karışıklığı önlemek için uygulamalarınız için doğru ileri ve geri DNS girişlerine sahip olmak istiyorsunuz. İhtiyacınız bazı rahatlıkla uygulamaya erişmek için muktedir insanlar için - (> ip adresi adı) ileri girişi. Tersine giriş eşleşmesinin yapılması birkaç nedenden dolayı yararlıdır - örneğin, ilgili ip adresini bir günlükte bulursanız, uygulamayı doğru bir şekilde tanımlamanıza yardımcı olur.

Burada, "sistemler" hakkında değil, "uygulamalar" dan bahsettiğimi unutmayın, çünkü - özellikle web sunucuları ile - sistemde, farklı ana bilgisayar adları ve servislerle ilişkili birden fazla ip adresinin bulunması yaygındır.

/etc/hostsDosyanızdaki ip eşleştirmelerinde adı korumaya çalışmak, gittikçe artan sayıda sistemi yönettiğiniz için hızla zorlaşır. Yerel ana bilgisayar dosyasının DNS ile ilgili senkronizasyondan düşmesi, potansiyel olarak karışıklığa yol açması ve bazı durumlarda arızalanması çok kolaydır (çünkü bir şey sistemde artık bulunmayan bir ip adresine bağlanmaya çalışır).


Cevabınız için teşekkür ederim, sadece DNS girişlerine güvenmek yerine / etc / hosts dosyasını tutmam gerekiyorsa (veya sürdürmem gerekirse) hala kafam karıştı.
Alix Axel

8
Ben genellikle /etc/hostsDNS lehine görmezden geliyorum . Bu, ad -> adres eşleme hakkında bilgi tutmak için gerekli yerlerin sayısını azaltır. Bakımını yaptığım sistemlerin çoğunda, /etc/hostsyalnızca tek girişi içerir localhost.
larsks

Kümelerle uğraşırken - ganeti veya Linux-HA / Corosync kümesi gibi - / etc / hosts küme üyeleri arasında konuşmak için kullanılır. DNS hizmetiniz bu kümeler üzerinde olabileceği ve bir düğüm değişikliği sırasında taşındığı ya da çevrimdışı olduğu için yalnızca DNS'ye güvenmesi kötü bir şeydir, bu nedenle / etc / hosts dosyası ve doğru bir ana bilgisayar adı size çok yardımcı olacaktır.
coredump,

Yani, "benzersiz" ile ilgili olarak, "benzersiz" olmak yerine "benzersiz" olmak yerine "benzersiz" olmaya çalışıyoruz, doğru mu? Çünkü orada çok fazla sunucu var ve hepsi aynı kapsamda, gerçek "benzersiz" olmak mümkün değil. Bu anlayış doğru mu?
shenkwen

10

Her ana bilgisayar adını "localhost" olarak ayarlayabilirsiniz, ancak alix@plato ~ $makineleri ssh üzerinden yönetirken komut isteminizde bulunmak çok kullanışlıdır . Sunucuları uzaktan yönetmek, istemezseniz kafa karıştırıcı olabilir.

Doğru bir FQDN'ye sahip olmak, bir web sunucusunu veya posta sunucusunu barındırdığınızda önemlidir. Bu türden sunucu uygulamaları, kimlerin üzerinde çalıştıklarını bilmek ister.

İyi bir adlandırma şeması seçtiğiniz için, sizi bu çok popüler soruya yönlendiriyorum .

Bir FQDN yalnızca başka bir bilgisayar için anlamlı olduğunda faydalı olur. Bunun üç seviyesi var:

  • Yerel ağınızdaki bir bilgisayar, ana bilgisayar dosyasında bu makineye işaret eden bir girişe sahip
  • Yerel ağınızda çalışan bir DNS sunucunuz var ve bunu bir DNS sunucusu olarak kullanan her yerel bilgisayar artık platoyu ada göre biliyor.
  • Bir alan adı kaydettiniz ve şimdi tüm dünya plato.alixaxel.com adının hangi makineye işaret ettiğini biliyor.

Dış dünyaya e-posta gönderirken veya web sayfaları sunarken, üçüncü sayfa da sahip olmak istediklerinizdir. Diğer birçok durumda, yerel bir DNS ile veya ana bilgisayar dosyalarını düzenleyerek yapabilirsiniz.

Bu durumda, yerel ağınızda kullanmak üzere bir etki alanı adı oluşturabilirsiniz (plato.alixnetwork FQDN olarak iyi olabilir). "Alixnetwork" kısmına (etki alanı adı) sahip olmanın tek katma değeri, ayırmak istediğiniz başka bir yerel ağa sahip olduğunuzda kolaylık sağlamaktır.


Teşekkürler Kenny, sanırım asıl şüphem, bir web / posta sunucusunun uygun bir FQDN'ye sahip olmasının neden önemli olduğu. Ayrıca, "uygun" bir FQDN'yi oluşturan nedir? Ana bilgisayar adını etki alanına hazırlamalı ve ortak IP adresine yönlendirmeli miyim? Ana bilgisayar adıyla A / AAAA DNS girişleri oluşturduğum izlenimi altındayım, değil mi?
Alix Axel

Neye ulaşmak istediğine bağlı. Plato ile dünyaya e-posta göndermez veya web sayfalarını sunmazsanız, bu makine için genel bir DNS kaydı oluşturmanıza gerek yoktur.
Kenny Rasschaert,

"Bir alan adı kaydettiniz ve şimdi tüm dünya plato.alixaxel.com adının hangi makineye işaret ettiğini biliyor." - Bunu anlamıyorum. Tüm dünya plato.alixaxel.com adının "alixaxel.com" DNS çözünürlüğünü kontrol ederek ne anlama geldiğini bilmiyor mu? Bir FQDN'yi rastgele bir makinede ayarlamakla ne ilgisi var?
shenkwen

8

Temel bir bakış. Ana bilgisayar adı yalnızca işaretçilerdir; Makine tarafından başvurulan ana bilgisayar adı olarak belirli bir tane atayabilirsiniz, ancak birden fazla olabilir. Bazı servisler, dikkate değer posta ve HTTP, hizmetlerin nerede olması gerektiğini ve bunlara nasıl erişileceğini bilmek için etki alanı adlarına güvenir.

Uzun zaman önce, tüm bu isimler (yine IP adreslerine işaret eden) adı verilen bir dosyada tutuldu hosts. Sistem büyüdükçe, dosyayı birbirine bağlı çeşitli ağlara katılan tüm ilgili bilgisayar arasında senkronize edemediler. Böylece DNS sistemi icat edildi. Bir ad araması yaptığınızda, önce ana bilgisayar dosyasını, ardından DNS sistemini kontrol eder. Windows, WINS veya NetBIOS gibi diğer sistemleri de kontrol edebilir.

Bir hostsdosyayı bir dosyaya girdiğinizde , bilgisayara atayamazsınız. Bilgisayar tarafından kullanılan şekilde bir ana bilgisayar adı atanması, yapılandırma dosyalarında (on * nix sistemlerinde) ve Windows sistemlerinde Sistem Özelliklerinde yapılır (Windows sistemi ayrıca NIC'ye özgü soneklere sahip olabilir).

hostsDNS sistemi gibi dosyadaki girişler sadece bir ana bilgisayar adından bir IP adresine yapılan eşlemedir. 'Localhost' ana bilgisayar adını kullanmak için (bununla ilgili özel bir şey yoktur, geri kalanlar gibi bir ana bilgisayar adıdır) geridöngü arabirimine eşlenmelidir (bu nedenle her zaman yerel bilgisayara işaret eder). Bunun işe yaramasını sağlamak için, tüm bilgisayarlar hostsdosyalarında bu varsayılan eşlemeyle birlikte gelir , ancak bu ana makine adını kullanmak istemiyorsanız, potansiyel olarak kaldırılabilir.

Ayrıca, başkalarının da belirttiği gibi, bir bilgisayara bir ana bilgisayar adı atamak çok yararlıdır. Bilgisayara bağlandığınızda, oturum açtığınızda ana bilgisayar adını veya isteminizi veya başka herhangi bir sayıda yeri göstermesini sağlayabilirsiniz. Bu, bağlandığınız bilgisayarı tanımlamayı kolaylaştırır. Bu ana makine adını DNS'ye ayarladıysanız veya tüm hostsdosyalara koyarsanız , IP adresini her zaman bilmek zorunda kalmak yerine ana bilgisayar adına başvurarak bilgisayara bağlanabilirsiniz. (Adres değişebileceği için bilgisayar DHCP kullanıyorsa daha da yararlıdır. Bilgisayar DNS'i güncellerse, DNS kaydı yeni IP adresini gösterir; DNS adını bildiğiniz için yeni IP adresini bilmeden bağlanabilirsiniz. ).

Hem hostsDNS’in hem de DNS’nin başka birçok kullanım alanı var , ancak hepsini okursanız cevaplardan daha fazla sorunuz olduğunu düşünüyorum.


4
Soru ile ilgili ilk hayal kırıklığınıza rağmen, iyi bir cevap yazmak için zaman ayırdığınız için +1.
Kenny Rasschaert,

Müthiş açıklama! Anlayışım doğruysa FQDN'yi yerine koymak /etc/hostsgerekli değildir, bir DNS girişinde ana bilgisayar adının bulunması aynı sonucu verir, değil mi?
Alix Axel

2
@Alix, doğruysa, giriş DNS ise (ve DNS düzgün çalışıyorsa), hostsdosyada olması gereksiz olacaktır. Ayrıca, hostsdosyadaki girdi DNS'yi geçersiz kılar (bazen sınamak için yararlıdır, ancak bunu unutursanız sinir bozucu). Bunların hepsinin A ve AAAA kayıtları ile ilgili olduğuna dikkat edin, ana bilgisayar adları için başka kayıt türleri var, ancak netlik için onları dışarıda bıraktım.
Chris S

Teşekkürler Chris, bu her şeyi daha da netleştiriyor.
Alix Axel

5

Hiç ev sahibine anlamlı bir ad verilmelidir. Ana bilgisayar adı birden fazla amaca hizmet edebilir:

1- Üzerinde çalışmakta olduğunuz kimliği tanımanıza yardımcı olur.

2- /etc/hostsve / veya DNS kayıtlarında yapılandırılmış isimleri kullanmak , birçok IP adresini ezberlemekten daha kolaydır.

3- Localhost geçerli makineye atıfta bulunmak için ayrılmış bir addır (adres 127.0.0.1).

4- DNS kayıtları, sunucularınızın herkes tarafından erişilebilir olmasını sağlamak için faydalıdır.

Her sunucu için uygun bir ad seçmek, yönetiminizde size çok yardımcı olur. Ayrıca, müşterilerinizin sunucularınıza erişmesine yardımcı olur.


2

Tıpkı bir not olarak: DNS çözümünün düzgün bir şekilde ileri ve geri çalışması, bu gezegendeki her BT kurulumunun mutlak temel taşıdır. Asla bakımlı bir DNS ve uygun ana bilgisayar adı çözümlemesinin gerekliliğini asla küçümsemeyin!


Neden önemli olduğunu anlayamıyorum. Birçok web sitesini barındıran bir linode sunucum var. Hostname ayarının amacını anlamadığım için, "ubuntu" olduğu gibi bıraktım. Bu sunucu birkaç senedir çalışıyor ve hiç bir zaman rahatsızlık hissetmiyorum. Cevabınızı sorgulamıyorum, sadece ana bilgisayar adının neden önemli olduğunu anlamaya çalışıyorum. Benim durumumda, ne zaman uygun bir şekilde bir ana bilgisayar adı belirlememi isterdim?
shenkwen

1
@shenkwen - dürüst olmak gerekirse, yalnızca bir sunucunuz varsa, kalbinizin istediği şekilde adlandırabilirsiniz ve bunun hiçbir önemi yoktur. Sunucu sayısı 1'den büyük olduğunda, yönetmeniz gereken yeni sorunlarınız vardır ve uygun adlandırma önemli bir araçtır.
mfinni

1

Feragatname: Asıl soru Linux sistemleri ile ilgili olduğundan, sorunun Windows tarafıyla ilgilenmiyorsanız bu cevabı görmezden gelmekten çekinmeyin.

Her neyse, Windows sistemlerinde, diğer cevaplarda belirtilen tüm noktalardan ayrı olarak, ana bilgisayar adı aslında işletim sistemi tarafından ağ oluşturma ve kimlik doğrulama amacıyla kullanılır; özellikle:

  • Etki alanı üyesi olsun veya olmasın, her sistem aynı ağda benzersiz bir isme sahip olmak zorundadır (yani aynı IP alt ağında ), aksi halde bir ad çatışması oluşacaktır ve çeşitli ağ servisleri (çoğunlukla dosya ve baskı paylaşımı) iş.
  • Aynı Active Directory etki alanının üyesi olan tüm sistemlerin, ağ sınırlarından bağımsız olarak benzersiz bir adı olması gerekir.
  • Bir etki alanı ortamında, bir sistemin ana bilgisayar adı bir güvenlik sorumlusu olarak işlev görür ve uzaktan kimlik doğrulaması için kullanılabilir (sadece makine için bir kullanıcı hesabı olarak düşünün); izin ve erişim hakları verilebilir ve güvenlik amacıyla gruplara yerleştirilebilir. Bu, üzerinde çalıştığı sistemin kimlik bilgilerini kullanarak diğer sistemlere kimlik doğrulaması yapabilen yerleşik LocalSystemve NetworkServicekullanıcı hesaplarını kullanarak sistemde çalışan tüm işlemleri etkiler ; bu, NetworkServiceklasörde SistemA kullanıcı hesabına izinler vererek, SistemA'da çalışan bir işlemin SistemB'de paylaşılan bir klasöre erişmesine izin verir.

-1

Pek çok site ve / veya sözde 'yönetici' şimdi 'hostname' özniteliğinin, kendisine 'domainname' ekleyen herhangi bir çözünürlüğü 'kesen' OS örneğinin FQDN'sini içerdiğini belirtiyor:

ana bilgisayar adı
system1.domain1.org

ping hostname
- system1.domain1.org.domain1.org adresini çözemez


İfadeniz için bir referans kaynağı sağlayabilir misiniz?
Dave M,
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.