Adding a Secondary 10Gbps Interface to Ubuntu Server 24.04

Just want to start this article by saying I’m definitely not a Linux expert. I had to find this information online, piecing together a few different sources and testing a Lot to get it to work. I did notice through my searching that there isn’t a document out there that has everything that I want to do all in one place so that’s why I’m publishing this article. These steps are by no means the only way to do this however I did find them to be the easiest and most consistent to applying a static IP address to a new network device.

Ok now for my deployment. I utilize two different physical networks on my lab. The primary is my Unifi network hardware that carries all of my data VLANs. This network is just 1Gbps networking due to cost and configurability. I have a separate MikroTik 10Gbps Switch that is designated solely for my storage network. At first I was only running iSCSI over it but now I’m testing NFS Shares.

I needed a way to first pass this 10Gbps network to Proxmox for storage and then pass it down to the server virtual machine operating system level. This is the walkthrough I came up with to do that.

In this article, I’m going to cover adding a Linux Bridge to Proxmox, then go over adding a Network Device to your Linux Server in Proxmox, and close with configuring a Static IP Address inside your Ubuntu operating system.

(Those here following my August Theme of Migrating your Docker Volumes to NFS Shares, welcome back. This part is optional to your setup, I am doing this because I have the 10Gbps storage network. You could also just run this over the main interface for your server if your storage is accessible there instead.)


Adding Linux Bridge to Proxmox

(Note: This section is a little outside the scope of this article however I don’t have a walkthrough yet on setting up a secondary Linux bridge on Proxmox…yet. Once I create one, I’ll update this article with a link but until then, I’m including the information here for anyone following along for my Docker NFS Volume Migration theme.)

The first thing I want to go over is adding a second Linux Bridge to your Proxmox host. This is an optional step, you could just run it on the same network you use for server traffic or add another Network Device to your VM on a different VLAN if you have that setup.

Login to your Proxmox management and navigate to your Host. Then click go to “System > Network” in the main panel. Then click on “Create” at the top and click on “Linux Bridge”.

You can name the bridge if you want, I leave it with the default name. Then enter an IPv4/CIDR address and subnet if you want your host to communicate on the network. This isn’t required if you just wish for your servers to communicate on the network. Then enter the physical port you want to bind to the bridge under “Bridge ports”. When you are ready, click “Create” to build the configuration for the bridge.

This doesn’t create the network right away, you will notice back on the main panel that you will have “Pending change” listed with the configuration needed to apply the network. Once you are ready to apply it, click the “Apply Configuration” at the top of the main panel.

Once you apply it, you should be good to use the bridge and attach it to your servers.


Adding a Virtual Network Device to your Linux Server

Once you identify the server you want to add a secondary NIC (network interface controller), click on the “Hardware” section on the main panel. Then click “Add” at the top and select “Network Device”.

In the Bridge dropdown, select the Linux bridge you want to use. If you are following me, this will be the one we just created called “vmbr1”. If you need to specify a VLAN for this network, you can do that under the “VLAN Tag”. Once you are good with your settings, click the “Add” button.

As long as you have the QEMU Guest Agent installed and enabled, it should add the network device right away and you don’t have to restart the server, it will just be activated and you will see it in the list of Hardware for the server.

That’s it for the Proxmox configuration. Next we will login to our virtual machine and configure Ubuntu to use the new network device.


Configure a Static IP Address inside Virtual Machine

Now you need to login to your server. SSH should work fine since we aren’t manipulating the main network address.

First thing we need to do is identify the name your server OS gave the new network device. The easiest way to do this is by entering this command:

ip a

Once you execute that command, you should see all the network interfaces available on the server. You want to find the new device in the list. Easiest way is to identify your main network device and it should be next in line. My main network interface is “ens18” and the new interface is “ens19”. This could vary system to system.

Enter the following command to edit the configuration file. As you enter the command, the name of the file could be different so the best way to find it is to enter this command and hit Tab on your keyboard to autofill the file name.

sudo nano /etc/netplan/

Mine is “50-cloud-init.yaml” on Ubuntu 24.04. I have also seen “00-installer-config.yaml”. It depends on your system.

In this file, you should see the configuration for your primary network device that is already configured on your server, that is how you will know you are in the right spot. You want to add the new network device we just found followed by the IP address you want to assign to it and a route statement so it knows where to direct traffic. Here is an example of my file:

network:
    ethernets:
        ens18:
            addresses:
            - 172.16.20.69/24
            nameservers:
                addresses:
                - 172.16.20.24
                - 172.16.20.25
                search:
                - chns.local
            routes:
            -   to: default
                via: 172.16.20.1
        ens19:
            addresses:
            - 172.16.21.69/24
            routes:
            -  to: 172.16.21.0/24
               via: 172.16.21.69
    version: 2

This is what the file should look like when it’s all done. Make sure you get your tabs and spaces correct otherwise it will throw and error when you go to apply it.

Once you have your setting entered, press “Ctrl + X” on your keyboard to exit. Then press “Y” to save the settings. Followed by “Enter” to confirm you want to save it to that same file.

Finally, all we need to do now is apply the configuration to the interfaces. Enter the following command to set the configuration:

sudo netplan apply

This could take a few seconds to apply but assuming everything is configured correctly, you should be returned to the prompt with no errors.

Now if you do the “ip a” command, you should see your IP address applied to that new interface.

You should also be able to do a ping test against any IP address already active on that new network and get a response.


Hopefully this helps those of you out there like me that aren’t Linux experts searching for how to do this. Side note…this can also be used to update your main IP address, gateway and DNS settings since that can also be challenging.

Special thanks to the YouTube channel KeepItTechie and his video on How to Set Static IP in Ubuntu Server 22.04. It was definitely the main help behind figuring this out and getting it to work.

Let me know in the comments below if this helped or you need help or have anything different you would add/change.

Related Posts

Upgrade Ubuntu Server 22.04 LTS to 24.04 LTS

Most of the time, my Ubuntu Servers are running Docker so when a new release comes out, it’s usually easier and cleaner to just build a brand…

Install Ubuntu Server 24.04 LTS

With the recent release of Ubuntu Server 24.04 LTS, I thought I’d get a jump on my walk through for installation since I’m currently building out new…

Install Ubuntu Server 23.10

As I said in my Install Ubuntu Server 22.04 LTS walk through, Ubuntu Server is my Linux server platform of choice. I know not everyone agrees with…

Things I do after installing Ubuntu Server

This will be a basic configuration tutorial on the steps I take after doing a clean install of Ubuntu Server. This could be on a physical PC,…

Installing Ubuntu Server 22.04.1 LTS on a Raspberry Pi 4

Installation First, we need to download the “Raspberry Pi Imager” and install it on the PC you are using to set everything up and manage your systems….

Automatically Mount a Windows Share on a Linux Server

On my network, I prefer to us Windows File Servers when sharing any files because of my use of it in the past as part of my…

Leave a Reply

Your email address will not be published. Required fields are marked *