Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

DHCP サーバーオプション

最終更新 Markdown で表示Agent セットアップ

Cloudflare One Appliance を LAN の DHCP サーバーとして設定している場合、発行するリースに カスタム DHCP オプション を付けられます。よく使う用途は次のとおりです。

  • PXE、PXELINUX、iPXE によるワークステーションやキオスクの ネットワークブート(オプション 43、60、66、67、175、209、210)。
  • VoIP 電話のプロビジョニング(オプション 66 — TFTP サーバー)。
  • ベンダー固有のクライアント設定(ベンダーサブオプション付きのオプション 43)。

DHCP オプションは、Appliance が DHCP サーバーとして動作しているときだけ設定できます。DHCP リレー モードでは効果がありません。

DHCP オプションを設定する

  1. Connectors ページを開きます。
Connectors を開く ↗
  1. Appliances タブ > Profiles を開きます。
  2. 対象の Cloudflare One Appliance を選び、Edit を選びます。
  3. Network Configuration を選びます。
  4. LAN configuration で、新しい LAN を作る場合は Add LAN を選びます。既存の LAN を編集する場合は対象を選び、Edit を選びます。
  5. This is a DHCP server が選ばれていることを確認します。
  6. DHCP server optionsAdd DHCP option を選びます。
  7. 一覧にある一般的なオプションを選ぶか、Add custom option を選んでオプションコード、タイプ、値を自分で入力します。
  8. Save を選びます。

LAN の dhcp_server 設定にある dhcp_options フィールドを使い、API と Terraform でも DHCP オプションを設定できます。DHCP オプションを設定する LAN に対して PUT リクエスト を作成します。

Required API token permissions

At least one of the following token permissions is required:
  • Magic WAN Write
  • Magic Transit Write
Update Site LANbash
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/magic/sites/$SITE_ID/lans/$LAN_ID" \
	--request PUT \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"lan": {
				"static_addressing": {
						"dhcp_server": {
								"dhcp_options": [
										{
												"code": 67,
												"type": "text",
												"value": "boot/x64/pxelinux.0"
										}
								]
						}
				}
		}
	}'

オプションの形式

各オプションは次の 3 つのフィールドで定義します。

フィールド 説明
code DHCP オプションコード(1–254)。 67
type 値のエンコード方式: texthexipbyteshortinteger text
value type に従ってエンコードしたオプション値。 boot/x64/pxelinux.0

値タイプのエンコード

タイプ 形式 値の例
text UTF-8 文字列(最大 255 バイト)。 boot/x64/pxelinux.0
hex サブオプション向けの、コロン区切りの 16 進バイト列(最大 255 バイト)。 01:04:aa:bb:cc
ip ドット区切りの IPv4 アドレス。 10.20.30.40
byte 符号なし 8 ビット整数(0–255)。 1
short 符号なし 16 ビット整数(0–65535)。 512
integer 符号なし 32 ビット整数(0–4294967295)。 0

制限されているオプションコード

  • オプション 0255RFC 2132 で予約されており、設定できません。
  • オプション 3651 は Cloudflare One Appliance が管理するため設定できません。コネクターが管理する設定(デフォルトゲートウェイ、DNS サーバー、リース時間)と競合します。
  • 各オプションコードは LAN ごとに 1 回だけ使えます。重複するオプションコードは拒否されます。

よく使うネットワークブートオプション

よく使うネットワークブートオプションは次のとおりです。

オプション タイプ 用途
43 hex ベンダー固有情報です。サブオプションの配置はベンダーが定義します。
60 text ベンダークラス識別子です。通常は PXEClient です。
66 text TFTP サーバー名です。
67 text ブートファイル名です。例: ipxe.pxe または undionly.kpxe。iPXE は URI も受け付けます。iPXE スクリプトの HTTP URL などです。
175 hex Etherboot と iPXE が使う、クライアント固有のカプセル化オプションです。IANA はこのオプションを暫定割り当てとして掲載しており、ペイロードは定義していません。
209 text TFTP 経由で読み込む PXELINUX 設定のファイル名またはパスです。
210 text PXELINUX の TFTP パスプレフィックスです。オプション 209 の先頭に付加されます。

標準 DHCP オプションコードの一覧は、IANA BOOTP/DHCP parameters registry を参照してください。

検証と適用の動作

新しい DHCP オプション設定を適用する前に、Appliance は次を行います。

  1. 変更を一時設定ファイルにステージします。
  2. 基盤の DHCP サーバーで構文を検証します。
  3. 成功時 は、ステージした設定をアトミックに本番へ差し替え、サービスを中断せずに DHCP サーバーを再読み込みします。
  4. 失敗時 は変更を破棄し、基盤の検証エラーを呼び出し元へ返します。ダッシュボードではフィールドエラー、API と Terraform では API レスポンスに表示されます。未検証の設定で稼働中の DHCP サービスが再起動されることはありません。

そのため、不正なオプションは適用時に拒否され、LAN 上のクライアント向け DHCP サービスを止めません。

役に立ちましたか?