Cloudflare One Appliance を LAN の DHCP サーバーとして設定している場合、発行するリースに カスタム DHCP オプション を付けられます。よく使う用途は次のとおりです。
- PXE、PXELINUX、iPXE によるワークステーションやキオスクの ネットワークブート(オプション 43、60、66、67、175、209、210)。
- VoIP 電話のプロビジョニング(オプション 66 — TFTP サーバー)。
- ベンダー固有のクライアント設定(ベンダーサブオプション付きのオプション 43)。
DHCP オプションは、Appliance が DHCP サーバーとして動作しているときだけ設定できます。DHCP リレー モードでは効果がありません。
- Connectors ページを開きます。
- Appliances タブ > Profiles を開きます。
- 対象の Cloudflare One Appliance を選び、Edit を選びます。
- Network Configuration を選びます。
- LAN configuration で、新しい LAN を作る場合は Add LAN を選びます。既存の LAN を編集する場合は対象を選び、Edit を選びます。
- This is a DHCP server が選ばれていることを確認します。
- DHCP server options で Add DHCP option を選びます。
- 一覧にある一般的なオプションを選ぶか、Add custom option を選んでオプションコード、タイプ、値を自分で入力します。
- 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 WriteMagic Transit Write
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 |
値のエンコード方式: text、hex、ip、byte、short、integer。 |
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 |
- オプション
0と255は RFC 2132 ↗ で予約されており、設定できません。 - オプション
3、6、51は 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 は次を行います。
- 変更を一時設定ファイルにステージします。
- 基盤の DHCP サーバーで構文を検証します。
- 成功時 は、ステージした設定をアトミックに本番へ差し替え、サービスを中断せずに DHCP サーバーを再読み込みします。
- 失敗時 は変更を破棄し、基盤の検証エラーを呼び出し元へ返します。ダッシュボードではフィールドエラー、API と Terraform では API レスポンスに表示されます。未検証の設定で稼働中の DHCP サービスが再起動されることはありません。
そのため、不正なオプションは適用時に拒否され、LAN 上のクライアント向け DHCP サービスを止めません。