2018年12月9日日曜日

VyOSでDHCPサーバーを構築する

VyOSは仮想ネットワークアプライアンスであり、単純なルーターとしての機能以外にも様々な機能を持っている。DHCPサーバーもそのうちの1つである。

今回、VyOSでDHCPサーバーを構築して動作を確認してみた。結論から言うと、非常に簡単に実装できる。

設定手順

設定投入前にDHCPサーバーの状態を確認しておく。未設定の場合はnot configuredと表示される。

$ show dhcp server statistics
------------------------------
DHCP server not configured
------------------------------

VyOSの設定モードに遷移し、以下コマンドを投入していく。

# ↓「dhcp_scope_01」という名前でDHCPサーバーのプールを作成
# set service dhcp-server shared-network-name dhcp_scope_01
# ↓dhcp_scope_01でリースされた際に設定するデフォルトゲートウェイ
# set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 default-router 192.168.11.31
# ↓dhcp_scope_01でリースされた際に設定するDNSサーバー
# set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 dns-server 192.168.11.62
# ↓dhcp_scope_01でリースされた際に設定するIPアドレス
# ↓今回であれば、192.168.11.221-230の範囲の10個のIPアドレスがリースされる
# set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 start 192.168.11.221 stop 192.168.11.230

反映前にcompareで設定内容を確認する。今回リース期間を明示的にしていないが、デフォルトで86400秒 (24時間) が設定されている。

# compare
------------------------------
[edit service]
+dhcp-server {
+    disabled false
+    shared-network-name dhcp_scope_01 {
+        authoritative disable
+        subnet 192.168.11.0/24 {
+            default-router 192.168.11.31
+            dns-server 192.168.11.62
+            lease 86400   ←★リース期間はデフォルトで24時間
+            start 192.168.11.221 {
+                stop 192.168.11.230
+            }
+        }
+    }
+}
------------------------------

問題なければ、commitして反映させ、saveで設定保存する。

# commit
# save
------------------------------
Saving configuration to '/config/config.boot'...
Done
------------------------------

設定後のDHCPサーバーの状態を確認すると、先ほど設定したdhcp_scope_01の状態が表示されるようになる。「Pool size」が割り当て可能なIPアドレスの最大値となる。

$ show dhcp server statistics
------------------------------
Pool                      Pool size   # Leased    # Avail
----                      ---------   --------    -------
dhcp_scope_01             10          0           10
------------------------------

実際にDHCPにてIPアドレスがリースされると、「Leased」増えることがわかる。

$ show dhcp server statistics
------------------------------
Pool                      Pool size   # Leased    # Avail
----                      ---------   --------    -------
dhcp_scope_01             10          1           9
------------------------------

リース状況の確認は以下コマンドで行う。割り当てられたMACアドレスや、リース執行の期限が表示される。

$ show dhcp server leases
------------------------------
IP address      Hardware address   Lease expiration     Pool           Client Name
----------      ----------------   ----------------     ----           -----------
192.168.11.221  00:0c:29:00:f4:a7  2018/07/24 06:28:35  dhcp_scope_01  t1000cent
------------------------------

0 件のコメント:

コメントを投稿

人気の投稿