インフラ・DevOps
LLMとMikroTikによるネットワーク構築
LLM Networking with MikroTik (blog.greg.technology)
要約
この記事では、大規模言語モデル(LLM)を活用してMikroTikネットワーク機器の設定を効率化する方法について解説しています。LLMは複雑なネットワーク設定を支援する強力なツールとなり得ますが、その出力は常に検証が必要であると強調されています。REST/JSON APIの利用、設定のバックアップ、CAPsMANの活用、複数LLMでの検証、MAC TelnetによるL2接続などが具体的なヒントとして挙げられています。
全文翻訳
ここ数ヶ月、私はLLMを使っていくつかのネットワークを設定してきましたが、概ね順調に進んでいます。
MikroTikの機器は以前から気に入っています。信頼性が高く、安価で、IoTセルラールーター、通常のルーター、スイッチ、ポイントツーポイントシステムなど、非常に多くのネットワーク用途をカバーしています。
MikroTikの一般的な不満点の一つは、その複雑なUI/設定です。ある意味では、ネットワーク自体が複雑であるため、それが真実かどうかは分かりません。例えば、ネットワークは考えられているよりも奥深いのではないでしょうか?これについて、氷山のような図のミームを作るべきかもしれません。上部には「IPアドレス」があり、深くなるにつれて「あの人」や「聞いたこともないようなもの」が見えてくるでしょう。MPLS!IGP!OSPF!私が言いたいのは、ネットワークは単に難しいことがあるということです。
私はアマチュア無線家のように、しばらくの間、半ばネットワーク構築をしてきました。友人や友人のオフィスのためにネットワークを設定し、ケーブルを作成し、小さなパネルをパッチングしてきました。おそらく、公式の「認定ルーティングエンジニア」資格試験に合格することはできないでしょう。もちろん、たくさん勉強しなければ無理でしょう(自分を信じてください)。しかし、それが私(そしておそらくあなたも?)が楽しむことや、人々のWi-Fiの問題を解決することを妨げているわけではありません(ほとんどのWi-Fiの問題は…ああ、もう!これについては別の投稿を作るべきです。エクステンダーは絶対に使わないでください)。
LLMはどこに当てはまるのでしょうか?まあ、コーディングなど他の分野と同様に、それらは混沌としたフォースマルチプライヤーです。彼らは間違いなくMikroTikやネットワーク全般の設定方法を知っていますが、やはり間違いを犯したり、道を外れたりすることもあります。コーディングと同様に、厳しく管理し、不信感を抱き、常に検証する必要がありますが、より速く進歩することも可能です。
そして、この数ヶ月間、私は(確かに小規模ですが)ネットワークを設定し、Claudeにデバイスへのコードアクセス権を与えて、好きなようにやらせることで多くの楽しみを得ることができました。自分にとっておそらく/おそらく役立つであろう短いリストをまとめました。あるケースでは、既存のネットワーク(非常に小さな単一ルーターと統合Wi-Fiから、ルーター+スイッチ+2つのワイヤレスアクセスポイントへの移行)を行いましたが、他の2つのケースでは、ネットワークは新規構築でした。いずれにせよ、役立つなら、ここにGregのLLM MikroTikのヒントとトリックのリストがあります。
MikroTikはSSH経由で設定できますが、LLMがテキストをやり取りしようとすると「千本のナイフによる死」というようなことが起こりがちです。より良い(つまり、LLMネイティブな)チャネルは、REST/JSON APIを使用することです。
安全でないサービス(非セキュアAPIポート、www、telnet、ftp)を無効にすることを推奨します。
変更を行う前に、必ず全体の設定をダンプし、変更後にもう一度ダンプしてください。それをバージョン管理するのは素晴らしいことです。自動バックアップツール(まだ構築できていませんが)があれば最高です。
CAPsMANはWi-Fiを本当に大きく簡略化します。LLMで設定するのは非常に簡単です。
設定に欠けているものやひどく間違っているものがないかを確認するために、複数のLLM(Antigravity、Codex、Opus、Fable)に設定をダブルチェックさせ、合意に至らせるという「トリック」をよく使います。
おそらく明白ですが、ネットワークを解体する前に(MikroTikへの移行時など)、SSID、パスワード、DHCP予約を記録しておきましょう。
リカバリーランブックがあると役立ちます!すべてのデバイスの設定を既知の良い場所から復元する必要がある場合に何をするかの手順を記録しておきましょう。ランブックを実行してください。テストされていないバックアップは、ゼロのファイルと同じくらい役に立たない可能性があります。
LLMの場合によくあることですが、タスクを最小限にし、一つずつ実行してください。はい、これは「ネットワークを設定して、間違いをしないで」というジョークです。そうしないでください。
設定変更ごとにテストしてください。LLMは幻覚を見ます!
非常に些細なことですが、設定するすべてのデバイスにNTP(タイムサーバー)を設定しておくと役立ちます。
これも些細なことですが、正気でいるために、ルーター、スイッチ、ワイヤレスアクセスポイントなどのデバイスに名前を付け、識別し、説明的な名前を使用することをお勧めします。スイッチのポートについても同様です。デバイスが移動するとメンテナンスが少し面倒になることがありますが、どのポートが何に接続されているかを知っていると非常に役立ちます。
すべてのデバイスが同じRouterOSバージョンを実行していることを確認してください。LLMはコマンドの動作方法を知っていると思いがちですが、構文やオプションは変更されることがあります。確認するように依頼してください。
そして最後に!IPアドレスがバラバラで、重複する192.168.88.xネットワークがあり、全体的に混乱していて、物理的にイーサネットでデバイスに接続している(常に接続しているはずです)場合でも、ルーターやスイッチに接続することさえ困難な状況(またはLLMが私をその道に導いたのかもしれません)に陥ったことがあります。
私の意見では、最善の答えはL2の「MAC Telnet」です。つまり、L2(MACアドレス)レイヤーでTelnetできるサーバーです。これはWinBoxの使用に似ています。驚いたことに、WinBoxはクロスプラットフォームになり、Macでもかなりうまく動作します。
L2 Telnetクライアントがあれば、LLMはMikroTikと通信できます。WinBoxはLLMが制御できないGUIです。このために、MAC-Telnetを強くお勧めします。IPアドレスが機能しない最悪の時に役立つでしょう!
私/Claudeは、そのインストールを容易にするための小さなHomebrewフォーミュラを作成しましたが、元のインストール手順に従うこともできます。それは同じコードです。また、MAC-TelnetをLLMがより使いやすく消費できるようにするための小さなCLIも作成しましたが、一般的に言えば、LLMはCLIツールの使い方を自分で理解するでしょう。
楽しんでください。そして、私がすべて間違っていると教えてくれても構いません。さようなら!xx