How to use Proxmox VE remotely over Meshnet

Learn how you can incorporate Meshnet into your Proxmox VE configuration for secure remote access.

Introduction

Virtual machines (VMs) are emulated computers that operate within a physical machine, enabling multiple operating systems to run simultaneously on a single computer. VMs are useful for developers, system administrators, and organizations that need to create and manage multiple environments for testing, development, and production purposes. A popular hypervisor for personal and enterprise solutions is Proxmox.

Proxmox Virtual Environment (VE) is a free and open-source virtualization platform that allows for centralized management of virtual machines, containers, and other virtualized resources. It supports a wide range of virtualization technologies, providing flexibility in managing virtual infrastructure. By including Meshnet in the Proxmox setup, you can enable secure remote control of the hypervisor. This configuration allows you to maintain and manage your virtual infrastructure from anywhere in the world.

This article describes how you can install Meshnet on your Proxmox system and remotely control your VMs.

Installing Proxmox VE

Proxmox provides you with two installation methods:

  • Installing Proxmox VE as a standalone operating system (OS).

  • Installing Proxmox VE on top of an already present Debian system.

For most users, a standalone Promox VE OS is recommended. However, enthusiasts may opt to choose the second method. For the purpose of this article, a standalone Proxmox VE 7.4 installation is used.

To install Proxmox VE:

  1. Download the Proxmox VE ISO installer from the Proxmox downloads page.

  2. Follow the instructions provided in the Proxmox installation wiki.

Once the installation finishes, you should see the local IP address and port of your Proxmox VE web interface.

Accessing the Proxmox web interface

Proxmox is fully controlled from the web interface. While you can manage some of the settings via the command line, the web interface provides a convenient alternative with a graphical user interface (GUI). To access Proxmox VE:

  1. On another local device, open your internet browser.

  2. In the URL bar, enter the previously presented local IP and port combination and press Enter.

Now you should see the Proxmox VE web interface.

Note

Since Proxmox is using self-signed SSL certificates, you may see a “Your connection is not private” message. To proceed further:

  1. Click Advanced.

For more information, see the Proxmox certificate management documentation page.

Install system updates

The first thing you should do after installing a new OS is fetch and install all available system updates. They can range from simple dependency updates to security upgrades.

Changing the Proxmox repository

By default, the Proxmox VE installation uses an enterprise Proxmox update repository, which requires an enterprise subscription to access. To use the free version of Proxmox, you can change the update repository by taking the following steps:

  1. From the menu on the left, under Datacenter, select proxmox.

  2. Select the enterprise Proxmox repository entry and click Disable.

  3. Click the Add button.

  4. From the Repository dropdown list, select No-subscription and click Add.

The No-subscription repository is now added to your Proxmox VE.

Updating the system

After changing the Proxmox repository, you can update your system by taking these steps:

  1. Switch to the Updates section.

  2. Click the Refresh button to fetch all available updates. Close the pop-up window when the scan finishes.

  3. Click the Upgrade button to install the available updates.

  4. In the Proxmox Console window, type in Y and press Enter to proceed.

Once the process is finished, close the Proxmox Console window and reboot your Proxmox machine.

Setting up Meshnet

With your Proxmox VE instance updated, you can start setting up Meshnet. Because Proxmox is based on Debian, you can install NordVPN the same way as on a standard Linux machine.

Install NordVPN

Follow these steps to set up NordVPN on your Proxmox VE:

  1. Open your Proxmox VE web interface.

  2. From the list on the left, select Shell.

  3. Download and install the NordVPN Linux client by running this command:

    sh <(wget -qO - https://downloads.nordcdn.com/apps/linux/install.sh)

  4. Log in to your NordVPN account.

Log in to NordVPN

You can log in to your NordVPN account without the use of a graphical user interface (GUI) in two ways:

  • By running the nordvpn login command with the --token flag

  • By running the nordvpn login command with the --callback flag

Instructions for both methods are outlined below.

Log in using a token
  1. On any device, log in to your Nord Account dashboard and select the Meshnet (by NordVPN) card.

  2. Under Manual setup, select Set up NordVPN manually.

  3. Enter the verification code sent to your email address.

  4. Under Access token, click Generate new token.

  5. In the dialog that appears, choose either a token that expires in 30 days or one that never expires, and then select Generate token.

  6. Select Copy and close.

  7. In your Proxmox shell, run the nordvpn login --token <your_token> command, replacing <your_token> with the copied token. Example

    nordvpn login --token 3fe460cefb8dcf1478c92e45903cec9f9bdbadf7a456a6dfb35dc2c58ee39d5b

You should now see a welcome message.

Log in using a URL
  1. Run the nordvpn login command.

  2. Open the provided link in your browser on any device.

  3. Complete the login procedure.

  4. Right-click the Continue button and select Copy link address.

  5. Run the nordvpn login --callback "<URL>" command, replacing <URL> with the previously copied link address. Example

    nordvpn login --callback "nordvpn://login?action=login&exchange_token=MGFlY2E1NmE4YjM2NDM4NjUzN2VjOWIzYWM3ZTU3ZDliNDdiNzRjZTMwMjE5YjkzZTNhNTI3ZWZlOTIwMGJlOQ%3D%3D&status=done"

You should now see a welcome message.

Tip

To preserve your token when logging out of the NordVPN app, use the nordvpn logout --persist-token command. Otherwise, your token will be revoked.

Enable Meshnet

Upon logging in, enable Meshnet with this command:

nordvpn set meshnet on

To view the Nord name and Meshnet IP address of your instance, enter the following command:

nordvpn meshnet peer list

Accessing Proxmox over Meshnet

With Meshnet enabled on your Proxmox machine, you can access the Proxmox web interface remotely by following these steps:

  1. Copy the Nord name of the Proxmox machine from the NordVPN application.

  2. Open your internet browser.

  3. In the URL bar, paste the copied Nord name followed by :8006/ and press Enter.

  4. On the Your connection is not private page, select Advanced > Proceed to <Nord Name>.

  5. Log in to your Proxmox account.

Now you can remotely use Proxmox and its features, such as creating VMs, from any device connected to your Meshnet.

Deploying VMs

With Proxmox and Meshnet configured, you can deploy various VMs remotely from the Proxmox web interface.

Import an ISO image

First, you need to import an installation ISO file for your VMs operating system to Proxmox. You can import ISO images in the following two methods.

To upload an ISO image from the device that you are currently using:

  1. Open your Proxmox web interface.

  2. Select ISO images and click Upload.

  3. In the new pop-up window, click Select file.

  4. Locate the ISO file for your preferred VM and click Open.

  5. Click Upload.

Once the upload is finished, you can see the uploaded file in the ISO images menu and use it for VM deployment.

Configure a VM

To configure a new VM on Proxmox VE:

  1. In the upper-right corner, click Create VM.

  2. In the Name field, enter a custom name for your VM and click Next.

  3. In the ISO image field, select an ISO file that you imported previously.

  4. Finish creating the VM by selecting the required fields and clicking Next.

  5. In the Confirm section, double-check your VM configuration and click Finish.

Once the VM is created, you can see its entry in the menu on the left.

Start a VM

To start your new VM:

  1. In the menu on the left, select the VM you want to start.

  2. In the upper-right corner, click Start.

In a few seconds, the VM is started, and you can interact with it by switching to the Console section.

Last updated

© 2024 Nord Security. All Rights Reserved.