Skip to content

TACACS+ サーバの Docker コンテナを使って IOSv へ SSH ログインする

TACACS+ の検証をする際、Cisco ISE などを用意するのはやや手間がかかります。 そこで、簡易に TACACS+ 接続の検証が出来るように TACACS+ サーバが動作する Docker コンテナを作成しました。 利用方法をメモしておきます。

Docker のインストール

今回は Rocky Linux8 上で TACACS+ な Docker コンテナを動作させます。 予め下記などを参照して Rocky Linux8 へ Docker をインストールしておきます。

TACACS+ コンテナを起動する

Rocky Linux8 上で TACACS+ コンテナを起動します。

1
docker run --detach --tty --publish 49:49 --name tacacs-plus sig9/tacacs-plus

コンテナのサイズは 137MB でした。

1
2
3
# docker images
REPOSITORY         TAG       IMAGE ID       CREATED          SIZE
sig9/tacacs-plus   latest    97b262ec6105   10 minutes ago   137MB

IOSv のベースコンフィグ

CML2 上で IOSv を起動し、External Connector 経由で外部ネットワークへ接続出来るようにした上で、まず下記の基本設定を行いました。 インターフェイスのアドレスは DHCP としていますが、勿論固定アドレスでも問題ありません。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
hostname IOSv
!
service timestamps debug datetime msec localtime
service timestamps log datetime msec localtime
!
logging buffered 65536 debugging
!
clock timezone JST +9
!
no ip domain-lookup
ip domain name example.local
!
interface GigabitEthernet0/0
 ip address dhcp
 no shutdown
!
ip ssh version 2
!
no banner exec ^C
no banner incoming ^C
no banner login ^C
!
line con 0
 exec-timeout 300 0
!
line vty 0 4
 exec-timeout 300 0
 transport input telnet ssh
!
scheduler allocate
!
crypto key generate rsa modulus 2048
!
end

TACACS+ 認証用コンフィグ

コンテナに含めてある TACACS+ の設定ファイルでは、認証用のフレーズ (key) は secret に設定してあります。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
aaa new-model
aaa authentication login MY-TACACS group tacacs+ local
aaa authentication enable default group tacacs+ enable
!
tacacs server MY-TACACS
 address ipv4 10.0.0.1
 key secret
!
line vty 0 4
 login authentication MY-TACACS
!
username admin privilege 15 secret password
!
end

IOSv へ TACACS+ 認証で SSH ログインする

IOSv へ SSH し、enable コマンドを実行してみます。 コンテナに含めてある TACACS+ の設定ファイルではユーザ名は tacadmin、パスワードは password でログイン出来ます。 enable 時のパスワードも password です。

1
2
3
4
5
6
$ ssh tacadmin@10.0.0.100
Password: password

IOSv> enable
Password: password
IOSv#

ルータ側でのデバッグ

TACACS+ 認証が上手くいかない場合はルータ側でデバッグしてみます。

1
debug tacacs authentication