2021年11月23日火曜日

VyOSで冗長化したDHCPサーバを構築する

VyOSはDHCPサーバ機能を備えており、さらに2台のVyOSでDHCPサーバの機能を冗長化することができる。今回は、VyOSを使った冗長化されたDHCPサーバの構築手順を以下に記載する。

環境

VyOSのバージョンによって設定コマンドが若干異なるため、以下2つのバージョンを使用して手順確認を行った。

VyOS 1.4.x

  • VyOS#1 (Primary) : 1.4-rolling-202111220318
  • VyOS#2 (Secondary) : 1.4-rolling-202111220318

VyOS 1.3.x

  • VyOS#1 (Primary) : 1.3-rolling-202012311144
  • VyOS#2 (Secondary) : 1.3-rolling-202012311144

192.168.11.0/24のネットワークに対し、192.168.11.201-240のレンジからIPアドレスのリースを行うよう設定する。また、static-mappingの設定にて、特定のMACアドレスを持つクライアントのIPアドレスを固定する。

DHCPサーバ構築手順 (1.4.x)

1. VyOS#1側設定 (Primary)

設定に必要なコマンドを以下にコメントを付けて記載する。

# VyOS#2をremote、VyOS#1をsource-addressとしてIPアドレスを設定
set service dhcp-server failover name dhcp1
set service dhcp-server failover remote 192.168.11.32
set service dhcp-server failover source-address 192.168.11.33

# VyOS#1をPrimaryに設定
set service dhcp-server failover status primary

# DHCPで配布するデフォルトゲートウェイとDNS
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 default-router '192.168.11.31'
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 name-server '192.168.11.61'
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 name-server '192.168.11.62'

# DHCPリース時間を86400秒 (24時間) に設定
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 lease '86400'

# DHCPリースを行うIPアドレスの開始・終了を指定
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 range 0 start '192.168.11.201'
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 range 0 stop '192.168.11.240'

# 対象のサブネットをフェイルオーバー対象に設定
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 enable-failover

# IPアドレス固定設定
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 static-mapping <任意の文字列> ip-address '192.168.11.15'
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 static-mapping <任意の文字列> mac-address 'aa:bb:cc:11:22:33'

設定投入後、commitsaveをしておく。

# commit
# save

2. VyOS#2側設定 (Secondary)

設定に必要なコマンドを以下にコメントを付けて記載する。設定内容はIPアドレスやPrimary/Secondaryの設定を除けば、VyOS#1側と同様となる。

# VyOS#1をremote、VyOS#2をsource-addressとしてIPアドレスを設定
set service dhcp-server failover name dhcp1
set service dhcp-server failover remote 192.168.11.33
set service dhcp-server failover source-address 192.168.11.32

# VyOS#2をSecondaryに設定
set service dhcp-server failover status secondary

# DHCPで配布するデフォルトゲートウェイとDNS
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 default-router '192.168.11.31'
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 name-server 192.168.11.61
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 name-server 192.168.11.62

# DHCPリース時間を86400秒 (24時間) に設定
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 lease '86400'

# DHCPリースを行うIPアドレスの開始・終了を指定
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 range 0 start '192.168.11.201'
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 range 0 stop '192.168.11.240'

# 対象のサブネットをフェイルオーバー対象に設定
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 enable-failover

# IPアドレス固定設定
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 static-mapping <任意の文字列> ip-address '192.168.11.15'
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 static-mapping <任意の文字列> mac-address 'aa:bb:cc:11:22:33'

設定投入後、commitsaveをしておく。

# commit
# save

DHCPサーバ構築手順 (1.3.x)

1. VyOS#1側設定 (Primary)

設定に必要なコマンドを以下にコメントを付けて記載する。

# DHCPで配布するデフォルトゲートウェイとDNS
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 default-router '192.168.11.31'
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 dns-server '192.168.11.61'
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 dns-server '192.168.11.62'

# VyOS#1をlocal、VyOS#2をpeerとしてIPアドレスを設定
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 failover local-address '192.168.11.33'
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 failover peer-address '192.168.11.32'

# フェイルオーバーグループ名とステータスをPrimaryに設定
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 failover name 'dhcp1'
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 failover status 'primary'

