<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Router on Backend Engineering Strategy Tools</title><link>https://backend-engineering-strategy-tools.github.io/site/tags/router/</link><description>Recent content in Router on Backend Engineering Strategy Tools</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Fri, 22 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://backend-engineering-strategy-tools.github.io/site/tags/router/index.xml" rel="self" type="application/rss+xml"/><item><title>Firewall and router OS options</title><link>https://backend-engineering-strategy-tools.github.io/site/public-notes/networking/router-os/</link><pubDate>Fri, 22 May 2026 00:00:00 +0000</pubDate><guid>https://backend-engineering-strategy-tools.github.io/site/public-notes/networking/router-os/</guid><description>&lt;p&gt;Options for running a software-defined firewall or router, from homelab appliances to full routing OS deployments.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="the-main-split-appliance-vs-routing-os"&gt;The main split: appliance vs routing OS
&lt;/h2&gt;&lt;p&gt;Most options fall into one of two categories:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Firewall appliances&lt;/strong&gt; (OPNsense, pfSense, IPFire) — web UI-first, designed around the perimeter firewall use case. NAT, DHCP, DNS, VPN, IDS/IPS out of the box. Routing is possible but secondary.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Routing operating systems&lt;/strong&gt; (VyOS, MikroTik RouterOS, FRRouting) — CLI-first, designed around dynamic routing protocols (BGP, OSPF). Firewall rules exist but feel like an afterthought compared to the routing capabilities.&lt;/p&gt;
&lt;p&gt;For a homelab perimeter gateway: appliance. For BGP peering, complex routing topologies, or network-as-code: routing OS.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="opnsense"&gt;OPNsense
&lt;/h2&gt;&lt;p&gt;Open-source firewall and routing platform based on FreeBSD. Fork of pfSense, with a stronger emphasis on community ownership and more frequent security updates.&lt;/p&gt;
&lt;p&gt;Full gateway function: stateful firewall, NAT, DHCP, DNS (Unbound), TFTP/PXE, VPN (WireGuard, OpenVPN, IPsec), traffic shaping, IDS/IPS (Suricata), DDNS.&lt;/p&gt;
&lt;p&gt;BGP is available via the FRRouting plugin but is not a first-class feature — VyOS is better suited for BGP-heavy setups.&lt;/p&gt;
&lt;p&gt;→ &lt;a class="link" href="https://backend-engineering-strategy-tools.github.io/site/public-notes/networking/opnsense/" &gt;OPNsense reference&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Best for&lt;/strong&gt;: homelab perimeter gateway, home network, small office. The current actively-maintained community fork of the pfSense lineage.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="pfsense"&gt;pfSense
&lt;/h2&gt;&lt;p&gt;The original FreeBSD-based firewall appliance. Same underlying capabilities as OPNsense — they share a common ancestor (m0n0wall).&lt;/p&gt;
&lt;p&gt;Now owned by Netgate. The &lt;strong&gt;Community Edition (CE)&lt;/strong&gt; remains open source; &lt;strong&gt;pfSense Plus&lt;/strong&gt; is commercial and ships only on Netgate hardware or as a cloud image. Development focus has shifted toward Plus; CE updates have been slower.&lt;/p&gt;
&lt;p&gt;The practical difference between OPNsense and pfSense CE is increasingly small at the feature level. The main reasons to choose one over the other are familiarity, UI preference, and update cadence. OPNsense is the more actively developed option for community use.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Best for&lt;/strong&gt;: environments where pfSense is already deployed, or where existing documentation/tooling targets it.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="vyos"&gt;VyOS
&lt;/h2&gt;&lt;p&gt;Open-source network OS built on Debian. Configured via a CLI with a commit/rollback model (similar to Juniper JunOS). Native BGP, OSPF, IS-IS via FRRouting.&lt;/p&gt;
&lt;p&gt;Configuration is declarative and version-controlled — the entire running config is a text file, which makes it automation-friendly (Ansible, Terraform).&lt;/p&gt;
&lt;p&gt;The rolling release is free; LTS releases require a subscription.&lt;/p&gt;
&lt;p&gt;→ &lt;a class="link" href="https://backend-engineering-strategy-tools.github.io/site/public-notes/networking/vyos/" &gt;VyOS reference&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Best for&lt;/strong&gt;: BGP peering, complex routing topologies, automation-driven network config, VM-based routing inside a cluster.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="mikrotik-routeros"&gt;MikroTik RouterOS
&lt;/h2&gt;&lt;p&gt;Commercial OS that runs on MikroTik hardware and as a VM (CHR — Cloud Hosted Router). Full routing OS with BGP, OSPF, MPLS, and a firewall. Configured via Winbox GUI, web UI, or CLI.&lt;/p&gt;
&lt;p&gt;Very capable at the price point. Hardware is inexpensive. The learning curve is steeper than OPNsense but shallower than VyOS for most tasks. Community is large and documentation is thorough.&lt;/p&gt;
&lt;p&gt;CHR (the VM version) is free for speeds up to 1Mbps; licensed tiers above that. On physical hardware, the license is included.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Best for&lt;/strong&gt;: cost-conscious deployments that need routing features, or environments already using MikroTik hardware.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="ipfire"&gt;IPFire
&lt;/h2&gt;&lt;p&gt;Linux-based firewall focused on simplicity and security hardening. Web UI, stateful firewall, IDS (Snort/Suricata), VPN (OpenVPN, WireGuard, IPsec), proxy.&lt;/p&gt;
&lt;p&gt;Less feature-rich than OPNsense but lighter and more opinionated. No BGP. Easier to get to a secure baseline quickly.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Best for&lt;/strong&gt;: simple gateway where you want a small attack surface and don&amp;rsquo;t need advanced routing or a plugin ecosystem.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="untangle--arista-edge-threat-management"&gt;Untangle / Arista Edge Threat Management
&lt;/h2&gt;&lt;p&gt;Commercial product with a free tier (NG Firewall). Web UI, application-layer filtering, content inspection, threat management features. More enterprise-oriented than the others.&lt;/p&gt;
&lt;p&gt;Requires registration. The free tier is limited; the feature set that differentiates it from OPNsense is mostly in the commercial tiers.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Best for&lt;/strong&gt;: environments that need application-layer filtering with a managed UI, or commercial support requirements.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="comparison"&gt;Comparison
&lt;/h2&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;OPNsense&lt;/th&gt;
 &lt;th&gt;pfSense CE&lt;/th&gt;
 &lt;th&gt;VyOS&lt;/th&gt;
 &lt;th&gt;MikroTik RouterOS&lt;/th&gt;
 &lt;th&gt;IPFire&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Base OS&lt;/td&gt;
 &lt;td&gt;FreeBSD&lt;/td&gt;
 &lt;td&gt;FreeBSD&lt;/td&gt;
 &lt;td&gt;Debian&lt;/td&gt;
 &lt;td&gt;Proprietary&lt;/td&gt;
 &lt;td&gt;Linux&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Primary interface&lt;/td&gt;
 &lt;td&gt;Web UI&lt;/td&gt;
 &lt;td&gt;Web UI&lt;/td&gt;
 &lt;td&gt;CLI&lt;/td&gt;
 &lt;td&gt;Winbox / CLI&lt;/td&gt;
 &lt;td&gt;Web UI&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;BGP / OSPF&lt;/td&gt;
 &lt;td&gt;Plugin (FRR)&lt;/td&gt;
 &lt;td&gt;Plugin (FRR)&lt;/td&gt;
 &lt;td&gt;Native (FRR)&lt;/td&gt;
 &lt;td&gt;Native&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;IDS/IPS&lt;/td&gt;
 &lt;td&gt;Suricata&lt;/td&gt;
 &lt;td&gt;Snort/Suricata&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Snort/Suricata&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;WireGuard&lt;/td&gt;
 &lt;td&gt;Yes&lt;/td&gt;
 &lt;td&gt;Yes (Plus)&lt;/td&gt;
 &lt;td&gt;Yes&lt;/td&gt;
 &lt;td&gt;Yes&lt;/td&gt;
 &lt;td&gt;Yes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;DDNS&lt;/td&gt;
 &lt;td&gt;Yes&lt;/td&gt;
 &lt;td&gt;Yes&lt;/td&gt;
 &lt;td&gt;Via script&lt;/td&gt;
 &lt;td&gt;Yes&lt;/td&gt;
 &lt;td&gt;Yes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Cost&lt;/td&gt;
 &lt;td&gt;Free&lt;/td&gt;
 &lt;td&gt;Free (CE)&lt;/td&gt;
 &lt;td&gt;Free (rolling)&lt;/td&gt;
 &lt;td&gt;Hardware license&lt;/td&gt;
 &lt;td&gt;Free&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Community&lt;/td&gt;
 &lt;td&gt;Active&lt;/td&gt;
 &lt;td&gt;Slowing (CE)&lt;/td&gt;
 &lt;td&gt;Active&lt;/td&gt;
 &lt;td&gt;Active&lt;/td&gt;
 &lt;td&gt;Active&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="further-reading"&gt;Further reading
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://backend-engineering-strategy-tools.github.io/site/homelab/opnsense/" &gt;OPNsense in the homelab&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://backend-engineering-strategy-tools.github.io/site/homelab/vyos-bgp/" &gt;VyOS + BGP in the homelab&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>OPNsense</title><link>https://backend-engineering-strategy-tools.github.io/site/public-notes/networking/opnsense/</link><pubDate>Thu, 14 May 2026 00:00:00 +0000</pubDate><guid>https://backend-engineering-strategy-tools.github.io/site/public-notes/networking/opnsense/</guid><description>&lt;p&gt;OPNsense is an open-source firewall and routing platform based on FreeBSD. It is a fork of pfSense, with a stronger emphasis on community ownership, a cleaner UI, and more frequent security updates. Both are descendants of m0n0wall.&lt;/p&gt;
&lt;p&gt;It covers the full gateway function: stateful firewall, NAT, DHCP, DNS, TFTP, VPN, traffic shaping, and IDS/IPS — all through a web UI or via the API.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="feature-overview"&gt;Feature overview
&lt;/h2&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Feature&lt;/th&gt;
 &lt;th&gt;Notes&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Stateful firewall&lt;/td&gt;
 &lt;td&gt;Zone-based rules, aliases, scheduling&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;NAT&lt;/td&gt;
 &lt;td&gt;Outbound, inbound (port forwarding), 1:1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;DHCP&lt;/td&gt;
 &lt;td&gt;ISC DHCPv4 and Kea; supports network boot options&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;DNS&lt;/td&gt;
 &lt;td&gt;Unbound resolver with DNSSEC; optional forwarding&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;TFTP&lt;/td&gt;
 &lt;td&gt;Simple server at &lt;code&gt;/usr/local/tftp&lt;/code&gt;; used for PXE boot&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;VPN&lt;/td&gt;
 &lt;td&gt;WireGuard, OpenVPN, IPsec&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;IDS/IPS&lt;/td&gt;
 &lt;td&gt;Suricata integration&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Traffic shaping&lt;/td&gt;
 &lt;td&gt;HFSC, PRIQ, CAKE&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;BGP / routing&lt;/td&gt;
 &lt;td&gt;FRRouting plugin available (not enabled by default)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="opnsense-vs-pfsense-vs-vyos"&gt;OPNsense vs pfSense vs VyOS
