Linux'ta bir ana bilgisayar adı takma adı mümkün mü?
Jmillikin tarafından çeşitli Ubuntu forumlarında şu şekilde sorulmuştur:
# Real Host # Aliases
realhost fakehost1 fakehost2 fakehost3
Birisi ssh hakkında yanıt verdi, ancak ping vb. Hakkında değil. Ana amacım --- Subversion sunucusu için bir takma ad olarak kullanmak. Benim durumumda, realhost dinamik bir IP adresi altında. Bu nedenle, "/ etc/hosts" diğer adı çalışmaz. Subversion sunucuma svn://my_svnserver/my_repos
onun yerine svn://realhost/my_repos
.
Forumlarda hesabı olmayanlar (veya giriş yapmak istemeyenler):
asıl sorununuz ping değil ssh ise, ~/.ssh/config gibi satırlar oluşturabilir/düzenleyebilirsiniz:
Host fakehost1
Hostname real-hostname
Host fakehost2
Hostname real-hostname2
Host fakehost3
Hostname real-hostname3
Linux, HOSTALIASES env değişkenini ayarlayarak takma adı 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ü için intihar eder.
Bunu DNS sunucunuzda kurabilirsiniz, CNAME kayıtları bir makinenin birden fazla ana bilgisayar adıyla bilinmesini sağlar. DNS sunucunuza şu şekilde CNAME kayıtları ekleyin:
fakehost1 IN CNAME realhost
fakehost2 IN CNAME realhost
fakehost3 IN CNAME realhost
Bunu genellikle ortam değişkenleri ile yapıyorum. Bunun sadece komut satırı için çalıştığını biliyorum, ancak en çok ana bilgisayar adı takma adlarına özlem duyuyorum (hepsi uzun URL'lere sahip birkaç süper bilgisayar hesabıyla çalıştım). BASH kullanıyorsanız bir örnek. ~/.Bashrc dilinde:
fakehost'u dışa aktar = "long.ass.annoying.url.org"
sonra, yeni bir Kabukta:
ssh christopher @ $ fakehost
Bunun tek yolu kendi yerel dns sunucunuz varsa.
Mevcut IP adresinizi bir ana makine adıyla eşleştirecek bir dyndns sunucusuna ihtiyacınız olacak. Bu sunucuya her giriş yaptığınızda mevcut IP adresinizi söyleyeceksiniz ve ana bilgisayar adı kaydınızı güncelleyecektir.
/Etc/hosts.aliases kullanımı, bağlayıcı çözümleyici kitaplıklarının standart bir özelliğidir./Etc/hosts dosyasına giriş eklemekten daha sağlamdır ve DNS'inize CNAMES ekleyemiyorsanız kullanılabilir (erişiminiz yoktur).
Genel olarak en iyi uygulama, /etc/resolv.conf dosyasında tanımlanan uygun ARAMA ile DNS'de CNAMES kullanmaktır.
Girişlerin IP değişiklikleriyle senkronize tutulması gerektiğinden/etc/host'ları güncellemek çok sağlam değildir. Bu yalnızca küçük ö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 http://en.wikipedia.org/wiki/Dnsmasq olabilir