Tutorials 10 min read

Upgrade Your Homelab to 10 GbE in 2026: Complete Guide

Moving your homelab to 10 GbE in 2026: a direct SFP+ DAC link between two Intel X710-DA2 cards, the i40e driver, Netplan, jumbo frames and iperf3 testing. Why the TL-SG108-M2 stays limited to 2.5 GbE.

See our picks
S By Selfhostr Team · no sponsored content
Upgrade Your Homelab to 10 GbE in 2026: Complete Guide
ⓘ ⓘ This article may contain affiliate links (no extra cost to you, it funds the site). As an Amazon Associate, Selfhostr earns from qualifying purchases. See the disclosure.
⏱️
~45 min
Duration
🎚️
Intermediate
Difficulty
💶
Starting at 0 € (free software)
Cost
📦
10 GbE compatible network cards and switch
Key Prerequisites

👍 What we like

  • ✓10 GbE link between two machines without an SFP+ switch
  • ✓i40e driver already included in the Linux kernel
  • ✓Reversible, verifiable configuration with netplan try
  • ✓The TL-SG108-M2 remains useful for the 2.5 GbE LAN

👎 What to watch

  • ✕The TL-SG108-M2 does not support 10 GbE and cannot connect to the X710-DA2
  • ✕A direct link only connects two machines; beyond that you need a switch with SFP+ ports
  • ✕Some X710 cards reject unqualified DAC cables or modules
  • ✕Each machine needs a free PCIe x8 slot

🏆 Our picks

Affiliate links · same price for you
Recommended
📦

Intel X710-DA2

Voir sur Amazon

Amazon · price and availability on the listing

Essential
📦

TP-Link TL-SG108-M2

Voir sur Amazon

Amazon · price and availability on the listing

See all our recommended gear in the shop.

📑 Contents ▾

Moving a homelab to 10 GbE is entirely possible in 2026, but not with just any hardware. One point needs clearing up first. The TP-Link TL-SG108-M2 is an unmanaged switch. It has 8 RJ45 ports running at 100 Mb/s, 1 Gb/s and 2.5 Gb/s, with no SFP+ port, no 10 GbE link and no web interface. The Intel X710-DA2 is a PCIe 3.0 x8 card that only has two 10 Gb/s SFP+ cages. These two products cannot build a 10 GbE network together: the card does not plug into this switch.

This guide follows the simplest and most reliable approach for a homelab: a direct point-to-point 10 GbE link. Two machines, each with an X710-DA2, are connected by an SFP+ DAC cable and use a dedicated subnet, for example between a hypervisor and a NAS. The TL-SG108-M2 keeps its role as a 2.5 GbE switch for the rest of the local network. If you later want to connect more than two machines at 10 GbE, you will need a switch with SFP+ ports; the Linux configuration described here stays the same.

Prerequisites

  • Two machines running Ubuntu 24.04 LTS (or a recent distribution that uses Netplan), each with a free PCIe slot, ideally wired as x8. The X710-DA2 is a low-profile PCIe 3.0 x8 card.
  • Two Intel X710-DA2 cards (one per machine).
  • One SFP+ DAC cable (twinax). No cable comes with the products mentioned. Intel states that passive or active “limiting” DACs compliant with SFF-8431 v4.1 and SFF-8472 v10.4 should be compatible. However, some 700 Series cards only accept qualified modules, so check the compatibility list for your card (especially if it is an OEM Dell, HPE, etc. card).
  • Console or SSH access from the local network on each machine, with an account that has sudo rights.
  • For the rest of the LAN: the TL-SG108-M2 switch, used only for the 1 or 2.5 GbE RJ45 ports.

Step-by-step installation

Step 1: Install the card and check that it is detected

Shut down the machine, unplug it, then install the X710-DA2 in an x8 (or wider) PCIe slot. After booting, check that the system sees the card and which PCIe link width it negotiated:

lspci -nn | grep -i ethernet
# Find the "Ethernet Controller X710 for 10GbE SFP+" line and its address, e.g. 01:00.0
sudo lspci -vv -s 01:00.0 | grep -E 'LnkCap|LnkSta'

Check: the LnkSta line should show the same width as LnkCap (Width x8). If it shows x4 or x1, the card is in a slot that limits its throughput: move it to another slot.

Step 2: Check the i40e driver (nothing to install)

The X710 uses the i40e driver, which is part of the Linux kernel and ships with Ubuntu 24.04. There is no proprietary .deb package to install. Check that the module is loaded and which interfaces it created:

