エンジニアが使ってみたChatGPT【ネットワークのConfig編】

AI、機械学習

はじめに

話題のChatGPTですが、エンジニア目線での活用を研究しています。

今回はネットワーク機器のConfigを読み込ませてどうなるか実験してみました。

実験

何かいいConfigのサンプルが無いか探していましたが、Ciscoの以下のページのサンプルがちょうど良さそうなので試してみました。

参照した情報

2 台のルータ間での LAN-to-LAN IPSec トンネルの設定例

2台のルータ間のLAN-to-LAN IPSecトンネルの設定
このドキュメントでは、2台のCiscoルータ(Cisco IOS®またはCisco IOS® XE)間のインターネットキーエクスチェンジ(IKEv1)を介したポリシーベースのVPN(PVPN)を設定する方法について説明します

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に期待しましょう。

コメント

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