&lt;/h2&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;OPNsense&lt;/th&gt;
 &lt;th&gt;pfSense&lt;/th&gt;
 &lt;th&gt;VyOS&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Base&lt;/td&gt;
 &lt;td&gt;FreeBSD&lt;/td&gt;
 &lt;td&gt;FreeBSD&lt;/td&gt;
 &lt;td&gt;Debian Linux&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;License&lt;/td&gt;
 &lt;td&gt;BSD (true FOSS)&lt;/td&gt;
 &lt;td&gt;BSL (mixed)&lt;/td&gt;
 &lt;td&gt;GPL&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Model&lt;/td&gt;
 &lt;td&gt;Firewall appliance&lt;/td&gt;
 &lt;td&gt;Firewall appliance&lt;/td&gt;
 &lt;td&gt;Network OS&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Config interface&lt;/td&gt;
 &lt;td&gt;Web UI + API&lt;/td&gt;
 &lt;td&gt;Web UI&lt;/td&gt;
 &lt;td&gt;CLI (commit/rollback)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;BGP&lt;/td&gt;
 &lt;td&gt;Via FRRouting plugin&lt;/td&gt;
 &lt;td&gt;Via FRRouting plugin&lt;/td&gt;
 &lt;td&gt;Native (FRRouting built-in)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Typical use&lt;/td&gt;
 &lt;td&gt;Edge gateway, firewall&lt;/td&gt;
 &lt;td&gt;Edge gateway, firewall&lt;/td&gt;
 &lt;td&gt;Router, BGP peer, lab router VM&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;OPNsense and pfSense are both appliance-style: you configure them through a UI and they manage all the underlying services for you. &lt;a class="link" href="https://backend-engineering-strategy-tools.github.io/site/public-notes/networking/vyos/" &gt;VyOS&lt;/a&gt; is a network OS in the Juniper/Cisco tradition — CLI-first, commit/rollback, intended for use as a router or BGP peer rather than a full gateway appliance.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="related"&gt;Related
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://docs.opnsense.org/" target="_blank" rel="noopener"
 &gt;OPNsense documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/opnsense/plugins" target="_blank" rel="noopener"
 &gt;OPNsense plugins&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://backend-engineering-strategy-tools.github.io/site/public-notes/hardware/hardware-provisioning/ipxe-opnsense/" &gt;iPXE + OPNsense&lt;/a&gt; — PXE boot configuration via OPNsense DHCP and TFTP&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://backend-engineering-strategy-tools.github.io/site/homelab/opnsense/" &gt;OPNsense in the homelab&lt;/a&gt; — current setup and planned redo&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>VyOS</title><link>https://backend-engineering-strategy-tools.github.io/site/public-notes/networking/vyos/</link><pubDate>Thu, 14 May 2026 00:00:00 +0000</pubDate><guid>https://backend-engineering-strategy-tools.github.io/site/public-notes/networking/vyos/</guid><description>&lt;p&gt;VyOS is an open-source network operating system built on Debian Linux. It runs on bare metal or as a VM, and is configured via a CLI with a commit/rollback model similar to Juniper JunOS. Configuration changes are staged and only take effect when you explicitly &lt;code&gt;commit&lt;/code&gt; — there is no live-editing a running config and hoping nothing breaks.&lt;/p&gt;
