Soru Linux'ta bir hostname takmak mümkün mü?


Linux'ta bir hostname takmak mümkün mü?

Aşağıdaki gibi çeşitli Ubuntu forumlarında jmillikin tarafından sorulmuştur:


Bir hostname takma adı oluşturmak mümkün mü? / Etc / hosts gibi sırala ancak IP adresleri yerine diğer ana bilgisayar adları ile. Yani bazılarıyla Böyle dosya, "fakehost1" ping olabilir ve yeniden eşlenmiş olur "realhost" ve sonra "realhost" bir IP adresine çözülecektir.

# Real host        # Aliases
realhost           fakehost1 fakehost2 fakehost3

Birisi ssh hakkında cevap verdi, ama pingle ilgili değil, vs. amaç bir takma ad olarak kullanmaktır yıkılma sunucusu. Benim durumumda, realhost dinamik bir IP adresinin altında. Yani, "/ etc / hosts" takma adı çalışmıyor. İstiyorum Subversion sunucuma erişim svn://my_svnserver/my_repos yerine svn://realhost/my_repos.


76
2017-09-14 15:56


Menşei


Sanırım bir şey kaçırıyor olabilirim. / Etc / hosts 'a sahip olamayacağınızı mı söylüyorsunuz? 10.0.3.4 some.host.org another.domain.com Bazı programatik nedenlerden dolayı bir referans kullanmak zorunda mısınız? - jim_m_somewhere


Cevaplar:


Forumlarda hesabı olmayanlar için (veya giriş yapmak istemiyorsanız):

ana sorun ping değil ssh için ise, oluşturabilirsiniz / düzenleyin   ~ / .ssh / config şunun gibi satırları ekleyin:

Host fakehost1
  Hostname real-hostname

Host fakehost2
  Hostname real-hostname2

Host fakehost3
  Hostname real-hostname3

47
2017-08-26 20:21



Hostname bölümünün yeni bir hat üzerinde olması gerekiyor. İşte böyle bir yapılandırma dosyası yapmak için iyi bir öğretici: mattryall.net/blog/2008/06/ssh-favourite-hosts - Code Commander
iyi bir çözüm, teşekkürler. Ama elbette, daha iyi bir çözüm, dn üzerinde cnames kullanmak olurdu - Iurii


Linux, HOSTALIASES env değişkenini ayarlayarak takmalamayı destekler.

echo "fakehost realhost" > /etc/host.aliases
echo "export HOSTALIASES=/etc/host.aliases" >> /etc/profile
. /etc/profile

o zaman yapabilirsin

ping fakehost

N.B. ping bunu root olarak ayarlamanızı gerektirir, ancak bu kullanıcı olarak çalışan herhangi bir uygulama için herhangi bir kullanıcı olarak yapabilirsiniz. ping kökü emer.


28
2018-03-21 18:41



Ubuntu 12.04 :( benim için çalışmadı - Dimitry K
HOSTALIASES yalnızca setuid flag setine sahip olmayan yürütülebilirler için çalışır. Yani ping için işe yaramaz (ping'i yürütürken zaten root olmadıkça). Sanırım bu, setuid-executables'leri, niyet ettiğinden farklı bir ana bilgisayara bağlanmak için kandırmaktan kaçınmak için yapılır. - Boris
Ayrıca kıvırmak için çalışmıyor - Benubird
Nadiren beklenen sonuçta sona erecek. HOSTALIASES sadece getaddrinfo (3) veya gethostbyname (3) kullanan uygulamalar için çalışır. - Bu, ana bilgisayar adını belirli bir sistem çağrısıyla açık bir şekilde çözmeyi deneyen uygulamalar için çalışacağı anlamına gelir: Hiçbir zaman durum böyle değildir. görmek unix.stackexchange.com/questions/10438/...  böylece tek çözüm yerel dns (dnsmasq) - Nadir
Görünüşe göre bu hile reddedildi. Gethostbyname * (), gethostbyaddr * (), herror () ve hstrerror () işlevleri geçersizdir. Sisteminiz DNSMasq'ı yerel olarak çalıştırıyorsa, DNS kullanan herhangi bir çözünürlük için takma ad kullanabilirsiniz. - teknopaul


Bunu DNS sunucunuzda kurabilirsiniz, CNAME kayıtları bir makinenin birden fazla ana makine adıyla tanınmasını sağlar. Bu yüzden DNS sunucunuza CNAME kayıtları ekleyin:


fakehost1 IN CNAME realhost 
fakehost2 IN CNAME realhost 
fakehost3 IN CNAME realhost 


23
2017-09-14 16:04



Teşekkürler, yarın yerel dns sunucumu kurduktan sonra deneyeceğim.
denemek için hafif bir DNS sunucusu olurdu dnsmasq (ayrıca DHCP'yi de kullanır). - sybreon


Bunu çoğunlukla ortam değişkenleriyle yapıyorum. Bunun sadece komut satırı için çalıştığını biliyorum, ancak en çok ben ana bilgisayar adı takma adlarını aştığım yer (burada uzun URL'lerle birçok süper hesapta çalıştım). BASH kullanıyorsanız, bir örnek. ~ / .Bashrc içinde:

export fakehost = "long.ass.annoying.url.org"

sonra, taze bir kabukta:

ssh christopher @ $ Instagram Hesabındaki Resim ve Videoları fakehost


16
2017-07-23 16:15





Bunu yapmanın tek yolu, kendi yerel dns sunucunuz varsa.


8
2017-09-14 16:02



Evet, şimdi tek çözüm gibi görünüyor. Teşekkürler. Yeteri kadar sahip olmadığım için artık not veremem.
Bir DSL veya çevirmeli bağlantının sürekli değişen IP adresi sorunsa, dyndns daha iyi bir çözümdür, IMHO. - Sven♦
Hayır, daha iyi bir çözüm değil. Sunucu, başka bir şey tarafından ele alınan bir ana bilgisayar adına sahip olduğunda, tüm OP ihtiyaçları ilk ana bilgisayar adı için bir CNAME'dir. DYNDNS ve benzerleri, sunucunun ipin değiştirdiği dns sunucusunu bilgilendirir. - theotherreceive


/Etc/hosts.aliases kullanımı, bağlama çözücü kitaplıklarının standart bir özelliğidir. / Etc / hosts dosyasına girişler eklemekten daha sağlamdır ve DNS'nize CNAMES ekleyemiyorsanız kullanılabilir (buna erişiminiz yoktur).

Genel olarak en iyi uygulama, /etc/resolv.conf dosyasında tanımlanan uygun SEARCH ile DNS'de CNAMES kullanmaktır.

Girişlerin IP değişiklikleriyle eşzamanlı olarak tutulması gerektiği için / etc / hosts güncellenmesi çok güçlü değildir. Bu sadece küçük bir ölçekte veya ana bilgisayar haritasını dağıtmak için bir ad hizmeti kullandığınızda (örn. Ldap aracılığıyla) çalışır.

Başka bir çözüm DNSMasq olabilir http://en.wikipedia.org/wiki/Dnsmasq


4
2017-10-28 03:44



CENTOS 6'da /etc/hosts.aliases kullanmayı denedim, ancak bu özellik işe yaramıyor. Onun kullanımı veya varlığı hakkında herhangi bir belge bulamadım. Nereye bakmalıyım? - mdpc


Mevcut IP adresinizi bir ana makine adına eşleyecek bir dyndns sunucusuna ihtiyacınız olacaktır. Bu sunucuyu, giriş yaptığınızda mevcut IP adresiniz hakkında bilgilendirirsiniz ve ana makine adınızı günceller.


4
2017-09-14 16:05