web-dev-qa-db-ja.com

ホスト名をエイリアスする方法は?

ホストファイルでIPアドレスを指定せずに、ネットワークエイリアスを保持することは可能ですか?たとえば、私はabcd.efgh.comしかし欲しいabcd -> abcd.efgh.compingsshが通常どおりに機能するようにします。

Abcd.efgh.comの動的IPで機能させたいので、IPアドレスを明示的に記述したくないのです。

5
Jonas Byström

少し不便な方法は、pingsshの両方にエイリアスを設定することです。次に例を示します。

エイリアスpingfoo = "ping foohost.domain.tld"

OpenSSHは、ホスト名エイリアス(およびその他の多くのオプション)を~/.ssh/configに追加することをサポートしています。

 Host foo 
 Hostname foohost.domain.tld 
#ユーザー、ポート、すべての可能なssh(1)オプションを追加することもできます。
6
user1686

dnsmasqのオプション--cname=<cname>,<target>を使用すると、<cname>が実際には<target>であることを示すCNAMEを作成できます。これは、<target>のDNS名がdnsmasqに(hostsファイルまたはDHCPを介して)認識されている場合にのみ機能することに注意してください。

Dnsmasqが機能しない場合、 nbound は、同様の状況で不明なターゲットもサポートするDNSリゾルバーです。

4
Jawa

OSがGNU glibcを使用している場合は、その_$HOSTALIASES_機能を使用できます。

gethostbyname(3)のマニュアルページから:

 DESCRIPTION 
 
 [etc etc]名前がドットで終わっておらず、環境変数
 HOSTALIASESが設定されている場合、HOSTALIASESが指すエイリアスファイル最初に
名前が検索されます(ファイル形式についてはhostname(7)を参照してください)。名前がドットで終わっていない限り、現在の
ドメインとその親が検索されます。

これは、gethostbyname()と新しいgetaddrinfo()の両方で機能します。ただし、pingにはまったく影響しないようです...

2
user1686