プロジェクト

全般

プロフィール

機能 #336

完了

機能 #333: ネットワーク構成再考 [2024-05]

lab VLAN と public VLAN の IPAM (DHCP/DNS) の検討

nop_thread さんが11日前に追加. 8日前に更新.

ステータス:
終了
優先度:
通常
担当者:
開始日:
期日:
進捗率:

100%

予定工数:
一時中断:
いいえ
meta:
いいえ
pinned:
いいえ
確認予定日:
前回確認日:

説明

これまで物理ホストに限らずコンテナや VM 等の有象無象について、IP アドレス割り当てと名前解決の設定追加を全て手動で行なっていた。
しかし基本的に IP アドレスが静的である必要のあるサービスは稀で、多くは名前から IP アドレスを引ければ固定の IPv4 アドレスを持っている必要がないものが多い。
(IPv6 アドレスはだいたい SLAAC を使っているので、自動かつ固定のアドレスになっている。)

管理の負荷軽減 (理想的にはアドレス割り当ての全自動化) を目標に、 lab VLAN と public VLAN に DHCP と DNS を連動させられる IPAM ソリューションの導入を検討する。


関連するチケット 1 (1件未完了0件完了)

関連している 鯖缶 - 機能 #338: lab VLAN 用の DHCP サーバを検討新規nop_thread

操作

nop_thread さんが11日前に更新

DNS については生だと CoreDNS の使い心地が良い。しかしこれは phpIPAM や netbox とのネイティブな integration がなさそう。
(サードパーティで netbox 連携みたいなのがあるようだが、 Go で書かれていたり9ヶ月更新されていなかったりで、あまり積極的に使いたくはない。)
API で云々などの integration を考えるなら PowerDNS とかが良かったりするらしいので、 DNS は最後に決めることになるかも。

nop_thread さんが11日前に更新

phpIPAM と PowerDNS の連携はかなり便利そうなのだが、 phpIPAM が PowerDNS の使っているデータベースに直接接続する形での連携になるらしく (cf. pelican@ainoniwa.net – phpIPAMを使ってIPアドレス管理を始めたい僕の二歩目) (そこは API とかじゃないのかい!)、それはそれで密すぎる連携に不安がある。
両方とも API でどうにかなるのなら、簡単なスクリプトとデーモンによる同期を自分で用意するという手もなくはないが……。

nop_thread さんが11日前に更新

nop_thread さんは #note-2 で書きました:

それはそれで密すぎる連携に不安がある。

PDNS 4.2 (beta) compatibility · Issue #2574 · phpipam/phpipam · GitHub

案の定、互換性問題が出てきてるっぽい。当たり前だろ……

nop_thread さんが11日前に更新

もうひとつ、 Debian での (apt で入れるネイティブな) PHP は設定ファイルのパスやパッケージバージョン等に PHP のメジャーバージョンが含まれたりして管理が若干面倒なので、避けられるものなら避けたい。

nop_thread さんが11日前に更新

2016年の頭には既に言われていて問題も認識されており、それでいて8年後の2024年中頃になってもまだ解決の見込みが提示されていない。
これはもう期待も信用もできない。
phpIPAM は却下。

nop_thread さんが11日前に更新

IPAM は他の有力な候補が NetBox しかなさそう。
DHCP と DNS との連携は外でやることにしてしまうのが良いか。

nop_thread さんが11日前に更新 · 編集済み

NetBox のデモを触ってみているが、何らかの自動反映の仕組みを用意しないと手作業でデータをメンテするのは厳しい気がする。
NetBox の fork だという Nautobot も一応確認してみる。

nop_thread さんが11日前に更新

nop_thread さんが11日前に更新

PowerDNS に web UI を提供するプロジェクトはしばらく動きがない状態が続きそう。
であれば直接のファイル編集でどうにかできる CoreDNS を使った方が小回りがきくので良さそう。

nop_thread さんが11日前に更新

  • 関連している 機能 #338: lab VLAN 用の DHCP サーバを検討 を追加

nop_thread さんが8日前に更新 · 編集済み

現状。

  • IPAM: NetBox
    • セットアップが面倒そうだったので Docker の NetBox イメージを使っている。
  • DHCP: なし
    • とりあえず lab VLAN は全部固定でやっていく方針で。
  • DNS: CoreDNS
    • NetBox で IP アドレスごとに DNS Name 情報を指定できるので、これを API 経由で吐き出したものを /etc/hosts 形式に編集して CoreDNS に使わせている。
    • API での取得から /etc/hosts 形式ファイルの出力まではスクリプトでワンストップでできる。
    • NetBox での更新にフックして CoreDNS に自動デプロイするようなセットアップはしていない。多少手間だが可能ではあるので今後の課題。

nop_thread さんが8日前に更新

  • ステータス新規 から 終了 に変更
  • 優先度高め から 通常 に変更
  • 進捗率0 から 100 に変更
  • pinnedはい から いいえ に変更

DHCP は #338 で別途検討、 IPAM (DCIM) と DNS については NetBox と CoreDNS でひとまず運用できそうということで解決。

他の形式にエクスポート: Atom PDF