私は以下を使用する組み込みLinuxを開発しています。忙しい箱そしてウズベキスタン(部分忙しい箱)をDHCPクライアントとして使用します。
DHCPオプション66でFTPサーバーを提供するようにDHCPサーバーを構成する場合、そのオプションにホスト名(有効なDNS名かもしれませんかtftp
? )。/etc/udhcpc.script
オプションにIPアドレスが含まれている場合、変数にtftp
"bad"値が含まれます。
この行動の理由と意味は何ですか?
udhcpcドキュメント(https://udhcp.busybox.net/README.udhcpc、https://udhcp.busybox.net/)Googleでも有用な結果が得られませんでした。
RFC2132このオプションには、IP アドレスを禁止する制限はありません。
udhcpcのオプション66でIPアドレスを取得する方法はありますか?
答え1
更新:別のTFTPサーバーを使用する場合は、通常、オプション150(または66)は必要ありません。オリジナル西アジアの住所大地DHCPサーバーで構成できる場合は十分です。最後を参照してください。
RFC 5859私たちに教えてください:
抽象的な
このメモは、
「TFTPサーバーアドレス」オプションの現在の使用法を文書化します。現在使用されているオプション番号は150です。[...]
DHCPヘッダーの「sname」フィールドを介してこのサーバーを取得するために一般的に許可される2つの方法があります。[RFC2131]および「TFTPサーバー名」オプション(66)[RFC2132]。ただし、両方の情報ソースはTFTPサーバーのホスト名を含みます。その後、ホスト名をIPアドレスに変換する必要があります。これを達成する一般的な方法は DNS[RFC1034]です。
[...]
- TFTPサーバーアドレスオプションの定義
TFTPサーバーアドレスオプションはDHCPオプション[RFC2132]です。このオプションには、クライアントが使用できる1つ以上のIPv4アドレスが含まれています。このオプションの現在の用途は、TFTP経由でVoIPサーバーから設定をダウンロードすることです。ただし、このオプションはVoIP構成サーバーに接続する以外の目的にも使用できます。
このオプションの形式は次のとおりです。
Code Len IPv4 Configuration Server Address(es) +-----+-----+-----+-----+-----+-----+ | 150 | n | IPv4 address | ... +-----+-----+-----+-----+-----+-----+ Figure 1
最小オプション長(n)は4です。
[...]
したがって、あなたの質問に私ができることができる答えは次のとおりです。いいえ、オプション66はまったく使用できません。これを行うには、DHCPオプション150をサポートする必要があります。またはこれ西アジアの住所フィールドはTFTPサーバーを指す「次のサーバー」構成ですが、このRFCでは、一部の制限付きDHCPサーバーはこのフィールドにのみ自分自身を返すと言います。
更新(解決策が思ったより簡単かもしれないことを明確にするため):
そうであれば西アジアの住所(つまり、DHCPサーバー自体とは異なります)は、DHCPサーバー(ISC dhcpやbusybox自体など)でサポートされています。ウズベキスタン)、もちろんすでにサポートされています。ウズベキスタン顧客:
環境変数のパラメータは次のとおりです。
$HOME - The set $HOME env or "/"
[...]
siaddr - The bootp next server option
[...]
西アジアの住所これまで、Debianネットワークインストールを直接起動するなど、別のTFTPサーバーを使用してDHCPを介してx86システムを起動するためにこれを使用してきました。オプション66または150がわからない、または必要ありません。