Arista EOSでZTP(ゼロタッチプロビジョニング:Zero Touch Provisioning)による設定投入方法を説明します。Zero Touch Provisioningは自動化におけるBootstrap手法の1つで、起動時に初期設定を流し込む事ができます。
- Arista vEOSの基本的な使い方
- Arista cEOSの基本的な使い方
- Arista cEOS docker-composeを使った操作例
- Arista cEOS docker-topoを使った操作例
- Arista EOSの基本操作 SSHログインが出来るようになるまで
- Arista EOS vxlanの設定紹介
- Arista EOS Layer2 EVPNの設定紹介
- Arista EOS Layer3 EVPNの設定紹介
- Arista EOS Layer3 EVPNとダイナミックルーティングの併用
- Arista EOS MLAGの設定方法
- Arista EOS 実践的なvxlan設定
- Arista EOS 実践的なLayer2 EVPN設定
- Arista EOS アップリンク二重障害の対応
- Arista EOS 実践的なLayer3 EVPN設定
- Arista EOS 実践的なEVPNとダイナミックルーティング併用例
- Arista EOS ゼロタッチプロビジョニングの設定 (いまここ)
初期設定の流し込み
HTTPサーバの準備
流し込む初期設定をHTTPサーバにて公開します。CentOS 8.Xの場合ならば、以下のような操作でHTTPサーバを起動します。
dnf install httpd systemctl enable httpd.service --now
初期設定となる設定ファイルを作成します。
cat << EOF > /var/www/html/startup-config hostname arista02 username admin secret admin vrf instance CONSOLE interface Management1 vrf CONSOLE ip address 192.168.1.42/24 ip routing vrf CONSOLE ip route vrf CONSOLE 0.0.0.0/0 192.168.1.1 EOF
DHCPサーバの準備
DHCPサーバをインストールします。CentOS 8.Xの場合ならば、以下のような操作になります。
dnf install dhcp-server
DHCP optionのbootfile-nameの値で、初期設定となるファイルのURLを指定します。
cat << EOF > /etc/dhcp/dhcpd.conf subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.225 192.168.1.229; option routers 192.168.1.1; option bootfile-name "http://192.168.1.13/startup-config"; } EOF
DHCPサーバを起動します。
systemctl enable dhcpd.service --now
ゼロタッチプロビジョニングの動作確認
ゼロタッチプロビジョニングの動作確認を行います。ゼロタッチプロビジョニングをするには、初期設定状態のEOSを起動するか、flash:zerotouch-configの削除後に再起動するかのいずれかの操作が必要です。
arista01#dir Directory of flash:/ -rw- 462 Oct 20 14:06 AsuFastPktTransmit.log drwx 4096 Oct 20 14:04 Fossil -rw- 284 Oct 20 14:06 SsuRestore.log -rw- 284 Oct 20 14:06 SsuRestoreLegacy.log -rw- 24 Jun 8 20:14 boot-config drwx 4096 Oct 20 14:07 debug drwx 4096 Oct 20 14:04 fastpkttx.backup drwx 16384 Jun 8 20:14 lost+found drwx 4096 Oct 20 14:42 persist drwx 4096 Oct 20 14:12 schedule -rw- 200 Oct 20 14:05 startup-config -rw- 434665330 Jun 8 20:14 vEOS-lab.swi -rw- 0 Oct 20 14:06 zerotouch-config 4093313024 bytes total (3190247424 bytes free) arista01#delete flash:zerotouch-config arista01#
ゼロタッチプロビジョニングが有効である状態で起動すると、DHCPによるIPアドレス取得を試みます。さらにDHCP optionのbootfile-nameで指定したファイルを取得できると、ZTP-6-DHCPv4_SUCCESSとのログが現れ、再起動の処理がかかります。
再起動後、想定通りの設定がされている事を確認します。
バージョン変更と初期設定の流し込み
ソフトウェアイメージの配備
Arista ソフトウェアイメージ(swi)のファイルをHTTPサーバ経由でダウンロード可能になるように配置します。
[root@sandbo013 ~]# ls -l /var/www/html/ 合計 430900 -rw-r--r-- 1 root root 200 10月 20 23:37 startup-config -rw-r--r-- 1 root root 441231146 10月 21 00:02 vEOS64-lab-4.24.2.3F.swi -rw-r--r-- 1 root root 207 10月 21 00:06 ztp.script [root@sandbo013 ~]#
初期設定スクリプトの配備
バージョン変更およびstartup-configを配置する操作を行うスクリプトを作成します。
cat << EOF > /var/www/html/ztp.script #!/usr/bin/Cli copy http://192.168.1.13/vEOS64-lab-4.24.2.3F.swi flash:vEOS64-lab-4.24.2.3F.swi copy http://192.168.1.13/startup-config flash:startup-config config boot system flash:vEOS64-lab-4.24.2.3F.swi EOF
DHCPサーバの設定
前述のスクリプトをDHCP optionのbootfile-nameの値に指定します。
cat << EOF > /etc/dhcp/dhcpd.conf subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.225 192.168.1.229; option routers 192.168.1.1; option bootfile-name "http://192.168.1.13/ztp.script"; } EOF
ゼロタッチプロビジョニングの動作確認
ZTP-6-DHCPv4_SUCCESSとのログが現れ、再起動の処理がかかります。
起動時に確かにバージョンが変わった事を確認できます。
起動後、想定通りのバージョンであり、想定通りのconfigが流し込まれた事を確認します。