שאלה האם ניתן לכנות שם מארח ב- Linux?


האם ניתן לכנות שם מארח ב- Linux?

זה כבר שאל על ידי jmillikin בפורומים שונים אובונטו כדלקמן:


האם ניתן ליצור כינוי מארח? סוג של כמו / etc / hosts, אבל עם שמות מארחים אחרים במקום כתובות IP. אז עם כמה קובץ כזה, אתה יכול ping "fakehost1", וזה יהיה ממופה מחדש כדי "realhost", ואז "realhost" ייפתר לכתובת ה- IP.

# Real host        # Aliases
realhost           fakehost1 fakehost2 fakehost3

מישהו ענה על ssh, אבל לא על פינג, וכו 'הראשי שלי המטרה היא להשתמש בו ככינוי עבור a חתרנות שרת. במקרה שלי, Realhost נמצא תחת כתובת IP דינמית. אז, "/ etc / hosts" כינוי לא עובד. אני רוצה גישה לשרת svn://my_svnserver/my_repos במקום svn://realhost/my_repos.


76
2017-09-14 15:56




אני מניח שאני עלול להיות חסר משהו. האם אתה אומר שאתה לא יכול להיות / etc / hosts נראה כמו 10.0.3.4 some.host.org עוד.דומיין אתה צריך להשתמש הפניה עבור סיבה תכנותית כלשהי? - jim_m_somewhere


תשובות:


לאלו שאין להם חשבון בפורומים (או לא רוצים להתחבר):

אם הבעיה העיקרית שלך היא לא ping אבל כדי ssh, אתה יכול ליצור / לערוך   ~ / .ssh / config מוסיף שורות כאלה:

Host fakehost1
  Hostname real-hostname

Host fakehost2
  Hostname real-hostname2

Host fakehost3
  Hostname real-hostname3

47
2017-08-26 20:21



החלק Hostname צריך להיות בשורה חדשה. הנה מדריך טוב על איך לעשות קובץ config ככה: mattryall.net/blog/2008/06/ssh-favourite-hosts - Code Commander
פתרון טוב, תודה. אבל כמובן, פתרון טוב יותר יהיה להשתמש שמות על dns - Iurii


לינוקס תומך aliasing על ידי הגדרת משתנה HOVALIASES env.

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

אז את \ ה יכול \ ה

ping fakehost

N.B. פינג דורש ממך להגדיר את זה בתור שורש, אבל אתה יכול לעשות את זה כמו כל משתמש עבור כל יישום שפועל כמשתמש זה. ping suids לשורש.


28
2018-03-21 18:41



לא עובד בשבילי על אובונטו 12.04 :( - Dimitry K
ה- HOSTALIASES פועל רק עבור קובצי הפעלה שאין להם את הדגל של סטואידים. אז זה לא יעבוד עבור ping (אלא אם כן אתה כבר שורש בעת ביצוע פינג). אני מניח שזה נעשה כדי למנוע tricking סטרואידים, הרצה לתוך חיבור למארח אחר ממה שהוא התכוון. - Boris
כמו כן לא עובד עבור סלסול - Benubird
זה יהיה לעתים נדירות בסופו של דבר התוצאה הצפויה. HOSTALIASES פועל רק עבור יישומים באמצעות getaddrinfo (3) או gethostbyname (3) - זה אומר שזה יעבוד עבור יישומים מנסה לפתור את שם המארח על ידי שיחת מערכת ספציפית: זה אף פעם לא המקרה. ראה unix.stackexchange.com/questions/10438/...  אז הפתרון היחיד הוא dns המקומי (dnsmasq) - Nadir
נראה שזה טריק הוא הוצא משימוש. הפונקציות gethostbyname * (), gethostbyaddr * (), herror () ו- hstrerror () הן מיושנות. אם המערכת שלך מפעילה DNSMasq מקומית אתה יכול כינוי זה עבור כל החלטה המשתמשת DNS. - teknopaul


ניתן להגדיר זאת בשרת ה- DNS שלך, רשומות CNAME מאפשרות למכונה להיות ידועה ביותר משם מארח אחד. אז הוסף רשומות CNAME לשרת ה- DNS שלך כך:


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


23
2017-09-14 16:04



תודה, אני אנסה את זה מחר אחרי הגדרת שרת DNS המקומי שלי.
שרת DNS קל משקל לנסות יהיה dnsmasq (הוא גם משרת DHCP). - sybreon


לעתים קרובות אני עושה זאת עם משתני סביבה. אני יודע שזה עובד רק עבור שורת הפקודה, אבל זה המקום שבו אני בדרך כלל משתוקק כינויים שם המארח (עבדתי עם כמה חשבונות מחשב העל, עם כל כתובות ארוכות). הנה דוגמה, אם אתה משתמש ב- BASH. ב ~ / .bashrc:

ייצוא fakehost = "long.ass.annoying.url.org"

ואז, בתוך קליפה חדשה:

סוני כריסטופר @ $ fakehost


16
2017-07-23 16:15





הדרך היחידה שבה ניתן לעשות זאת היא אם יש לך שרת DNS המקומי שלך.


8
2017-09-14 16:02



כן, עכשיו זה נראה הפתרון היחיד. תודה. לא יכול upvote מאז אין לי מספיק מוניטין.
אם כתובת ה- IP המשתנה של חיבור DSL או חיוג היא הבעיה, dyndns הוא פתרון טוב יותר, IMHO. - Sven♦
לא, זה לא פתרון טוב יותר. לאחר השרת יש hostname כי הוא מטופל על ידי משהו אחר אז כל הצרכים OP הוא CNAME עבור שם המארח הראשון. DYNDNS דומים להסתמך על המארח ליידע את שרת ה- DNS כי זה השתנה. - theotherreceive


השימוש ב- /etc/hosts.aliases הוא תכונה סטנדרטית של ספריות ה- fix bind. זה חזק יותר מאשר הוספת רשומות / etc / hosts וניתן להשתמש בו אם אתה לא יכול להוסיף CNAMES ל- DNS שלך (אין לך גישה אליו).

ככלל, הנוהג הטוב ביותר הוא להשתמש ב- CNAMES ב- DNS עם הגדרת SEARCH המתאימה ב- /etc/resolv.conf.

עדכון / etc / hosts הוא לא חזק מאוד כמו ערכי צריך להישמר מסונכרן עם שינויי IP. זה רק עובד על בקנה מידה קטן או כאשר אתה משתמש בשירות שם כדי להפיץ את המארחים מפה (למשל באמצעות ldap).

פתרון נוסף עשוי להיות DNSMasq http://en.wikipedia.org/wiki/Dnsmasq


4
2017-10-28 03:44



ניסיתי באמצעות /etc / hosts.aliases ב CENTOS 6 אבל תכונה זו לא נראה לעבוד. אני גם לא יכול למצוא שום תיעוד על השימוש בו או להתקיים. היכן עלי לחפש? - mdpc


אתה צריך שרת dyndns כי יהיה למפות את כתובת ה- IP הנוכחית שלך לשם המארח. תוכל לספר לשרת זה על כתובת ה- IP הנוכחית שלך בכל פעם שתתחבר, והיא תעדכן את רשומת המארח שלך.


4
2017-09-14 16:05