&lt;p&gt;It ships FRRouting (FRR) as the routing engine, giving it native support for BGP, OSPF, IS-IS, and other protocols. This is its main distinction from &lt;a class="link" href="https://backend-engineering-strategy-tools.github.io/site/public-notes/networking/opnsense/" &gt;OPNsense&lt;/a&gt; for homelab use: OPNsense is a firewall appliance that can do some routing; VyOS is a routing OS that can also do firewall.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="configuration-model"&gt;Configuration model
&lt;/h2&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;vyos@router# set interfaces ethernet eth0 address &amp;#39;192.168.1.254/24&amp;#39;
vyos@router# set protocols bgp system-as &amp;#39;65001&amp;#39;
vyos@router# commit
vyos@router# save
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;configure&lt;/code&gt; enters configuration mode. &lt;code&gt;set&lt;/code&gt; stages a change. &lt;code&gt;commit&lt;/code&gt; applies it. &lt;code&gt;save&lt;/code&gt; persists it to disk. &lt;code&gt;rollback&lt;/code&gt; reverts to the last committed state if something goes wrong. The separation between staging and applying is genuinely useful when changing routing configuration remotely.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="key-features"&gt;Key features
&lt;/h2&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Feature&lt;/th&gt;
 &lt;th&gt;Notes&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;BGP&lt;/td&gt;
 &lt;td&gt;Via FRRouting; full eBGP/iBGP support&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;OSPF / IS-IS&lt;/td&gt;
 &lt;td&gt;Also via FRR&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Static routing&lt;/td&gt;
 &lt;td&gt;Standard&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;VLAN&lt;/td&gt;
 &lt;td&gt;802.1Q trunking&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;NAT&lt;/td&gt;
 &lt;td&gt;Source and destination NAT&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Firewall&lt;/td&gt;
 &lt;td&gt;Zone-based, stateful&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;WireGuard&lt;/td&gt;
 &lt;td&gt;Built-in&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;OpenVPN&lt;/td&gt;
 &lt;td&gt;Built-in&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;DHCP server&lt;/td&gt;
 &lt;td&gt;Built-in&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;VXLAN&lt;/td&gt;
 &lt;td&gt;Supported&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="vyos-vs-opnsense"&gt;VyOS vs OPNsense
