メインコンテンツまでスキップ

LAN DHCP とローカル DNS

routerd が LAN ゲートウェイアドレス、DHCPv4 プールと予約、ローカル DNS ゾーン、リース由来の名前を提供する構成

1 つの LAN インターフェースを、小さな家庭内 LAN や検証用 LAN のサービスセグメントとして使う例です。 routerd が LAN アドレス、DHCPv4、ローカル DNS ゾーン、DHCP リース由来の名前を管理します。

完全な YAML は examples/example-lan-dns-dhcp.yaml にあります。

構成図

図の対応表

番号意味主なリソース
[1]LAN の DNS 待ち受けも兼ねるルーターのアドレス。IPv4StaticAddress/lan-base, DNSResolver/lan-resolver
[2]DHCP の search domain として配るローカル DNS ゾーン。DNSZone/home
[3]アドレスと DNS 設定を受け取る動的なクライアント。DHCPv4Server/lan-dhcpv4
[4]固定リースと名前を持つ基盤ホスト。DHCPv4Reservation/nas, DNSZone/home

この例で管理するもの

領域routerd リソース
LAN アドレスInterface/lan, IPv4StaticAddress/lan-base
ローカルの名前DNSZone/home
リゾルバーDNSResolver/lan-resolver
DHCPv4DHCPv4Server/lan-dhcpv4, DHCPv4Reservation/nas

設定の要点

# [2] router.home.example や nas.home.example のローカルゾーン。
- kind: DNSZone
metadata:
name: home
spec:
zone: home.example
records:
- hostname: router
ipv4From:
resource: IPv4StaticAddress/lan-base
field: address
dhcpDerived:
sources:
- DHCPv4Server/lan-dhcpv4
ddns: true

# [3] DHCP でルーターのアドレスをゲートウェイと DNS として配る。
- kind: DHCPv4Server
metadata:
name: lan-dhcpv4
spec:
gatewayFrom:
resource: IPv4StaticAddress/lan-base
field: address
dnsServerFrom:
- resource: IPv4StaticAddress/lan-base
field: address
domainFrom:
resource: DNSZone/home
field: zone

確認

routerctl validate -f examples/example-lan-dns-dhcp.yaml --replace
routerctl plan -f examples/example-lan-dns-dhcp.yaml --replace
routerctl describe DNSZone/home
routerctl describe DHCPv4Server/lan-dhcpv4
dig @192.168.30.1 router.home.example

よく変えるところ

  • home.example を自分の search domain に変える。
  • NAS、プリンター、基盤機器は DHCPv4Reservation に足す。
  • 一部のドメインだけプライベートな上流へ送りたい場合は DNSForwarderDNSUpstream を追加する。