|
| 1 | +--- |
| 2 | +title: "Infix in GNS3" |
| 3 | +description: "Build and test networks virtually, no hardware required" |
| 4 | +author: troglobit |
| 5 | +date: 2026-03-12 09:00:00 +0100 |
| 6 | +categories: [howto] |
| 7 | +tags: [gns3, networking, virtual, beginner] |
| 8 | +image: |
| 9 | + path: /assets/img/gns3.png |
| 10 | + alt: GNS3 — Graphical Network Simulator |
| 11 | + show_in_post: false |
| 12 | +--- |
| 13 | + |
| 14 | +[GNS3][] is a graphical network simulator that lets you build, cable up, |
| 15 | +and run virtual network topologies on your desktop. It is widely used |
| 16 | +for learning, lab work, and testing interoperability between different |
| 17 | +vendors — and Infix is available directly from the [GNS3 Marketplace][mktroot], |
| 18 | +making it easy to add to any project. |
| 19 | + |
| 20 | +This post walks you through getting Infix running in GNS3, from |
| 21 | +installation to your first working topology. |
| 22 | + |
| 23 | +> The examples here use the **x86_64** Infix build. GNS3 runs its |
| 24 | +> device emulation via Qemu, which requires a Linux host — see the |
| 25 | +> [server setup](#server-setup) section below if your organisation runs |
| 26 | +> macOS or Windows. |
| 27 | +{: .prompt-info } |
| 28 | + |
| 29 | +### Installing GNS3 |
| 30 | + |
| 31 | +GNS3 is best installed on a [Debian][]-based Linux distribution such as |
| 32 | +[Ubuntu][] or [Linux Mint][]. Add the official PPA and install: |
| 33 | + |
| 34 | +```bash |
| 35 | +$ sudo add-apt-repository ppa:gns3/ppa |
| 36 | +... |
| 37 | +$ sudo apt update |
| 38 | +... |
| 39 | +$ sudo apt install gns3-gui gns3-server |
| 40 | +... |
| 41 | +``` |
| 42 | + |
| 43 | +> During installation you will be asked whether non-root users should be |
| 44 | +> allowed to run Qemu and use Wireshark. Answer **yes** to both, |
| 45 | +> otherwise GNS3 will require `sudo` every time. |
| 46 | +{: .prompt-tip } |
| 47 | + |
| 48 | +For Windows and macOS, download the all-in-one installer from |
| 49 | +[gns3.com][GNS3]. It bundles the GNS3 VM — a small Linux virtual |
| 50 | +machine that handles the Qemu side — see the [server setup](#server-setup) |
| 51 | +section for more on how this works. |
| 52 | + |
| 53 | +### Adding the Infix Appliance |
| 54 | + |
| 55 | +Infix is available directly from the [GNS3 Marketplace][mkt]. For a full |
| 56 | +walk-through of the install flow, see the [GNS3 documentation][mktguide]. |
| 57 | +The steps below are Infix-specific: |
| 58 | + |
| 59 | +1. Open GNS3 and go to **File → New Template** |
| 60 | +2. Select **Install an appliance from the GNS3 server** and click **Next** |
| 61 | +3. Search for **Infix** in the appliance list and select it |
| 62 | +4. When asked for a disk image, click **Download** to fetch it |
| 63 | + directly, or point it to a `.qcow2` file you have already downloaded |
| 64 | + from the [Infix releases page][rels] |
| 65 | +5. Click **Finish** — Infix now appears under **Routers** in the device panel |
| 66 | + |
| 67 | + |
| 68 | +### Building a Topology |
| 69 | + |
| 70 | +Creating a lab is drag, drop, and cable. As a first example we will |
| 71 | +build a simple gateway setup: a PC connected to the internet via an |
| 72 | +Infix router. |
| 73 | + |
| 74 | +1. Open or create a GNS3 project (**File → New blank project**) |
| 75 | +2. From the **Routers** panel, drag an **Infix** node onto the canvas |
| 76 | +3. From the **End devices** panel, drag a **PC** node onto the canvas |
| 77 | +4. From the **Network devices** panel, drag a **Cloud** node — this |
| 78 | + represents your host machine's internet connection |
| 79 | +5. Use the **Add a link** tool (cable icon) to wire them up: |
| 80 | + - Cloud → `eth0` on Infix (WAN) |
| 81 | + - `eth1` on Infix → PC (LAN) |
| 82 | +6. Start all nodes with **Edit → Start All Nodes** |
| 83 | + |
| 84 | + |
| 85 | +_**Figure 1:** A simple gateway topology — Internet cloud, Infix router, and a PC, all wired up on the GNS3 canvas._ |
| 86 | + |
| 87 | +> Each Infix node has **10 Ethernet interfaces** (`eth0`–`eth9`) by |
| 88 | +> default, plenty for routing, switching, or both within the same node. |
| 89 | +{: .prompt-info } |
| 90 | + |
| 91 | +Once the nodes are running, right-click the Infix node and choose |
| 92 | +**Console** to open a terminal. From there the workflow is identical |
| 93 | +to real hardware: `cli` to enter the Infix CLI, `configure` to make |
| 94 | +changes, and `copy running-config startup-config` to save them. |
| 95 | + |
| 96 | +For more in-depth examples and multi-router topologies, see Jon-Olov's |
| 97 | +[OSPF Unnumbered Interfaces][ospf] post — a six-router ring built and |
| 98 | +verified entirely in GNS3. |
| 99 | + |
| 100 | + |
| 101 | +### Server Setup |
| 102 | + |
| 103 | +GNS3 has a split client/server architecture. The **GUI** handles the |
| 104 | +canvas and your interaction; the **server** (`gns3server`) manages the |
| 105 | +Qemu processes that actually run the devices. On Linux these run on the |
| 106 | +same machine with no extra configuration needed. |
| 107 | + |
| 108 | +On **macOS and Windows** the all-in-one installer includes the **GNS3 |
| 109 | +VM** — a small Linux virtual machine that acts as the server. The GNS3 |
| 110 | +GUI connects to it automatically, and Infix runs inside it. This works |
| 111 | +well for individual use. |
| 112 | + |
| 113 | +Organisations running **macOS across the board** often find it more |
| 114 | +practical to set up a dedicated Linux server and point all GNS3 clients |
| 115 | +at it — this is exactly the setup we have helped customers with: |
| 116 | + |
| 117 | +1. On a [Debian][]/[Ubuntu][]/[Linux Mint][] machine, install and start |
| 118 | + the server: |
| 119 | + |
| 120 | + ```bash |
| 121 | + $ sudo apt install gns3-server |
| 122 | + $ gns3server |
| 123 | + ``` |
| 124 | + |
| 125 | +2. On each Mac, open GNS3 and go to **GNS3 → Preferences → Server → |
| 126 | + Remote servers** and add the Linux machine's IP address and port |
| 127 | + (default `3080`) |
| 128 | + |
| 129 | +All Qemu emulation runs on the Linux server while each user works from |
| 130 | +their GNS3 GUI on their Mac. The Infix appliance only needs to be |
| 131 | +imported once, on the server side. |
| 132 | + |
| 133 | +> The server must be **x86_64 Linux** — Infix ships an `x86_64` build |
| 134 | +> for exactly this purpose. There is no native macOS or Windows Infix |
| 135 | +> build. |
| 136 | +{: .prompt-warning } |
| 137 | + |
| 138 | + |
| 139 | +### Where to Go Next |
| 140 | + |
| 141 | +With Infix running in GNS3 you have the full feature set available — |
| 142 | +routing, switching, containers, firewall, WireGuard — all without any |
| 143 | +physical hardware. A few posts to continue with: |
| 144 | + |
| 145 | + - [Getting Started with Infix][gs] — the Qemu command-line workflow if |
| 146 | + you prefer working without a GUI |
| 147 | + - [OSPF Unnumbered Interfaces][ospf] — a multi-router topology built |
| 148 | + and verified entirely in GNS3 |
| 149 | + - [Zone-Based Firewall][zbf] — set up a firewall between zones in a |
| 150 | + virtual topology |
| 151 | + - [Full documentation][docs] — the complete Infix user guide, including |
| 152 | + the [virtual environments][virt] section |
| 153 | + |
| 154 | + |
| 155 | +[GNS3]: https://gns3.com/ |
| 156 | +[mktroot]: https://gns3.com/marketplace/ |
| 157 | +[mkt]: https://gns3.com/marketplace/appliances/infix |
| 158 | +[ppa]: https://docs.gns3.com/docs/getting-started/installation/linux/ |
| 159 | +[mktguide]: https://docs.gns3.com/docs/using-gns3/beginners/install-from-marketplace/ |
| 160 | +[rels]: https://github.com/kernelkit/infix/releases |
| 161 | +[ospf]: /posts/ospf-unnumbered-infix/ |
| 162 | +[gs]: /posts/getting-started/ |
| 163 | +[zbf]: /posts/zone-based-firewall/ |
| 164 | +[docs]: https://www.kernelkit.org/infix/ |
| 165 | +[virt]: https://www.kernelkit.org/infix/latest/virtual/ |
| 166 | +[Debian]: https://www.debian.org/ |
| 167 | +[Ubuntu]: https://ubuntu.com/ |
| 168 | +[Linux Mint]: https://linuxmint.com/ |
0 commit comments