---
title: "Wireguard on Nspawn"
date: 2025-01-30
draft: false
tags: ["Wireguard", "linux", "nspawn", "container", "systemd", "Debian", "bookworm", "Arch"]
authors: ["trent"]
post: 35
---
date: 2025-01-30

## Introduction
Have you ever been thinking about `systemd-nspawn` containers and thought wouldn't
it be awesome if you could just wireguard outa there as easily as you can with a
virtual machine?

You can do it!

I have tested this with a Debian 12 `nspawn` container on a Debian 12 host, as well
as both Arch Linux and Debian 12 containers on an Arch Linux host.

## install wireguard-tools in container
*mask unwanted dependencies with a trailing `-`*

`apt install wireguard-tools linux-base-`

You can now configure with `wg-quick` and start using `wireguard`.

## unpacking the install
The trick is to avoid installing the dependencies of `wireguard` that you
don't need inside a container.  You don't need a kernel, busybox,
initramfs, wireguard-modules, or dkms.

We mask `linux-base-` by adding a `-` after it, and the result is that only
`wireguard-tools` are installed, without `wireguard` or a bunch of other dependencies.

## what about LXD containers?
I'm curious if this will work in LXD containers, but don't really have
a testing environment set up for that right now.
