手当たり次第に書くんだ

飽きっぽいのは本能

VyOS DHCP サーバー設定 – LAN 向けアドレス配布の基本

VyOS DHCP サーバーは、LAN 側端末へ IPv4 アドレス、default gateway、DNS、domain-name、lease を配布するための機能です。設定自体は短く見えますが、LAN セグメント、固定 IP、DNS forwarding、Firewall、NAT と強く関係します。

vyos dhcp で調べる時に重要なのは、配布範囲だけではありません。どの端末を DHCP 対象にするのか、固定 IP と重ならないか、クライアントへどの DNS と gateway を渡すのかを先に決めます。

この記事では、VyOS 1.5 系で読むことを前提に、LAN 向け DHCP サーバー設定、確認コマンド、よくあるつまずきを確認します。細かな表示やコマンド差分は利用している ISO と構成で確認してください。

この記事の結論

  • DHCP は IP アドレスだけでなく default-router、DNS、domain-name、lease も配る
  • 固定 IP と DHCP 配布範囲は必ず分ける
  • 内部 DNS を使う場合は DNS forwarding や上流 DNS と合わせて確認する
  • 複数セグメントでは shared-network-name と subnet の対応を明確にする
  • 設定後は VyOS 側の lease と端末側の取得情報を分けて見る

DHCP サーバーで決めること

項目意味注意点
subnetDHCP を配布する LAN セグメントinterface のアドレスと合っているか見る
range配布するアドレス範囲固定 IP と重ねない
default-router端末へ渡す gatewayVyOS の LAN 側アドレスを指定することが多い
dns-server端末へ渡す DNS内部 DNS か外部 DNS か決める
domain-name端末へ渡す検索 domain内部名前解決の前提に合わせる
lease貸し出し時間検証環境と安定運用で値を変える

固定 IP と配布範囲を分ける

DHCP を設定する前に、固定 IP と DHCP 配布範囲を分けます。たとえば gateway、DNS、監視サーバー、固定運用する機器を 192.168.0.1 から 192.168.0.99 に置き、端末向け DHCP を 192.168.0.100 から 192.168.0.199 にする、という考え方です。

範囲用途
192.168.0.1VyOS LAN 側 gateway
192.168.0.2-99固定 IP 機器、DNS、監視、サーバー
192.168.0.100-199DHCP 配布範囲
192.168.0.200-254予備、検証、一時利用

DHCP サーバーを設定する

次は、192.168.0.0/24 の LAN に対して、192.168.0.100 から 192.168.0.199 までを配布する例です。gateway は VyOS の LAN 側アドレス、DNS は内部 DNS サーバーを指定する想定です。

configure
set service dhcp-server shared-network-name INSIDE authoritative
set service dhcp-server shared-network-name INSIDE subnet 192.168.0.0/24 default-router '192.168.0.1'
set service dhcp-server shared-network-name INSIDE subnet 192.168.0.0/24 dns-server '192.168.0.10'
set service dhcp-server shared-network-name INSIDE subnet 192.168.0.0/24 domain-name 'example.local'
set service dhcp-server shared-network-name INSIDE subnet 192.168.0.0/24 lease '86400'
set service dhcp-server shared-network-name INSIDE subnet 192.168.0.0/24 range 0 start '192.168.0.100'
set service dhcp-server shared-network-name INSIDE subnet 192.168.0.0/24 range 0 stop '192.168.0.199'
commit
save

DNS forwarding と合わせる

DHCP で内部 DNS を配る場合は、その DNS が実際に名前解決できることを確認します。VyOS 自身で DNS forwarding を提供する構成なら、DHCP の dns-server と DNS forwarding の listen interface を合わせます。

show configuration commands | match 'dns forwarding'
show configuration commands | match 'dhcp-server'
show dns forwarding statistics

確認する

設定後は、DHCP サーバー設定、lease、端末側の取得情報を分けて確認します。VyOS 側に設定が入っていても、VLAN、interface、Firewall、クライアント側のリンク状態が合わないとアドレスは配布されません。

show service dhcp-server
show dhcp server leases
show configuration commands | match 'dhcp-server'
show interfaces ethernet eth1

端末側では、IP アドレス、default gateway、DNS、domain-name を確認します。アドレスだけ取れていても、DNS や default gateway が違うと利用者からは通信できないように見えます。

複数セグメントで使う場合

複数の LAN や VLAN へ配布する場合は、shared-network-name と subnet の対応を分かりやすく保ちます。同じ名前に複数 subnet を入れる場合と、セグメントごとに名前を分ける場合で、運用時の見え方が変わります。

  • VLAN ごとに DHCP 範囲を分ける
  • gateway と dns-server を subnet ごとに確認する
  • 固定 IP 範囲と配布範囲を subnet ごとに決める
  • 同一セグメントに複数 DHCP サーバーを置かない
  • Firewall で DHCP Discover / Offer を邪魔していないか見る

よくあるつまずき

症状見る場所考え方
端末が IP を取れないinterface、VLAN、lease、FirewallDHCP 設定だけで判断しない
IP は取れるが外に出ないdefault-router、NAT、routegateway と外向き経路を見る
名前解決だけ失敗するdns-server、DNS forwarding、上流 DNS疎通と DNS を分けて確認する
固定 IP と衝突するrange と固定割当配布範囲を固定 IP から離す
別 subnet の設定を見失うshared-network-name と subnet名前と subnet の対応を管理する

まとめ

VyOS DHCP サーバー設定は、LAN 側端末へアドレスを配るだけの設定ではありません。配布範囲、default-router、DNS、domain-name、lease、固定 IP の分離をセットで決めることで、端末側の通信前提が決まります。

DHCP で IP アドレスを取得できても、DNS や gateway が間違っていると通信できないように見えます。設定後は VyOS 側の lease と端末側の取得情報を分けて確認し、DNS forwarding、NAT、Firewall と合わせて見ます。

関連する記事
VyOS DHCP サーバー設定 – LAN 向けアドレス配布の基本

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る