lsmod | grep i40e
ip -br link
sudo apt update && sudo apt install -y ethtool
sudo ethtool -i enp1s0f0   # replace with the name shown by "ip -br link"

Check: ethtool -i should show driver: i40e along with the card’s firmware versions. Interface names (enp1s0f0, enp1s0f1…) depend on the machine, so note yours. If you plan to update the firmware (NVM), only use Intel’s official tool or the card vendor’s tool, following the documentation for your model.

Step 3: Connect the DAC cable between the two cards

Connect the SFP+ DAC between one port of the X710 in machine A and one port of the X710 in machine B. Do not try to connect the card to the TL-SG108-M2: it has no SFP+ cage. Then check that the link comes up:

sudo ip link set enp1s0f0 up
sudo ethtool enp1s0f0 | grep -E 'Speed|Duplex|Link detected'
sudo dmesg | grep -i i40e | tail -n 20

Check: you should see Speed: 10000Mb/s, Duplex: Full and Link detected: yes. If dmesg reports “unqualified module” or “unsupported SFP+ module type”, the card is rejecting the cable: see the Troubleshooting section.

Step 4: Configure the 10 GbE interface with Netplan

On each machine, create a separate Netplan file for the 10 GbE link. Leave the existing file that configures the LAN interface alone (often 50-cloud-init.yaml or 01-netcfg.yaml). The interface is matched by its MAC address, which the Netplan documentation recommends for the MTU setting to work reliably. You can get the MAC from ip -br link.

The point-to-point link declares no gateway and no DNS: the default route stays on the LAN. The gateway4 key is deprecated anyway; if you need a gateway, use routes: with to: default.

sudo nano /etc/netplan/60-lien-10g.yaml
# Machine A (on machine B: address 10.10.10.2/30 and its own MAC)
network:
  version: 2
  ethernets:
    lan10g:
      match:
        macaddress: "aa:bb:cc:dd:ee:01"
      set-name: lan10g
      mtu: 9000
      addresses:
        - 10.10.10.1/30
sudo chmod 600 /etc/netplan/60-lien-10g.yaml
sudo netplan generate
sudo netplan try    # automatically reverts after 120 s unless you confirm

If you don’t want to use jumbo frames, remove the mtu: 9000 line. The maximum MTU supported by i40e is 9702; whatever value you choose, it must be identical on both ends. If the 10.10.10.0/30 subnet is already in use on your network, pick another one.

Check:

ip -br addr show lan10g
ip link show lan10g | grep -o 'mtu [0-9]*'
ip route get 10.10.10.2      # should show "dev lan10g"

First check that the two machines can reach each other and that jumbo frames pass without fragmentation. 8972 bytes of payload + 28 bytes of IP/ICMP headers = 9000:

ping -c 4 10.10.10.2
ping -c 4 -M do -s 8972 10.10.10.2   # only if MTU is 9000 on both sides

Install iperf3 on both machines. If the installer asks whether to run iperf3 as a service, answer “No”: the server only runs during the test.

sudo apt install -y iperf3

On machine A (server), listen only on the 10 GbE address. The -1 option makes the server exit after a single test (TCP port 5201 by default):

iperf3 -s -B 10.10.10.1 -1

On machine B (client):

iperf3 -c 10.10.10.1 -t 30 -P 4      # B to A, 4 parallel streams

Start iperf3 -s -B 10.10.10.1 -1 on A again, then test the reverse direction from B:

iperf3 -c 10.10.10.1 -t 30 -P 4 -R   # A to B

Check: the [SUM] line in the output gives the aggregate throughput. Actual throughput depends on the CPUs, the PCIe slot and the MTU. Compare it with the same test over your LAN link: if the result stays at 1 or 2.5 GbE levels, the traffic is not going through lan10g. In that case, check ip route get and the -B option.

Step 6: Keep the TL-SG108-M2 for the 2.5 GbE LAN

The TL-SG108-M2 is plug-and-play: it has no web interface and nothing to configure. Connect the machines’ built-in RJ45 ports (ideally 2.5 GbE ports) and your ISP router or router to it. The 10 GbE link handles large transfers between A and B (backups, NFS or iSCSI storage for a hypervisor), and the switch serves everything else.

sudo ethtool eno1 | grep -E 'Speed|Link detected'   # replace eno1 with your LAN interface

