概要
コンテナは、コンピューティング環境でアプリケーションが正常に実行されるようにするためのコードと関連する要件(システムライブラリ、システムツール、デフォルト設定、ランタイムなど)をバンドルしたソフトウェアパッケージです。Cisco Secure Firewall ASA バージョン 9.22 以降では、オープンソースの Docker 環境で ASA コンテナ(ASAc)を展開できます。
この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
任意のクラウドプラットフォームで実行されるオープンソースの Docker 環境で ASA コンテナ(ASAc)を展開できます。
コンテナは、コンピューティング環境でアプリケーションが正常に実行されるようにするためのコードと関連する要件(システムライブラリ、システムツール、デフォルト設定、ランタイムなど)をバンドルしたソフトウェアパッケージです。Cisco Secure Firewall ASA バージョン 9.22 以降では、オープンソースの Docker 環境で ASA コンテナ(ASAc)を展開できます。
ASA コンテナソリューションは、オープンソースの Kubernetes および Docker 環境でのみ検証されます。
EKS、GKE、AKS、OpenShift などの他の Kubernetes フレームワークは、まだ検証されていません。
アップグレードは、新しいコンテナイメージを使用してローリングアップグレードとして実行されます。
ASA コンテナの再起動はサポートされていません。
次の機能は検証されていません。
クラスタ
トランスペアレント モード
サブインターフェイス
次のいずれかのライセンスを使用すると、Docker で ASA コンテナを展開できます。
ASAc5:1 vCPU、2 GB RAM、および 100 Mbps のレート制限
ASAc10:1 vCPU、2 GB RAM、および 1 Gbps のレート制限
オペレーティング システム
Docker ホスト上の Ubuntu 20.04.6 LTS
設定検証用の Macvlan ネットワーク
このサンプルトポロジでは、ASA Docker コンテナに 3 つの仮想ネットワーク インターフェイス(eth0、eth1、eth2)があり、インターフェイス ens192、ens224、および ens256 に接続されています。これらのインターフェイスは、ASAc mgmt、data1、および data2 ネットワークにマッピングされます。インターフェイス ens160 は、ノード管理インターフェイスです。
Ubuntu 20.04.6 LTS が Docker ホストにインストールされていることを確認します。
ASA コンテナの操作のために、Docker ホストに 3 つの仮想インターフェイスを割り当てます。
Docker ホストへの SSH アクセスに使用する Docker ホストの管理インターフェイスをセットアップします。
Docker ホストで Hugepages を有効にします。
設定検証用の macvlan ネットワークを使用して Docker バージョン 24.0.5 をセットアップします。
これらの前提条件に記載されている一般的な Docker 操作の詳細については、Docker のドキュメントを参照してください。
Docker 環境で ASA コンテナ(ASAc)を展開するには、次の手順を実行します。
|
ステップ 1 |
前提条件に記載されている要件をセットアップします。 |
||
|
ステップ 2 |
route -n コマンドを実行し、ネットワーク インターフェイス構成を確認します。この例では、ens160 はノードの管理インターフェイスです。ノード ens192、ens224、および ens256 は、ASAc インターフェイスにマッピングされます。
![]() |
||
|
ステップ 3 |
次に示す cat コマンドを実行し、hugepage 設定を確認します。 ![]() |
||
|
ステップ 4 |
ASA コンテナイメージを含む ASA Docker tar バンドルを、software.cisco.com からダウンロードします。 |
||
|
ステップ 5 |
ホストで Docker tar バンドルをロードします。
|
||
|
ステップ 6 |
ASAc GitHub リポジトリの docker フォルダからテンプレートなどをダウンロードします。 |
||
|
ステップ 7 |
docker network create コマンドを実行して、Docker ネットワークを作成します。ASAc には、内部と外部のネットワーク用に 1 つの管理インターフェイスと 2 つのデータインターフェイスが必要です。Docker を起動すると、Docker ネットワークがアルファベット順に Docker に接続されます。管理インターフェイスには、Docker に接続される最初のインターフェイスになるように名前を付けることをお勧めします。
|
||
|
ステップ 8 |
docker network ls コマンドを実行して、ネットワークが正常に作成されたことを確認します。
|
||
|
ステップ 9 |
day0-config ファイルに存在するデフォルトのパラメータ値を確認します。必要に応じて、これらの値を更新することもできます。 |
||
|
ステップ 10 |
必要に応じて、start_docker_asac.sh スクリプトを開き、CPU、メモリ、コンテナ名、およびイメージリポ名の設定値を更新します。
|
||
|
ステップ 11 |
次のコマンドを実行して、Docker 環境で ASAc を起動します。
|
Docker ホストで実行されているコンテナのリストを確認することで、ASA コンテナが正常に展開されているかどうかを検証します。
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6e5bff4dbcaf dockerhub.cisco.com/asac-dev-docker/asac:9.22.x.x "/asa/bin/lina_launc…" 3 minutes ago Up 3 minutes asac
何らかの問題が発生した場合は、トラブルシュートのために docker logs asac コマンドを実行して Docker ログを確認してください。
$ docker logs asac
Skip NVMe Device for ASAc mode
cdrom device /dev/sr0 found
mount: /mnt/cdrom: WARNING: source write-protected, mounted read-only.
Error: Encrypted file system support not in Linux kernel.
nr_overcommit_hugepages set to 128 for virtual platform
info: ASAc SSHd Directory Created
No interface-config file found at /interface-config, using default shared
file: /mnt/disk0/interface-config/interface-config
No day0-config file found at /day0-config, using default shared file:
/asac-day0-config/day0-config
info: ASAc Day 0 configuration installed.
info: ASAc Primay/backup Key installed
info: Running in vmware virtual environment.
....
INFO: Network Service reload not performed.
INFO: Power-On Self-Test in process.
.....................................
INFO: Power-On Self-Test complete.
INFO: Starting SW-DRBG health test...
INFO: SW-DRBG health test passed.
Creating trustpoint "_SmartCallHome_ServerCA" and installing certificate...
Trustpoint CA certificate accepted.
Creating trustpoint "_SmartCallHome_ServerCA2" and installing
certificate...
Trustpoint CA certificate accepted.
User enable_1 logged in to ciscoasa
Logins over the last 1 days: 1.
Failed logins since the last login: 0.
Type help or '?' for a list of available commands.
ciscoasa>
docker attach asac コマンドを実行して ASA コンテナ(ASAc)の CLI にアクセスし、必要な出力を取得します。この例では、ASAc の CLI にアクセスして show version コマンドを実行しています。
![]() (注) |
ASDM を使用して Docker 環境で ASAc にアクセスすることもできます。 |
ciscoasa> enable
Password: *********
ciscoasa# sh version
Cisco Adaptive Security Appliance Software Version 9.22
SSP Operating System Version 82.16(0.216i)
Device Manager Version 7.22
Compiled on Tue 28-Nov-23 14:37 GMT by builders
System image file is "Unknown, monitor mode tftp booted image"
Config file at boot was "startup-config"
ciscoasa up 9 mins 50 secs
Start-up time 36 secs
Hardware: ASAc, 2048 MB RAM, CPU Xeon E5 series 2100 MHz, 1 CPU (1
core)
BIOS Flash Firmware Hub @ 0x1, 0KB
0: Ext: Management0/0 : address is 0242.ac12.0002, irq 0
1: Ext: GigabitEthernet0/0 : address is 0242.ac13.0002, irq 0
2: Ext: GigabitEthernet0/1 : address is 0242.ac14.0002, irq 0
3: Int: Internal-Data0/0 : address is 0000.0100.0001, irq 0