ホストファイルでIPアドレスを指定せずに、ネットワークエイリアスを保持することは可能ですか?たとえば、私はabcd.efgh.com
しかし欲しいabcd -> abcd.efgh.com
ping
とssh
が通常どおりに機能するようにします。
Abcd.efgh.comの動的IPで機能させたいので、IPアドレスを明示的に記述したくないのです。
少し不便な方法は、ping
とssh
の両方にエイリアスを設定することです。次に例を示します。
エイリアスpingfoo = "ping foohost.domain.tld"
OpenSSHは、ホスト名エイリアス(およびその他の多くのオプション)を~/.ssh/config
に追加することをサポートしています。
Host foo Hostname foohost.domain.tld #ユーザー、ポート、すべての可能なssh(1)オプションを追加することもできます。
dnsmasq
のオプション--cname=<cname>,<target>
を使用すると、<cname>
が実際には<target>
であることを示すCNAMEを作成できます。これは、<target>
のDNS名がdnsmasqに(hostsファイルまたはDHCPを介して)認識されている場合にのみ機能することに注意してください。
Dnsmasqが機能しない場合、 nbound は、同様の状況で不明なターゲットもサポートするDNSリゾルバーです。
OSがGNU glibcを使用している場合は、その_$HOSTALIASES
_機能を使用できます。
gethostbyname(3)
のマニュアルページから:
DESCRIPTION [etc etc]名前がドットで終わっておらず、環境変数 HOSTALIASESが設定されている場合、HOSTALIASESが指すエイリアスファイル最初に 名前が検索されます(ファイル形式についてはhostname(7)を参照してください)。名前がドットで終わっていない限り、現在の ドメインとその親が検索されます。
これは、gethostbyname()
と新しいgetaddrinfo()
の両方で機能します。ただし、ping
にはまったく影響しないようです...