はじめに
話題のChatGPTですが、エンジニア目線での活用を研究しています。
今回はネットワーク機器のConfigを読み込ませてどうなるか実験してみました。
実験
何かいいConfigのサンプルが無いか探していましたが、Ciscoの以下のページのサンプルがちょうど良さそうなので試してみました。
参照した情報
2 台のルータ間での LAN-to-LAN IPSec トンネルの設定例
Configのサンプルは以下です。
RouterA#show running-config
Building configuration...
Current configuration : 1132 bytes
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R9
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
!
resource policy
!
!
!--- Create an ISAKMP policy for Phase 1
!--- negotiations for the L2L tunnels.
crypto isakmp policy 10
hash md5
authentication pre-share
!--- Specify the pre-shared key and the remote peer address
!--- to match for the L2L tunnel.
crypto isakmp key vpnuser address 10.0.0.2
!
!--- Create the Phase 2 policy for actual data encryption.
crypto ipsec transform-set myset esp-des esp-md5-hmac
!
!--- Create the actual crypto map. Specify
!--- the peer IP address, transform
!--- set, and an access control list (ACL) for the split tunneling.
crypto map mymap 10 ipsec-isakmp
set peer 10.0.0.2
set transform-set myset
match address 100
!
!
!
!
interface Ethernet0/0
ip address 10.1.1.2 255.255.255.0
half-duplex
!
!--- Apply the crypto map on the outside interface.
interface Serial2/0
ip address 172.16.1.1 255.255.255.0
crypto map mymap
!
ip http server
no ip http secure-server
!
ip route 0.0.0.0 0.0.0.0 172.16.1.2
!
!--- Create an ACL for the traffic to
!--- be encrypted. In this example,
!--- the traffic from 10.1.1.0/24 to 172.16.2.0/24
!--- is encrypted. The traffic which does not match the access list
!--- is unencrypted for the Internet.
access-list 100 permit ip 10.1.1.0 0.0.0.255 172.16.2.0 0.0.0.255
!
!
control-plane
!
line con 0
line aux 0
line vty 0 4
!
!
end
ChatGPTによるネットワーク機器Configの理解
さあ、ChatGPTはCiscoのConfigを理解できるのでしょうか?
実験してみましょう。
ChatGPTヘの依頼
あなたはCiscoのネットワークスペシャリストです。 次のConfigについて初心者にわかりやすく解説してください。
RouterA#show running-config
Building configuration...
Current configuration : 1132 bytes
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
~ 省略 ~
ChatGPTの回答
このコンフィグは、2つのネットワーク間のVPNトンネルを確立するためのCiscoルーターのコンフィグレーションです。以下は、コンフィグの各部分についての説明です。
はい。さっそく冒頭で
「このコンフィグは、2つのネットワーク間のVPNトンネルを確立するためのCiscoルーターのコンフィグレーションです」
と教えてくれました。
さすがChatGPTですね。CiscoのConfigも問題なく読めるようです。
そのあとも続けて各設定項目について、解説してくれています。
ネットワークのスペシャリストではないので詳細はわかりませんが、それほど間違ってなさそうに見えます。
せっかくなのでChatGPTにConfigのネットワークイメージ聞いてみた
Configを理解できるのであれば、きっとネットワークも理解できますよね?
少し無茶振りですが、何でも受け止めてくれるChatGPTに聞いてみましょう。
依頼文
このConfigのイメージ図をMermaid記法で出力してもらえますか?
ChatGPTの回答
はい、以下がMermaid記法で表現されたイメージ図になります。
mermaid
Copy code
graph LR
A(R9) --- B["Ethernet0/0 <br> 10.1.1.2/24"]
A --- C["Serial2/0 <br> 172.16.1.1/24"]
C --- D["172.16.1.2/24 Gateway"]
B --> E["Crypto Map mymap"]
E --> F["ACL 100 <br> 10.1.1.0/24 to 172.16.2.0/24"]
G["10.0.0.2/32"] --> E
H["crypto isakmp policy 10"] --> E
I["crypto ipsec transform-set myset"] --> E
この図は、ルーター R9 の Ethernet0/0 インターフェイスに IP アドレス 10.1.1.2/24 が設定されていることを示しています。同様に、Serial2/0 インターフェイスには IP アドレス 172.16.1.1/24 が設定されており、172.16.1.2/24 のゲートウェイに接続されています。Crypto Map mymap が Serial2/0 インターフェイスに適用され、ACL 100 によって 10.1.1.0/24 ネットワークから 172.16.2.0/24 ネットワークへのトラフィックが暗号化されます。ISAKMP ポリシー 10 が VPN ユーザーのリモートピア(10.0.0.2/32)と事前共有鍵を設定し、IPsec 変換セット myset が暗号化アルゴリズムを指定します。
Mermaid記法で教えてくれました。
さっそくイメージ化してみましょう。
・・・なにか残念なイメージが出てきました。
さすがにConfigからネットワークイメージを生成するのは、ChatGPTといえども難しいのかもしれません。
ダメもとでもう一回お願いしてみましょう。
依頼文
何か違うようです。もう少しちゃんとしたネットワークイメージを書いてもらえますか?
ChatGPTの回答
申し訳ありません。以下は、より詳細なネットワーク図になります。
lua
Copy code
+--------------+
| |
| 10.1.1.2/24 | Ethernet0/0
| R9 |---------------------+
| | |
+--------------+ |
|
| Serial2/0
+--------------+ |
| | |
| 172.16.1.1/24 | |
| R9 |---------------------+
| |
+--------------+ +-------------+
| |
| 172.16.1.2/24|
| Gateway |
| |
+-------------+
この図では、ルーター R9 が 2 つのインターフェイスを持っています。Ethernet0/0 インターフェイスは、10.1.1.2/24 の IP アドレスを持ち、Serial2/0 インターフェイスは 172.16.1.1/24 の IP アドレスを持っています。R9 の Serial2/0 インターフェイスは、172.16.1.2/24 のゲートウェイに接
なぜか、Mermaid記法はあきらめてテキストでイメージを描いてくれました。
がんばって書いてくれてますが、いまひとつですね。
まとめ
Configの解説はChatGPTでも十分使えそうです。
各設定内容もひとつずつ調べる必要がないので、最初にConfigを説明してもらえばとても役に立ちそうです。
イメージ生成は残念な結果に終わりましたが、このあたりはGPT-4に期待しましょう。
コメント