We can install OpenVPN Access Server on Proxmox using a Container. I find this preferable to using a VM as it is much more resource-efficient.
Connect to your pve. Replace pve
with the hostname or IP address of your Proxmox server. You can also access the shell from the webgui.
ssh root@pve
We’ll use pveam
to manage LXC container images. You’ll need the Ubuntu 20.04 (Focal Fossa) for this install.
pveam update
pveam download local ubuntu-20.04-standard_20.04-1_amd64.tar.gz
From there you can head back to the webgui to create your container based on Ubuntu 20.04. Before we start it, there are a few updates we need to make to the container settings.
Edit container configuration. I’m using vim
, but nano
works. My container ID is 100
, but yours will likely be something else.
vim /etc/pve/lxc/100.conf
Add the following lines at the end.
lxc.cgroup.devices.allow: c 10:200 rwm
lxc.mount.entry: /dev/net dev/net none bind,create=dir
For your unprivileged container to be able to access the /dev/net/tun from your host, you need to set the owner by running this command.
chown 100000:100000 /dev/net/tun
Now we can start the container and enter it. This can be done from the shell or from the webgui.
pct start 100
pct enter 100
Run the following commands to install OpenVPN Access Server.
apt update && apt -y install ca-certificates wget net-tools gnupg
wget -qO - https://as-repository.openvpn.net/as-repo-public.gpg | apt-key add -
echo "deb http://as-repository.openvpn.net/as/debian focal main">/etc/apt/sources.list.d/openvpn-as-repo.list
apt update && apt -y install openvpn-as
Reset the password for the openvpn user.
passwd openvpn_as
Restart the OpenVPN Access Server.
sudo systemctl restart openvpnas
Open https://openvpnas:943/admin in the browser. Replace openvpnas
with your hostname or IP address. Sign in with openvpn and the password you just set, and get to work.