【Cisco】ACL コンフィグ作成を VBA マクロで自動化する

ルータ

はじめに

Cisco 機器で ACL を使用する場合、ネットワーク構築対応時にその設定をするためにコンフィグテキストを作成する必要があります。

通常は Excel のパラメータシートに基づいてコンフィグテキストを作成すると思いますが、これは地味に面倒で、人の手作業になるためエラーが混入することも良くあると思います。

ここで、直接テキストでコンフィグを作るよりは Excel シート上の表に入力する方が、パラメータシートからのコピペもしやすく、ミスなくできるだろうと考えました。

さらに、その表から自動でコンフィグを作ることができれば便利だと考えマクロを作成しました。

【公開中】ACL コンフィグ作成マクロ

マクロは Box で公開しています。以下リンクからダウンロード可能です。

https://app.box.com/s/r5xyi31hclevy56cbpeppejk4qgh2zhd

動作確認環境

  • Windows 10
  • Excel 2013、Microsoft 365 バージョン 2107

更新履歴

機能説明

標準 ACL コンフィグ作成

番号付き標準 ACL

以下の Excel シートに ACL 情報を入力して上部のコンフィグ出力ボタンをクリックします。

すると以下のようなコンフィグテキストが当マクロファイル格納フォルダ内に出力されます。

access-list 1 remark ### remark-test ###
access-list 1 permit 10.1.2.0 0.0.0.15
access-list 1 permit 10.100.3.0 0.0.0.31 log
access-list 2 permit 10.1.1.0 0.0.0.255
access-list 2 permit any
access-list 3 remark ### remark-test03 ###
access-list 3 permit 10.33.1.0 0.0.0.255
access-list 3 permit 10.1.99.0 0.0.0.255
access-list 3 deny host 10.11.11.11
access-list 4 permit 192.168.15.0 0.0.0.255
access-list 4 permit 192.168.10.0 0.0.0.255
access-list 5 permit 10.43.0.0 0.0.0.255
access-list 5 permit 10.5.22.64 0.0.0.15
access-list 5 permit 10.113.8.128 0.0.0.31

名前付き標準 ACL

以下の Excel シートに ACL 情報を入力して上部のコンフィグ出力ボタンをクリックします。

すると以下のようなコンフィグテキストが当マクロファイル格納フォルダ内に出力されます。

ip access-list standard SampleACL01
 remark ### remark-test ###
 permit 10.1.2.0 0.0.0.15
 permit 10.100.3.0 0.0.0.31 log
ip access-list standard SampleACL02
 permit 10.1.1.0 0.0.0.255
 permit any
ip access-list standard SampleACL03
 remark ### remark-test03 ###
 permit 10.33.1.0 0.0.0.255
 permit 10.1.99.0 0.0.0.255
 deny host 10.11.11.11
ip access-list standard SampleACL04
 permit 192.168.15.0 0.0.0.255
 permit 192.168.10.0 0.0.0.255
ip access-list standard SampleACL05
 permit 10.43.0.0 0.0.0.255
 permit 10.5.22.64 0.0.0.15
 permit 10.113.8.128 0.0.0.31

拡張 ACL コンフィグ作成

番号付き拡張 ACL

以下の Excel シートに ACL 情報を入力して上部のコンフィグ出力ボタンをクリックします。

すると以下のようなコンフィグテキストが当マクロファイル格納フォルダ内に出力されます。

access-list 100 remark ### remark-test ###
access-list 100 permit tcp 10.1.2.0 0.0.0.15 eq 23 10.30.20.64 0.0.0.15 established
access-list 100 permit ip 10.100.3.0 0.0.0.31 any log log-input
access-list 101 permit icmp any any echo
access-list 101 permit ip 172.16.100.0 0.0.0.255 any
access-list 102 permit icmp any any
access-list 102 permit ip 10.33.1.0 0.0.0.255 10.20.30.0 255.255.255.0
access-list 102 permit ip 10.1.99.0 0.0.0.255 any
access-list 102 deny ip any any
access-list 103 permit icmp any any
access-list 103 permit ip 192.168.10.0 0.0.0.255 any
access-list 104 permit icmp any any
access-list 104 permit ip 10.5.22.64 0.0.0.15 host 10.20.30.40
access-list 104 permit ip 10.113.8.128 0.0.0.31 any

名前付き拡張 ACL

以下の Excel シートに ACL 情報を入力して上部のコンフィグ出力ボタンをクリックします。

すると以下のようなコンフィグテキストが当マクロファイル格納フォルダ内に出力されます。

ip access-list extended SampleACL01
 remark ### remark-test ###
 permit tcp 10.1.2.0 0.0.0.15 eq 23 10.30.20.64 0.0.0.15 established
 permit ip 10.100.3.0 0.0.0.31 any log log-input
ip access-list extended SampleACL02
 permit icmp any any echo
 permit ip 172.16.100.0 0.0.0.255 any
ip access-list extended SampleACL03
 permit icmp any any
 permit ip 10.33.1.0 0.0.0.255 10.20.30.0 255.255.255.0
 permit ip 10.1.99.0 0.0.0.255 any
 deny ip any any
ip access-list extended SampleACL04
 permit icmp any any
 permit ip 192.168.10.0 0.0.0.255 any
ip access-list extended SampleACL05
 permit icmp any any
 permit ip 10.5.22.64 0.0.0.15 host 10.20.30.40
 permit ip 10.113.8.128 0.0.0.31 any

考慮点

  • シート上の表の行は追加することができます
  • 詳細な使い方はマクロファイルのシート上に記載しています
  • 出力されるコンフィグの構文チェックまでは実施していません
  • バグ報告や改善依頼は問い合わせページからお願いします


タイトルとURLをコピーしました