&lt;/h2&gt;&lt;p&gt;VyOS is the right choice when you want a dedicated BGP peer or a router VM with a clean CLI config model. OPNsense is the right choice when you want a full gateway appliance with a web UI.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="automation"&gt;Automation
&lt;/h2&gt;&lt;p&gt;VyOS is designed to be automated — the commit/rollback model maps cleanly onto infrastructure-as-code workflows.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;REST API&lt;/strong&gt; — built-in HTTP API for retrieving and applying configuration programmatically. Useful for scripting config changes without SSH.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ansible&lt;/strong&gt; — official &lt;code&gt;vyos.vyos&lt;/code&gt; collection on Ansible Galaxy. Modules for interfaces, BGP, firewall rules, and more. Changes go through the normal commit/rollback cycle.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Terraform&lt;/strong&gt; — community provider available. Less mature than the Ansible collection but usable for provisioning router config alongside other infrastructure.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="related"&gt;Related
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://docs.vyos.io/" target="_blank" rel="noopener"
 &gt;VyOS documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://docs.vyos.io/en/latest/automation/vyos-api.html" target="_blank" rel="noopener"
 &gt;VyOS REST API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://docs.ansible.com/ansible/latest/collections/vyos/vyos/index.html" target="_blank" rel="noopener"
 &gt;VyOS Ansible collection&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://vyos.net/get/" target="_blank" rel="noopener"
 &gt;VyOS rolling release downloads&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://backend-engineering-strategy-tools.github.io/site/public-notes/networking/bgp/" &gt;BGP&lt;/a&gt; — protocol background&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://backend-engineering-strategy-tools.github.io/site/public-notes/networking/opnsense/" &gt;OPNsense&lt;/a&gt; — the complementary edge gateway&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://backend-engineering-strategy-tools.github.io/site/homelab/vyos-bgp/" &gt;VyOS + BGP in the homelab&lt;/a&gt; — the actual setup&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>