Check: Speed: 2500Mb/s if the machine’s NIC and the cable (Cat 5e or better) support 2.5 GbE, otherwise 1000Mb/s.

Verification checks

ip -br addr                       # lan10g UP with 10.10.10.x/30
sudo ethtool lan10g | grep Speed  # 10000Mb/s
ip route                          # the default route does NOT use lan10g
sudo journalctl -k -b | grep -i i40e   # no module or link errors

Then reboot one of the machines and run these checks again to confirm that the Netplan configuration is applied at boot.

Security and best practices

  • Keep the 10 GbE link private. It has no gateway and must not be routed to the Internet. Make the services that use it (NFS, SMB, iSCSI) listen only on 10.10.10.x, and never expose SMB, SSH, the Docker socket or an admin interface to the Internet.
  • Firewall without locking yourself out. With UFW, allow SSH before enabling the firewall:
sudo ufw allow from 192.168.1.0/24 to any port 22 proto tcp   # adapt to your LAN subnet
sudo ufw allow in on lan10g from 10.10.10.0/30
sudo ufw enable
sudo ufw status verbose
  • Test network changes with netplan try so they roll back automatically, especially when working remotely.
  • Don’t leave iperf3 running as a permanent service: the -1 option stops the server after the test.
  • Keep the system updated (sudo apt update && sudo apt upgrade), which includes kernel fixes and therefore fixes to the i40e driver.

Troubleshooting common errors

  • Symptom: no link, and dmesg shows “unqualified module” or “Rx/Tx is disabled… unsupported SFP+ module type”. Cause: the card does not accept the DAC cable or module. Fix: use an SFF-8431/SFF-8472-compliant DAC that is on the compatibility list from Intel or your card’s vendor (watch out for OEM cards).
  • Symptom: ethtool shows Speed: 1000Mb/s. Cause: a 1 GbE SFP module is plugged in instead of a DAC or 10 GbE module. Fix: replace it with a 10 GbE SFP+ cable or module on both ends.
  • Symptom: a normal ping works, but ping -M do -s 8972 fails and transfers stall. Cause: the MTU is not the same on both sides. Fix: set the same mtu: value in both Netplan files, or go back to 1500.
  • Symptom: disappointing iperf3 throughput. Cause: a single stream, a limited PCIe slot (LnkSta lower than LnkCap), a saturated CPU or traffic going over the LAN. Fix: use -P 4, and check lspci -vv, top and ip route get.
  • Symptom: the interface doesn’t get its address after a reboot. Cause: the MAC was copied incorrectly or the YAML is badly indented. Fix: run sudo netplan generate, which reports errors, and compare the MAC with ip -br link.

FAQ

No. The X710-DA2 only has SFP+ cages, and the TL-SG108-M2 only has RJ45 ports limited to 2.5 Gb/s. This switch will never do 10 GbE. To connect several machines at 10 GbE, you need a switch with SFP+ ports; with only two machines, the direct DAC link described here is enough.

Do I need to install a proprietary Intel driver?

No. The i40e driver is included in the Ubuntu 24.04 kernel. Intel also publishes out-of-tree driver releases, but they aren’t needed for homelab use.

Can an SFP+ to RJ45 module connect the X710 to the 2.5 GbE switch?

Don’t count on it. The X710 runs at 10 GbE (and 1 GbE with suitable modules), and compatibility with copper RJ45 modules and multi-gigabit speeds is not guaranteed. Check Intel’s documentation for your card before buying anything.

Are jumbo frames required?

No. They can reduce CPU load for large transfers, but the link works at MTU 1500. If you enable them, use the same value on each end.

Read also

Host this yourself

No hardware to manage? This kind of service runs on a managed VPS, ready in minutes. See PlanetHoster plans

Tags: homelab10gbenetworksguide

Related

Tutorials

Configure VLANs on a Manageable Switch in 2026: Isolate Your Network

Create 802.1Q VLANs on a managed UniFi Flex 2.5G switch, with per-VLAN routing, DHCP and filtering on OPNsense, then test isolation step by step.

Read
Tutorials

DIY PoE Camera Setup at Home in 2026: Comprehensive Guide

Discover how to install and wire PoE cameras for home security in 2026 using a network switch, RJ45 cables, and a local recording system. Follow this step-by-step tutorial to secure your property.

Read
Tutorials

Configure Dockge to manage your Docker containers in 2026

Learn how to install and configure Dockge, a lightweight and self-hosted Docker Compose stack manager, perfect for homelabs and self-hosting.

Read