有効なホスト名ラベルは何ですか?

有効なホスト名ラベルは何ですか?

ホスト名を数値に設定して実行すると、hostname次のようになります。

6592

しかし、実行すると、次のようなping 6592結果が得られます。

connect: Invalid argument

関連確認しましたウィキペディアページ、そのようなホスト名が許可されていることが示されています(IIUC)。私は何を見逃していますか?

答え1

RFCが言う内容は、実際にはここでは重要ではありません。 RFC は DNS レベルで発生することを指定しますが、最初に ping が DNS クエリを実行しない限り意味がありません。 pingがすべて数値で構成されたパラメータを受信すると、それをIPアドレスとして解釈します。

IPv4アドレス技術的には32ビット数です。それらはほとんど常に次のように書かれています。ドットで区切られた10進表記、例えば、いわゆる「点四辺形」です127.0.0.1。ただし、213070643310進数または16進数で1桁の数字で書くこともできます0x7f000001

$ ping 2130706433    # 127*2^24 + 1
PING 2130706433 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.027 ms
$ ping 0.0.25.192
connect: Invalid argument

0.0.0.0/8の範囲のアドレスは次のとおりです。予約済み放送でソースアドレスとして使用されます。彼らにパケットを送ることができないので、がconnect(2)返されますEINVAL

ほとんどのping実装を含む多くのプログラムには、DNSルックアップを強制するオプションはありません。すべての数字で構成されたサブドメインでローカルネットワークを作成し、点線の四辺形のように見える有効なホスト名で終わると、同様の問題に直面します。

ローカルネットワークに名前がある場合はping 6592.mynetwork使用できます。しかし、すぐにドメイン名を省略したいので、同様の問題に直面する可能性があります。ちょうど流れに従って始めに手紙を書いてください。

答え2

まあ、まさにそうではありません...ウィキペディアとRFCが言うのはオリジナル以来RFC 952、以前は前の数字は許可されていませんが、今は利用可能です。 (すべてRFC 1123)あなたはまだ持っていません。みんな数字ですが、あなたの質問です。

「6952」は有効なホスト名ではなく、「6952x」は問題ありません。しかし、RFCはさておき、過去1年間に先行数字に問題がありました。私はそうしないように説得力のある理由がなければそれらを避けます。

関連情報