LLM Networking with MikroTik

blog.greg.technology

101 points by gregsadetsky a day ago


adamcharnock - 12 hours ago

I've been a long-time fan of Mikrotik. I even ran an ISP on it a fair while ago. I have a couple of archived GitHub projects if they are useful to anyone:

- Router OS Diff - Can diff two configs and give you the commands needed to bring the existing config up to date with the desired config. It's certainly not perfect, but a starting point of anyone needs something like this. [1]

- Netbox Routeros – A netbox plugin for updating the config of RouterOS devices directly from the Netbox interface. [2]

It has been many years since I touched these, but perhaps they will be of interest to someone.

Aside from that, I have had excellent experience with Mikroik. Everywhere from in-datacenter to it running in an off-grid hut on a mountainside. I've even heard reports of people finding rain streaming through a CRS and it just happily ticking along.

[1] https://github.com/adamcharnock/routeros-diff

[2] https://github.com/adamcharnock/netbox-routeros

mateja - 18 hours ago

MikroTik recently updated their documentation site from an Atlassian Confluence Wiki to much more AI-friendly Docusaurus here: https://manual.mikrotik.com/

Any page can be easily converted into Markdown by appending .md to the URL. I mention this because in my experience, the agent is much more accurate when it has access to the docs.

x2tyfi - 21 hours ago

It’s interesting to observe and build LLM-driven solutions in Networking.

The biggest challenges that most of us networking people have are around velocity (how fast we can build and scale networks) and how effectively we can operate them (avoid defects, fix them fast when something breaks).

LLMs are great in both areas. AI helps with deployment challenges by speeding up tooling development and the creation of workflows on orchestration platforms. A manual process step today, say - reserving an IP address in an IP DB — is automated the next day instead of on a backlog for years. This post is an example of that (config-gen/config-deploy).

Operations use-cases are more interesting, IMO, and address the “too many signals” problems that we face. Network substrate telemetry, overlay telemetry, service host metrics, service metrics, customer metrics, recent change data, prior alarms - the list goes on. Being a network operator is not for the faint of heart and is under-mentioned on high stress job lists. AI makes AMAZINGLY good network operations triage agents, since they are able to immediately process so many signals.

Exciting times!

briHass - a day ago

I would expect LLMs to be especially excellent at configuring Mikrotik stuff, given MT publishes markdown reference docs for LLM ingestion, the full config without secrets can be dumped to one text file, and their cli commands are very stable between versions.

I switched recently to OpenWrt from MT, which code agents are also good at. I'd wager most issues are going to be related to the user not specifying what they want clearly enough. The translation from network concepts to RouterOS config is pretty 'fat-free', so there's not much room for hallucinations beyond syntax errors, which can be verified via the API.

Schlagbohrer - 10 hours ago

LLMs as tech support is such a game changer. I have a fun complicated home network with a Mikrotik and a NAS and my desktop and laptop plus various radios and Raspis, and there's no way I could configure the extremely complicated RouterOS on my Mikrotik without AI. The speed is also helpful. Previously if my network went down I would have to wait until the next weekend to fix it because it would take me all day. Now I can get things back up in an hour or less.

alanwreath - a day ago

Yes! Recently connected two disparate systems (ubiquiti and mimrotik) using their exposed API’s and a Claude session so that systems I have on either environment could talk to each other. I am not a network engineer so it was liberating to get my gear working together. That said it’s a work in progress and just today I noticed something weird that one of my computers can’t access Minecraft servers while the rest of my network can

jutaz - 7 hours ago

This is quite timely - just had some fun creating a OTLP/Grafana cloud exporter, which sends data directly without requiring intermediaries.

Super light, right now testing on my own set up (was using mktxp before):

https://github.com/jutaz/TikTelemetry

Comments/feedback welcome!

mannyv - 18 hours ago

The important thing you need to do is specify which Mikrotik version you're using; apparently the syntax for some things changed between 6 and 7.

It does pretty well, but you need to iterate. I was trying to get it to disallow internet access for non-DHCP clients, and in the end there were so many limits to what was possible that it wasn't worth it. But it did it, and when I was testing I found them.

So like everything for best results you need to know what you're doing so you can test effectively...but it saves you from learning the syntax etc.

gregwebs - 9 hours ago

MikroTik is one of the only companies that sells a router without WiFi at a non enterprise price. Useful for me to completely turn the power off at night to a separate WiFi (router in Bridge mode).

nubinetwork - 12 hours ago

> ... WinBox (which to my surprise is now cross-platform, and works quite well on Macs)

Winbox having a Linux and Mac version is really nice... I'll have to try the Linux one at some point... hopefully it works as good as the Windows version did under wine.

gertlex - 18 hours ago

I've been doing some of this too. It's great just messaging claude in discord when I want to make a new device's IP static. I also put my mikrotik config sans passwords in (local only) version control, just in case.

And perhaps it's significantly easier on other routers, but I would not have gotten VLANs working without claude doing it for me...

syntaxing - a day ago

I want something similar to this but for Ubiquiti. I don’t need anything fancy, just something that audits my home config and tell me if I’m doing something stupid, dangerous, or both.

Lownin - a day ago

Wish I could configure pfSense via API or config files.

arjie - 21 hours ago

I only have the agent investigate directly. To actually configure the Mikrotik, I have the agent write a script that is aimed to be idempotent and then run the script. Investigation is fine, but the script acts as a memory of intent which I find useful. As agents get better, it can be a textual representation rather than a script, but for now that suffices.

whazor - 13 hours ago

Mikrotik also has a safe mode for testing configuration

There is also a terraform provider. Not sure if there is a safe mode here. I normally test via ssh safe mode and import the changes afterwards.

Schlagbohrer - 10 hours ago

Fantastic tip in this article to use version control (i.e. git) for config files, I hadn't thought of that.

dools - 20 hours ago

I’ve been using ChatGPT to configure my mikrotik gear for about a year it’s pretty awesome. And the end result is well documented reusable scripts rather than my usual set of random stack overflow copy pastes and shitty inscrutable notes

timurlenk - 18 hours ago

A word of warning, my experience with mikrotik in the WiFi-6 space has been overwhelmingly negative, both in a single AP setup at home and on a corporate WiFi network managed by someone else.

Bugs, random drops, poor performance on some machines. It is not set and forget and I gave up on it.

redeemer_pl - 17 hours ago

Interesting that sending things like network configurations, keys, and credentials to external entities - which BTW are fueled by data - is considered "ok" now.

protocolture - 20 hours ago

>One of the usual complaints about MikroTik has been its complex ui/configuration. In a sense, I don’t know if that’s true inasmuch as networking is complicated in itself

Really? Its standard point and click engineer stuff. The biggest issues with Mikrotik are the features not implemented in the gui, or the way config is interpreted between versions. Also the term of hardware support, and generally flaky code in general.

>The point I’m trying to make is yeah, networking can just be hard. I’ve been half-networking, amateur-ishly, for a while now - setting up networks for friends and friends’ offices, making cables, patching small panels etc. I almost certainly couldn’t pass an official “Certified Routing Engineer” cert - well, not without studying a lot (believe in yourself).

Ok so just a hobbyist perspective.

It seems like this article is just "Point an LLM at your mikrotik api, have fun"?