生成AIの登場により現在エンジニアの仕事の効率性は飛躍的に向上しています。
たとえば、資料のレビューやコードの作成補助、要件をもとにした設計図作成、打合せの文字おこしなど。
ですがネットで情報が上がっているのは主にWeb系エンジニア関連やクラウド分野が多く、ネットワークエンジニアが生成AIを使用したコンフィグ作成などは意外と情報が多くないと感じました。
ネットワークエンジニアも他のエンジニアと同じく要件をくみ取ってそこから設計図を作り、コンフィグを作成して、機器に投入したら試験を行い、その後に運用が始まるのでやることは共通しています。
今回はコンフィグを作成して、機器に投入する「構築」に該当する部分を生成AIを使用して検証を行いました。
使用生成AI:ChatGPT
検証に使用した構成図
AIへ指示開始
1回目の指示
AIの回答結果(1回目)
AIの回答1回目
【R1】
hostname R1
interface GigabitEthernet0/0
ip address 192.168.1.1 255.255.255.0
standby 1 ip 192.168.1.254
standby 1 priority 110
standby 1 preempt
no shutdown
interface GigabitEthernet0/1
ip address 172.16.1.1 255.255.255.0
standby 2 ip 172.16.1.254
standby 2 priority 110
standby 2 preempt
no shutdown
ip route 172.16.1.0 255.255.255.0 GigabitEthernet0/1
ip route 192.168.1.0 255.255.255.0 GigabitEthernet0/0
! 1:1 Static NAT 設定(例: PC1 ⇔ 公開IP 203.0.113.1)
ip nat inside source static 192.168.1.10 203.0.113.1
interface GigabitEthernet0/0
ip nat inside
interface GigabitEthernet0/1
ip nat outside
【R2】
hostname R2
interface GigabitEthernet0/0
ip address 192.168.1.2 255.255.255.0
standby 1 ip 192.168.1.254
standby 1 priority 100
standby 1 preempt
no shutdown
interface GigabitEthernet0/1
ip address 172.16.1.2 255.255.255.0
standby 2 ip 172.16.1.254
standby 2 priority 100
standby 2 preempt
no shutdown
ip route 172.16.1.0 255.255.255.0 GigabitEthernet0/1
ip route 192.168.1.0 255.255.255.0 GigabitEthernet0/0
! 1:1 Static NAT 設定(例: PC2 ⇔ 公開IP 203.0.113.2)
ip nat inside source static 172.16.1.10 203.0.113.2
interface GigabitEthernet0/0
ip nat inside
interface GigabitEthernet0/1
ip nat outside
※AIへの指示ミス
【R2】のStatic NATの設定はoutside⇒inside向けのNAT設定になってしまうので
【R1】で設定した以下内容で修正
ip nat inside source static 192.168.1.10 203.0.113.1
最初の指示で、もう少し具体的に指示をしていれば、誤った結果が出なかったかもしれません。
2回目の指示
最初に指示した、どっちかのポートの優先度が切り替わったら、それに合わせて同じように優先度を下げるが盛り込まれていませんでした。
AIにまとめて指示をしても、すべて読み取ってくれるわけではないと実感。
そこでAIには再度以下内容で指示を実行しました。
AIの回答結果(2回目)
AIの回答2回目
【R1】
! G0/0 にトラッキング番号1を割り当て
track 1 interface GigabitEthernet0/0 line-protocol
interface GigabitEthernet0/0
ip address 192.168.1.1 255.255.255.0
standby 1 ip 192.168.1.254
standby 1 priority 110
standby 1 preempt
no shutdown
interface GigabitEthernet0/1
ip address 172.16.1.1 255.255.255.0
standby 2 ip 172.16.1.254
standby 2 priority 110
standby 2 preempt
standby 2 track 1 decrement 20
no shutdown
【R2】
! G0/0 にトラッキング番号1を割り当て
track 1 interface GigabitEthernet0/0 line-protocol
interface GigabitEthernet0/0
ip address 192.168.1.2 255.255.255.0
standby 1 ip 192.168.1.254
standby 1 priority 100
standby 1 preempt
no shutdown
interface GigabitEthernet0/1
ip address 172.16.1.2 255.255.255.0
standby 2 ip 172.16.1.254
standby 2 priority 100
standby 2 preempt
standby 2 track 1 decrement 20
no shutdown
これでは片方のポートだけだったので両方のポートに連動したトラッキング設定もAIは作ってもらえるとのことなので以下内容で再度指示。
3回目の指示
AIの回答結果(3回目)
AIの回答3回目
【R1】
hostname R1
! === トラッキング定義 ===
track 1 interface GigabitEthernet0/0 line-protocol
track 2 interface GigabitEthernet0/1 line-protocol
! === LAN側インターフェース ===
interface GigabitEthernet0/0
ip address 192.168.1.1 255.255.255.0
standby 1 ip 192.168.1.254
standby 1 priority 110
standby 1 preempt
standby 1 track 1 decrement 20 ! 自分自身のインターフェース
standby 1 track 2 decrement 20 ! 相手(WAN)をトラッキング
no shutdown
! === WAN側インターフェース ===
interface GigabitEthernet0/1
ip address 172.16.1.1 255.255.255.0
standby 2 ip 172.16.1.254
standby 2 priority 110
standby 2 preempt
standby 2 track 2 decrement 20 ! 自分自身のインターフェース
standby 2 track 1 decrement 20 ! 相手(LAN)をトラッキング
no shutdown
【R2】
hostname R2
! === トラッキング定義 ===
track 1 interface GigabitEthernet0/0 line-protocol
track 2 interface GigabitEthernet0/1 line-protocol
! === LAN側インターフェース ===
interface GigabitEthernet0/0
ip address 192.168.1.2 255.255.255.0
standby 1 ip 192.168.1.254
standby 1 priority 100
standby 1 preempt
standby 1 track 1 decrement 20
standby 1 track 2 decrement 20
no shutdown
! === WAN側インターフェース ===
interface GigabitEthernet0/1
ip address 172.16.1.2 255.255.255.0
standby 2 ip 172.16.1.254
standby 2 priority 100
standby 2 preempt
standby 2 track 2 decrement 20
standby 2 track 1 decrement 20
no shutdown
構築完了後の検証
①HSRPの機能確認
正常時
両方の機器にHSRPの設定が反映されており、状態もR1がActive、R2がStandbyであることを確認。
優先度切り替わり時
Gig0/0のポートをシャットダウンしたとき
Gig0/1のポートをシャットダウンしたとき
R1の優先度が20下がり90になったことでR1はStandbyに変化、R2は両方のポートの状態がActiveに変化することを確認。
②疎通確認
※172.16.1.250はPC2のアドレスです。
PC1⇒PC2に対して疎通中、HSRPの切り代わり時に通信断発生、切り替わり後に通信復活も確認。
③traceroute確認
HSRPの切り替わり時は192.168.1.2のR2を経由している。
④NAT変換の確認
正常時
ルーター1を経由したパケットの送信元アドレスが203.0.113.1にNAT変換されていることを確認。
ルーター2へ切り替わり時
ルーター2を経由したパケットの送信元アドレスが203.0.113.2にNAT変換されていることを確認。
検証結果
HSRPが想定通りに機能し、疎通確認も問題なく、NATも変換されているので検証成功。
各ルーター設定コンフィグ
各ルーター設定コンフィグ
【R1】
track 1 interface GigabitEthernet0/0 line-protocol
track 2 interface GigabitEthernet0/1 line-protocol
interface GigabitEthernet0/0
ip address 192.168.1.1 255.255.255.0
ip nat inside
standby 1 ip 192.168.1.254
standby 1 priority 110
standby 1 preempt
standby 1 track 1 decrement 20
standby 1 track 2 decrement 20
interface GigabitEthernet0/1
ip address 172.16.1.1 255.255.255.0
ip nat outside
standby 2 ip 172.16.1.254
standby 2 priority 110
standby 2 preempt
standby 2 track 1 decrement 20
standby 2 track 2 decrement 20
ip nat inside source static 192.168.1.10 203.0.113.1
ip route 172.16.1.0 255.255.255.0 GigabitEthernet0/1
ip route 192.168.1.0 255.255.255.0 GigabitEthernet0/0
【R2】
track 1 interface GigabitEthernet0/0 line-protocol
track 2 interface GigabitEthernet0/1 line-protocol
interface GigabitEthernet0/0
ip address 192.168.1.2 255.255.255.0
ip nat inside
standby 1 ip 192.168.1.254
standby 1 preempt
standby 1 track 1 decrement 20
standby 1 track 2 decrement 20
interface GigabitEthernet0/1
ip address 172.16.1.2 255.255.255.0
ip nat outside
standby 2 ip 172.16.1.254
standby 2 preempt
standby 2 track 1 decrement 20
standby 2 track 2 decrement 20
ip nat inside source static 192.168.1.10 203.0.113.2
ip route 172.16.1.0 255.255.255.0 GigabitEthernet0/1
ip route 192.168.1.0 255.255.255.0 GigabitEthernet0/0
感想
初めてChatGptを使用してコンフィグ作成とネットワーク構築を行いましたが、
技術理解が浅い中で指示を出した場合、その後のコンフィグ内容も変わってきてしまいます。だからこそ最初の指示は、具体的に正確に出すことが一番大事だと実感しました。
AIが提示した回答は、こちらが希望した内容をすべて盛り込んでいるわけではないので、そこの確認や判断は人間が行う作業になりますね。
ただコンフィグ作成やネットワークの設計図作成は、AIにやらせるのが当たり前の時代がもう来たのでエンジニアは要件をきちんと把握して、相手のニーズをつかんでいくスキルが必須になってきていると実感。
エンジニアにはコミュニケーションスキルが必要といわれてますが、AIが発展すればするほどさらにコミュニケーションスキルを磨いていくことが必要になりそうです。
参考
次回予告
次回は少し視野を広げてインターネットの構造について記事を作成しようと思います。