# DHCPリース時間を86400秒 (24時間) に設定
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 lease '86400'

# DHCPリースを行うIPアドレスの開始・終了を指定
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 range 0 start '192.168.11.201'
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 range 0 stop '192.168.11.240'

# IPアドレス固定設定
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 static-mapping <任意の文字列> ip-address '192.168.11.15'
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 static-mapping <任意の文字列> mac-address 'aa:bb:cc:11:22:33'

設定投入後、commitsaveをしておく。

# commit
# save

2. VyOS#2側設定 (Secondary)

設定に必要なコマンドを以下にコメントを付けて記載する。設定内容はIPアドレスやPrimary/Secondaryの設定を除けば、VyOS#1側と同様となる。

# DHCPで配布するデフォルトゲートウェイとDNS
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 default-router '192.168.11.31'
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 dns-server '192.168.11.61'
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 dns-server '192.168.11.62'

# VyOS#1をlocal、VyOS#2をpeerとしてIPアドレスを設定
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 failover local-address '192.168.11.32'
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 failover peer-address '192.168.11.33'

# フェイルオーバーグループ名とステータスをSecondaryに設定
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 failover name 'dhcp1'
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 failover status 'secondary'

# DHCPリース時間を86400秒 (24時間) に設定
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 lease '86400'

# DHCPリースを行うIPアドレスの開始・終了を指定
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 range 0 start '192.168.11.201'
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 range 0 stop '192.168.11.240'

# IPアドレス固定設定
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 static-mapping <任意の文字列> ip-address '192.168.11.15'
set service dhcp-server shared-network-name dhcp_scope_01 subnet 192.168.11.0/24 static-mapping <任意の文字列> mac-address 'aa:bb:cc:11:22:33'

設定投入後、commitsaveをしておく。

# commit
# save

DHCPの動作確認

実際にWindows等を同じネットワークに接続させて、DHCPにてIPアドレスを取得できることを確認してみる。

VyOSのDHCPサーバにてリースしたIPアドレスの一覧は、show dhcp server leasesで確認できる。冗長化しているため、VyOS#1、#2の両方で同一結果が出力されるはずだ。

VyOS#1側

$ show dhcp server leases
IP address      Hardware address    State    Lease start          Lease expiration     Remaining    Pool           Hostname
--------------  ------------------  -------  -------------------  -------------------  -----------  -------------  ----------------
192.168.11.223  00:0c:29:31:7a:11   active   2021/01/03 07:26:51  2021/01/03 07:56:51  0:29:37      dhcp-scope-01
192.168.11.224  00:0c:29:31:7a:1b   active   2021/01/03 07:26:51  2021/01/03 07:56:51  0:29:37      dhcp-scope-01
192.168.33.202  3c:6a:a7:92:95:3c   active   2021/01/01 22:53:23  2021/01/02 22:22:06               dhcp-scope-02  DESKTOP-9I8V9NC
192.168.33.204  fc:f5:c4:95:22:ee   active   2021/01/02 20:51:48  2021/01/03 20:51:48  13:24:34     dhcp-scope-02

VyOS#2側

$ show dhcp server leases
IP address      Hardware address    State    Lease start          Lease expiration     Remaining    Pool           Hostname
--------------  ------------------  -------  -------------------  -------------------  -----------  -------------  ----------------
192.168.11.223  00:0c:29:31:7a:11   active   2021/01/03 07:26:51  2021/01/03 07:56:51  0:29:53      dhcp_scope_01
192.168.11.224  00:0c:29:31:7a:1b   active   2021/01/03 07:26:51  2021/01/03 07:56:51  0:29:53      dhcp_scope_01
192.168.33.202  3c:6a:a7:92:95:3c   active   2021/01/01 22:53:23  2021/01/02 22:22:06               dhcp-scope-02  DESKTOP-9I8V9NC
192.168.33.204  fc:f5:c4:95:22:ee   active   2021/01/02 20:51:48  2021/01/03 20:51:48  13:24:50     dhcp_scope_02

参考

更新履歴

  • 2021/11/23 VyOS 1.4.xの設定手順を追加

0 件のコメント:

コメントを投稿

人気の投稿