Proxmox: How to Switch From Onboard NIC to PCI NIC

Sabrina

March 7, 2026

Proxmox

If you’ve been running Proxmox on your server for a while, you might reach a point where your onboard NIC just isn’t cutting it anymore. Maybe it’s causing stability issues, you want better throughput, or you’re adding a 10GbE card. Whatever the reason, figuring out how to switch from onboard NIC to PCI NIC in Proxmox without losing your network access can feel nerve-wracking — especially if it’s a production machine.

The good news? It’s very doable. You just need to plan carefully and follow the right steps. Let’s walk through the whole process together.

Why You Might Want to Switch NICs in Proxmox

Before diving into the steps, it helps to understand why people make this switch in the first place.

Onboard NICs are fine for basic setups, but they often share system resources, lack advanced features, and can be a bottleneck when you’re running multiple VMs or containers with heavy network traffic. A dedicated PCI or PCIe NIC, on the other hand, typically offers:

  • Better throughput and lower latency
  • Dedicated hardware offloading (like checksum and TSO)
  • More reliable drivers, especially with Intel NICs
  • The ability to pass the card directly to a VM via PCIe passthrough

If you’re building a serious home lab or a small production cluster, upgrading your NIC is a smart move.

What You Need Before You Start

Don’t skip the prep work. Rushing into this without a plan is how you end up locked out of your server at midnight.

Here’s what to gather first:

  • Physical or iDRAC/IPMI access to the server (this is critical)
  • The exact PCI NIC model and its Linux driver name
  • A second machine or phone to access the Proxmox web UI or SSH
  • A notepad for your current network config (IP, gateway, bridge names)
  • A backup of your Proxmox configuration if possible

You should also check that Linux recognizes your new card. Plug it in, boot up, and run:

bash
lspci | grep -i ethernet

You should see both your onboard NIC and the new PCI NIC listed. If the new card doesn’t show up, it may need a driver or it might not be seated properly.

How to Switch From Onboard NIC to PCI NIC in Proxmox

This is the core process. Take your time with each step.

Step 1 — Identify Your Current Network Configuration

SSH into your Proxmox host and run:

bash
cat /etc/network/interfaces
```

Write down everything. Your output will look something like this:
```
auto lo
iface lo inet loopback

auto eno1
iface eno1 inet manual

auto vmbr0
iface vmbr0 inet static
    address 192.168.1.50/24
    gateway 192.168.1.1
    bridge-ports eno1
    bridge-stp off
    bridge-fd 0

Here, eno1 is the onboard NIC and vmbr0 is the Linux bridge your VMs use. You need to replace eno1 with your new PCI NIC’s interface name.

Step 2 — Find Your New NIC’s Interface Name

Run the following command to list all network interfaces:

bash
ip link show

Or use:

bash
ls /sys/class/net/

Your new PCI NIC will typically show up as something like enp3s0, enp6s0, or eth1, depending on your system and slot. If you’re not sure which is which, check the MAC address or use:

bash
ethtool enp3s0

This tells you the link speed and connection status of that interface.

Step 3 — Edit the Network Interfaces File

Now, carefully edit /etc/network/interfaces. You’re going to swap out the old NIC name for the new one.

bash
nano /etc/network/interfaces
```

Change this line inside the `vmbr0` block:
```
bridge-ports eno1
```

To:
```
bridge-ports enp3s0
```

Also update or remove the `auto eno1` and `iface eno1` lines, replacing them with your new interface:
```
auto enp3s0
iface enp3s0 inet manual

Save the file when you’re done.

Step 4 — Apply the New Configuration

Here’s where things get a little tense. Before you restart networking, make absolutely sure you have console access (iDRAC, IPMI, or a physical monitor and keyboard). If the new NIC doesn’t come up correctly, you’ll need it.

Apply the new config with:

bash
systemctl restart networking

Or if you want to be more surgical:

bash
ifdown vmbr0 && ifup vmbr0

After a few seconds, your Proxmox host should come back online using the new PCI NIC.

