Привет всем,

Столкнулся с такой достаточно интересной задачей в своей лабораторной песочнице.

На днях у меня появился небольшой компьютер Lenovo Thinkcente M700, на который в свою очередь я задумал поставить proxmox. Далее подключить к внешнему провайдеру ну и прикрутить белый IP.

proxmox-wifi-schemes.png (Примерная схема)

Так вот, у этого бедолаги на борту имеется всего 1 ethernet порт, и wlan интерфейс. Исходя из моей задумки ethernet порт я хочу заюзать под wan-интерфейс на виртуальном роутере. А менеджить сам сервер, при первичной настройке буду через wifi. До тех пор, пока не подниту там VPN.

Задача на сегодня показать, как можно настроить wifi на proxmox.

У меня имеется свежеустановленная система, хост имеет доступ в интернет через локальную сетку.

Подключаемся к хоступ по ssh, и ставим пакеты:

root@prx01:~# apt install wireless-tools wpasupplicant

Далее создаем генерим новый конфиг для подключения к wifi-сети:

root@prx01:~# wpa_passphrase Name_of_wifi Password_wifi | tee -a /etc/wpa_supplicant/wpa_supplicant.conf

Проверить корректность подключения к wifi-сети можно командой:

root@prx01:~# wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlp2s0
--
Successfully initialized wpa_supplicant
wlp2s0: CTRL-EVENT-REGDOM-CHANGE init=DRIVER type=WORLD
wlp2s0: SME: Trying to authenticate with 90:9a:4a:54:18:4e (SSID='HomeWireless' freq=2412 MHz)
wlp2s0: Trying to associate with 90:9a:4a:54:18:4e (SSID='HomeWireless' freq=2412 MHz)
wlp2s0: Associated with 90:9a:4a:54:18:4e
wlp2s0: CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
wlp2s0: WPA: Key negotiation completed with 90:9a:4a:54:18:4e [PTK=CCMP GTK=CCMP]
wlp2s0: CTRL-EVENT-CONNECTED - Connection to 90:9a:4a:54:18:4e completed [id=0 id_str=]

При завершении этой команды, подключение отвалится.

Что бы этого избежать, нужно запустить supplicant в режиме демона, используя ключик -B:

root@prx01:~# wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlp2s0 -B

Теперь остается только получить новый ip-адресс, для этого запустим dhcp клиент:

root@prx01:~# dhclient wlp2s0 -v
---
....
bound to 192.168.173.182 -- renewal in 3263 seconds.

Смотрим настройки интерфейса:

3: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether e4:b3:18:65:67:9c brd ff:ff:ff:ff:ff:ff
    inet 192.168.173.182/24 brd 192.168.173.255 scope global dynamic wlp2s0
       valid_lft 7196sec preferred_lft 7196sec
    inet6 fe80::e6b3:18ff:fe65:679c/64 scope link
       valid_lft forever preferred_lft forever

Теперь можем попробовать подключиться к UI: proxmox-wifi-example.png

Отлично задачка решена, но есть нюансы. После того, как я отвяжу основной интерфейс при последующей перезагрузке устройства у меня все слетит и нужно будет по новой воспроизвести команды:

# Авторизация wifi
wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlp2s0 -B

# Получение IP
dhclient wlp2s0 -v

Можно сделать перманентное подключение, но для моих целей это не нужно.

В итоге, я подключаюсь к хосту и конфигурю его через wifi. А основной ethernet-порт привязываю к виртуальному пограничному роутеру.