Linux'ta / etc / hosts formatı (Windows'tan farklı mı?)


22

Bu sorunun altına yapıştırılan /etc/hostsbir Linux (CentOS) ve Windows makinesinden bir dosya örneğidir . Linux dosyasının IP adresinden sonra iki sekmeli girişi vardır (bu, localhost.localdomain localhost) ve Windows yalnızca bir tane içerir. Eğer windows'da hosts dosyasını Windows'da localhost yerine makine ismine (etest) sahip olarak düzenlemek istersem, localhost kelimesini sadece istediğim makine ismi ile değiştiriyorum. Makinenin bir etki alanının parçası olması gerekmez.

Bir Linux makinesinde, iki giriş localhost.localdomainve localhostmakinenin bir etki alanının parçası olması için ihtiyacım olacağını belirtiyor gibi görünüyor. Bu doğru mu?

Her iki girişi etestde okuyacak şekilde düzenleyebilir miyim :

127.0.0.1       etest etest

veya bir girdiyi etki alanı adıyla değiştirmem gerekir mi?

Ek olarak, lütfen /etc/hostsLinux makinedeki dosyanın ikinci satırının ne olduğunu bana bildirin .

::1     localhost6.localdomain6 localhost6

hosts Linux makinesinde dosya:

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1       localhost.localdomain localhost
::1     localhost6.localdomain6 localhost6

hosts windows makinesinde dosya:

# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

127.0.0.1       localhost

Son zamanlarda benzer bir soru yayınladım, ancak çok fazla ilgi çekmedi. unix.stackexchange.com/questions/11844/etc-hosts-for-debian . Bu olsa iyi yazılmış.
Faheem Mitha

Yanıtlar:


13

Daima 127.0.0.1 adresinin ilk önce localhost'a çözümlenmesini istiyorsunuz. Bir etki alanı varsa, onu da kullanabilirsiniz, ancak localhost'un ikinci sırada olduğundan emin olun. Makineniz için geri döngü adresine bakacak takma adlar eklemek istiyorsanız, bunları bu satırda boşlukla ayrılmış değerler olarak eklemeye devam edebilirsiniz. Burada bir etki alanı belirtmek isteğe bağlıdır, ancak "localhost" seçeneğini seçeneklerden kaldırmayın.


5
Ayrıca ":: 1" 127.0.0.1'in ipv6 eşdeğeridir (ipv4 için olan).
XQYZ

Bu, soruma attığım soru yerine böyle bir çizgiye sahip olmanın daha akıllıca olacağı anlamına mı geliyor? Localhost.localdomain localhost işlevini açık bırakarak boşlukla ayrılmış diğer bir ad (ana bilgisayar adımı) ekleyin. Değilse, lütfen makine ana bilgisayar adımı eklemek ve ana makine dosyasına localhost girişleri eklemek için ideal giriş olarak önerdiklerinize bir örnek gönderin.
Thomas

1
127.0.0.1 localhost.localdomain yerel ev sahibi etest
Thomas

1
@Tomas: Sizin örneğiniz olması gerektiği gibi. Bununla devam edin; test için daha fazla takma ad eklemeniz gerekirse (örneğin, apache'deki sanal konakların adıyla) bunları çizgiye eklemeye devam edebilirsiniz.
Caleb

22

/etc/hostsLinux ve Windows'ta format aynıdır:

IP address        hostname [hostalias]...

köşeli ayraçların, bir şeyin isteğe bağlı olduğunu (aslında onları yazmayın) ve noktaların ( ...) birden fazla olabileceğini göstermenin olağan yoludur .

Ana makinenizi bir etki alanının parçası haline getirmeniz gerekmez. Deneyin ve görün. Ancak .localdomain, gerçek bir etki alanı adınız yoksa kullanmak iyi bir fikirdir . Bu ndotsseçenek nedeniyle ana bilgisayar adı çözünürlüğünü biraz daha hızlı hale getirebilir /etc/resolv.conf.

Bu anlamda, etki alanının bir Windows etki alanı veya benzeri bir şey değil, DNS etki alanı ( google.comveya gibi stackexchange.com) anlamına geldiğini unutmayın.

İle başlayan hat ::1içindir IPv6 . yeni adresleme programında ::1olduğu gibi 127.0.0.1. Koş ifconfig love iki adresi olduğunu görmelisin. İle başlayan girişi not alın inet6.

$ ifconfig lo
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
...

Daha fazla bilgi için ana bilgisayarların (5) kılavuz sayfasına bakın.


(...) birden fazla olabileceği anlamına gelir: Ekstralar boşluk veya virgülle mi yoksa her ikisiyle mi ayrılmış?
Guy,

1
alanlarda. Sanırım daha doğru olmalı hostname [hostalias[,hostalias]*].
Mikel

6

Windows'un Linux'tan nasıl farklı olabileceği konusunda konuşamıyorum, ancak yerel makinenin tanımının formatı 'hostname' komutundan alacağınız sonuçları etkiler.

Bulduğum format en tutarlı şekilde çalışıyor:

127.0.0.1 etest.mydomain.com etest localhost

Bulduğum önemli şey, önce FQDN'ye ve takma adlara, sonradan herhangi bir sırayla sahip olmak.

IP adresinden sonra adların yeniden düzenlenmesi ve ardından 'hostname -s' (kısa ad) ve 'hostname -f' (tam etki alanı adı veya FQDN) komutlarını kullanarak deneme yaparsanız, ne demek istediğimi göreceksiniz. Bunun gibi bir şeye benzemeli:

$ hostname -s
etest

$ hostname -f
etest.mydomain.com

'hostname', /etc/conf.d/hostname veya / etc / hostname içindeki ana bilgisayar için girdiğiniz adı döndürmelidir (dosyanın konumu dağıtıma göre değişir, ancak / etc altında bulunmalıdır).

İsimlerin sırasını değiştirirseniz, "hostname -f" ifadesinin size "localhost" veya "hostname: system error" gibi yanıtlar verdiğini görebilirsiniz. Doğru çalıştığım tek düzenleme FQDN'yi ilk sıraya koymak.

Her zaman IPv6 yerel adres satırını (:: 1) aynı şekilde ayarladım, yani:

::1 etest.mydomain.com etest localhost

Bazı dağıtımların IPv6 adını ip6-localhost gibi bir şeye ayarladığını biliyorum. Henüz IPv6 kullanmıyorum, bu nedenle bu satır için en iyi ayarların ne olacağı konusunda yorum yapamam. Sadece bir IPv4 ağında her iki çizginin de aynı isimlerle yapıldığını söyleyebilirim.


0

Slaves ana bilgisayar dosyasını farklı tut

127.0.0.1 localhost

Ana ana dosyayı farklı tut

<private ip> master
<private ip> slave1
<private ip> slave2

% 100 çalışma


Lütfen cevabınızı netleştirin ve uygun biçimlendirme kullanın. İsminizi cevabınıza koymak zorunda değilsiniz.
Lambert
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.