Hi everyone! I decided to create separate themed topics for the tasks I’m facing and share how I solve them. In this article we’ll figure out how to connect a Proxmox 8 server to a Wi-Fi network using the wpa_supplicant and wireless-tools packages.
Right now I have the server connected by a cable run through half an apartment — otherwise there’s no way to access or configure it. And given that I bought a Wi-Fi adapter in a PCIe slot, it would be silly not to use it. So, let’s set up Wi‑Fi on Proxmox 8 — it’s not hard.
Installing packages for working with Wi‑Fi
First of all, we need to install two packages.
Package wpasupplicant
The wpasupplicant package is a tool for connecting to secured Wi‑Fi networks using the WPA/WPA2 protocol. It provides commands and utilities that allow your device to automatically authenticate and establish a secure connection with a Wi‑Fi access point that uses WPA or WPA2 encryption.
When you install the wpasupplicant package, you gain access to the following capabilities:
-
Connecting to secured Wi‑Fi networks. The package offers commands such as
wpa_supplicantthat allow you to connect to a Wi‑Fi network that requires WPA/WPA2 authentication. You can configure connection parameters such as SSID (network name), password, and encryption type. -
Managing Wi‑Fi settings. The package also provides utilities that let you manage Wi‑Fi settings: scan available networks, disconnect and connect to a specific network, etc. This is useful if you want to set up automatic connection to a particular network or change your connection settings.
In short, installing the wpasupplicant package is necessary if you plan to connect to secured Wi‑Fi networks with WPA/WPA2 encryption. Install:
apt-get install -y wpasupplicant
Package wireless-tools
The wireless-tools package provides various utilities for managing wireless networks in Linux. When you install this package, you gain access to the following capabilities:
-
Managing wireless interfaces. Wireless-tools provides the
iwconfigutility, which lets you view and configure wireless interface parameters such as signal strength, frequency, transmitter power, and more. -
Scanning wireless networks. Using the
iwlistutility, you can scan available wireless networks, getting information about the network — SSID, signal strength, encryption type, etc. This is useful if you want to find available networks or check signal quality. -
Configuring wireless networks. Wireless-tools also provides the
iwprivutility, which lets you configure additional wireless network parameters such as operation mode, MAC address filtering, and others. -
Managing connections. The
iwconfigutility lets you establish and manage a Wi‑Fi connection: connect to a network, disconnect, and configure connection parameters.
Overall, installing wireless-tools is useful if you plan to work with wireless networks in Linux. It provides convenient tools for managing wireless interfaces, scanning networks, and configuring connection parameters. Install:
apt-get install wireless-tools
Determining the Wi‑Fi interface
We’ll learn the network configuration — for this, run:
iwconfig
We’ll get a result like this:
Full output of the iwconfig command
root@openode:~# iwconfig
lo no wireless extensions.
enp8s0 no wireless extensions.
enp9s0 no wireless extensions.
enp12s0 no wireless extensions.
wls6 IEEE 802.11 ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=-2147483648 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
vmbr0 no wireless extensions.
tap100i0 no wireless extensions.
docker0 no wireless extensions.
br-49e5b2a6e981 no wireless extensions.
veth990e3c3 no wireless extensions.
vethad03e47 no wireless extensions.
br-ba8c03b9be06 no wireless extensions.
veth1b7e029 no wireless extensions.
From this we understand that we’re interested in the network interface wls6 (in my case).
Configuring network interfaces
Next, edit the file /etc/network/interfaces:
nano /etc/network/interfaces
Mine looks like this:
We see that there’s nothing about wls6 here. Let’s fix it: append the text below and comment out the unnecessary (modified) line:
auto wls6
iface wls6 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Setting up wpa_supplicant
Now edit the connection parameters file /etc/wpa_supplicant/wpa_supplicant.conf:
nano /etc/wpa_supplicant/wpa_supplicant.conf
Paste the following content, replacing the network name and password with yours:
country=RU
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="your ssid"
psk="your wifi password"
scan_ssid=1
}
Save the file, exit, and restart the service:
sudo systemctl restart networking
Checking the connection
Throw the command in the console: ip a and see that we managed to connect to Wi‑Fi:
Excellent!
Setting up automatic service startup
Enable the service to start automatically on reboot:
systemctl enable wpa_supplicant.service
You also need to run dhclient during startup to obtain a private IP address from your DHCP server. This can be achieved by creating a systemd service unit for dhclient:
nano /etc/systemd/system/dhclient.service
Paste the following code, making sure to replace the interface:
/etc/systemd/system/dhclient.service *
[Unit]
Description= DHCP Client
Before=network.target
After=wpa_supplicant.service
[Service]
Type=forking
ExecStart=/sbin/dhclient wls6 -v
ExecStop=/sbin/dhclient wls6 -r
Restart=always
[Install]
WantedBy=multi-user.target
Now restart the service:
systemctl restart wpa_supplicant.service
And restart the network again:
systemctl restart networking
Now the web interface is accessible at: 192.168.1.162:8006.
Configuring the network bridge
But that’s not all yet. For all settings to be correct, we need to go into the network settings:
And specify in the network bridge ports the interface wls6.
To apply the changes, you need to reboot our node, i.e., the server. The node is called a single machine because we can assemble several servers in one network into a cluster.
The required button is at the top when the node is active:

An unresolved issue
But now, if you disconnect the wired network, you lose access… It seems the Wi‑Fi network doesn’t stay connected. I haven’t been able to solve this yet
Even though I reconfigured the bridge and left only the gateways for Wi‑Fi…
If someone has faced something similar — please share ![]()
UPD: the probable cause is the lack of drivers for my network card TP-Link T5E: Linux support is missing ![]()
The article was first published on 11.07.2023 on openode.xyz; migrated and updated on 04.08.2026.