Step 5 — Verify the Connection

Ping your gateway to confirm everything is working:

bash
ping -c 4 192.168.1.1

Also check that vmbr0 is properly bridged to your new NIC:

bash
brctl show

You should see enp3s0 listed under vmbr0. If you do — great, you’re done with the hard part.

Pros and Cons of Switching to a PCI NIC in Proxmox

Like any infrastructure change, this move has trade-offs worth considering.

Pros:

  • Improved network performance and stability
  • Better driver support (especially Intel i350 or X550 cards)
  • Enables PCIe passthrough for VMs that need direct NIC access
  • Frees up onboard NIC for dedicated management traffic
  • Often supports hardware offloading features

Cons:

  • Requires physical server access during transition
  • Risk of losing network access if misconfigured
  • Additional cost for the NIC hardware
  • May require driver installation for less common cards
  • BIOS/UEFI settings sometimes need adjusting for slot priority

Common Mistakes to Avoid

A lot of people run into the same handful of problems when doing this. Here’s what to watch out for:

Not having console access ready. This is the number one mistake. If networking drops and you can’t reach the machine remotely, you’re stuck — unless you’ve got a backup access method.

Getting the interface name wrong. Double-check with ip link show before editing any config files. One typo and your bridge won’t come up.

Forgetting to update all references. If you use OVS (Open vSwitch) or have multiple bridges, make sure every reference to the old NIC name is updated.

Not disabling the onboard NIC in BIOS. If both NICs are active, you might get routing confusion. Once your PCI NIC is working, consider disabling the onboard one in your server’s BIOS/UEFI.

Skipping a reboot test. Always reboot after the change to make sure the new config persists correctly. A reboot is the real test.

Best Practices for a Smooth NIC Migration

Follow these habits and the switch becomes much less stressful:

  • Always snapshot or back up your config first. Copy /etc/network/interfaces to a safe location before touching it.
  • Do this during a maintenance window. Don’t change network config on a live production machine during business hours.
  • Use IPMI or iDRAC as a fallback. Out-of-band management is worth its weight in gold for exactly these situations.
  • Test the new NIC before cutting over. Bring it up temporarily as a secondary interface and ping through it before making it the primary.
  • Label your NICs. Use udev rules or interface aliases to give your NICs stable, meaningful names that won’t change across reboots.

Conclusion

Switching from an onboard NIC to a PCI NIC in Proxmox isn’t complicated, but it does require careful preparation. The biggest risk is losing remote access mid-migration, which is why having console access ready is non-negotiable. Follow the steps outlined here — identify your current config, find the new interface name, update /etc/network/interfaces, and verify the bridge — and you’ll have a smooth transition with minimal downtime.

Once you’re running on a proper PCIe NIC, you’ll likely notice better stability and performance, especially under heavy VM workloads. It’s a worthwhile upgrade for any serious Proxmox setup.

Frequently Asked Questions

1. Will switching NICs delete my VMs or storage in Proxmox?

No. Changing the network interface only affects connectivity. Your VMs, containers, and storage remain completely untouched.

2. What’s the best NIC for Proxmox?

Intel-based NICs are generally recommended because of their mature Linux driver support. The Intel i350-T4 and X550-T2 are popular choices in home labs and small servers.

3. Can I keep the onboard NIC active for management after switching?

Absolutely. Many admins dedicate the onboard NIC to management traffic (accessing the Proxmox UI) and use the PCI NIC purely for VM traffic. You’d just configure separate bridges for each.

4. Do I need to reinstall Proxmox after adding a new NIC?

No reinstall needed. Proxmox runs on Debian Linux, so it picks up new NICs automatically. You only need to configure the interface manually in /etc/network/interfaces.

5. What if my new NIC doesn’t have a driver in Proxmox?

Check the card’s chipset and search for the Linux driver name. You may need to install it via apt or compile it from source. Intel and Broadcom cards usually work out of the box, while some newer or budget cards may need extra steps.