Setting Up Proxmox for SFP+ not a guide but what I did to get it working

This was interesting, I bought a cheap and nasty switch, because it had 2 SFP+ ports on it, and I have a TrueNAS running a couple of Virtual Machines and I wanted to move them over (nto in any real sense, I mean make them on Prox and just delete from TrueNAS) to a ProxMox box that had SSD - I thought it would make my life easier.

Both have 10gb NICs for SFP+ using DAC cables - one is a Chelsio 520 the other is an Intel 520, both good cards both work fine.

So, I plug in TrueNAS.

No problem at all, automatically configures, I have 10gb connection on the NAS.

Proxmox - not so much.

These are the things I did that got it to work - I am going to omit the 37 other things I did that didn’t work - this wasn’t a case of - I knew what I was doing and it was easy, it was a lot of trial and error - but once you know, it isn’t that difficult.

Type in:

ip address

This should show your network cards - they are not easy to spot, because they have really bad names. Like enp3s0 - great - which one is that exactly?

For me, I was able to identify what I needed because 1 entry had f0 and f1 - and there are two ports on the Intel card. I was also able to identify my onboard Ethernet - because Proxmox was assigning an IP to it - even though it wasn’t plugged in.

So to fix that:

cd /etc/network/

nano interfaces

Here I typed in an entry that mirrored the ethernet entry that already existed, just using the ethernet that ended in f1 - as that was the port I was plugged into.

I then used the # to comment out the on board ethernet.

Then again:

ip address

Both my cards had a state that was DOWN.

So I did:

ip link set <ethernet port> up

This brought up my port, but it didn’t assign anything, even though I had assigned it the same IP that proxmox needs in the interfaces file.

I then ran the command:

dhclient -v <ethernet port>

This assigned a random IP to Proxmox - Proxmox doesn’t work with Random IP addresses - but I needed to be able to find it on my Router, so that I could then assign it the proper IP address, as a static IP - my Router relies on the mac address.

I then went to my router, and set a fixed IP address that matched the IP address that Proxmox wanted.

I then restarted the machine - went through the IP LINK SET process above again, because it was down again, and then did:

dhclient -v <ethernet port>

This called to my Router, that recognised the static IP that Proxmox wanted and assigned it that IP address.

I now have 10gb SFP+ connection on Proxmox.

Just in case anyone encounters this, I couldn’t really find a proper write up anywhere I looked, so instead opted for “fixing” a broken ethernet port that wasn’t working.

If someone knows an easier way to do this? I could be I suppose write a start up script that does this, there are now a few annoying things I have to do at start up in various places that I have been thinking about just writing a script to do - but if there is an alternative, I am always good with the lazier way.

do you want your proxmox sfp+ port to use DHCP or do you want it to be static? either is possible but DHCP requires a reservation on your DHCP server/router.

if you cannot get to the proxmox gui (i assume this is the initial issue) just make settings changes for the network in your /etc/network/interfaces file using the nano editor.

then also update the ip address line in the /etc/hosts file again using nano.

after all that it is easiest just to reboot the server. ‘systemctl restart network’ will work in a pinch.

also, if you are going to use the SFP+ port for the VM bridge, don’t forget to build it.

the enp33s0f0 is a SFP+ nic with VLAN support enabled in this example. leave out the VLAN stuff if you don’t need it.

  GNU nano 5.4                                               /etc/network/interfaces
auto lo
iface lo inet loopback

iface eno1 inet manual

iface enp33s0f0 inet manual

iface enp33s0f1 inet manual

iface eno2 inet manual


auto vmbr0
iface vmbr0 inet static
       address 192.168.1.220
       netmask 255.255.255.0
       gateway 192.168.1.254
        bridge_ports enp33s0f0
        bridge_stp off
        bridge_fd 0
        bridge-vlan-aware yes
        bridge-vids 10-100

  GNU nano 5.4                                                      /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.1.220 serverminion.subliminal.local serverminion pvelocalhost

you will need to block out the address from whatever is doing DHCP on your network if you do it fully static also. so either way you need to account for that.

1 Like

I can help with the first inconvenience:

The first number denotes the PCIe slot. Cross reference with the output from
lspci to find your card.

1 Like

When I first read your post - I wasn’t all that clear about what you were saying - but I finally got around to actually starting a VM - I had been busy with other stuff…and it failed.

Google on a merry-go-round - eventually brought me back to your post (from that searching I think I gained an understanding of what you meant).

So implementing what you kindly provided fixed the issue I had with the pve-bridge being down and being unable to start a VM.

So kudos for posting that!

https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/

https://wiki.debian.org/NetworkConfiguration


In case you’re looking for references to naming and interface files.

BTW you can also rename things if you like.

Here is how I solved my issue losing GUI access
youtu.be/jxW2it3v8Ps