Pull to refresh

Comments 16

То есть вы написали огромную статью, а как подключиться к wifi-сети так и не написали? )
Все хорошо, но сдается мне, что на станции без GUI NetworkManager — не нужен.

netplan и ip — практически все что нужно.
netplan — это нечто со странным синтаксисом, что используется в Ubuntu?
А зачем использовать дополнительные программы, если у вас наверняка в качестве init Systemd?
Создаем файл /etc/systemd/network/eth0.network, в нем пишем:
[Match]
Name=eth0

[Network]
DHCP=yes

Затем sudo systemctl restart systemd-networkd и мы получили адрес по DHCP на интерфейс, вот и все. Если дать команду networkctl, можно увидеть, какие из интерфейсов управляются systemd.
Полностью согласен — можно и без netplan обойтись.

Но речь то была в основном про то, что на терминал-онли машине NetworkManager — не нужен. Надеюсь по этому у вас возражений нет?
Есть ещё nmtui, да и netplan ваш не умеет в туннели, на кой он вообще нужен. Что на серверах: 4 интерфейса, 2 бондинга, линуксовые мосты, openvswitch мосты и подключения, vpnc, openconnect, openvpn, strongswan, ssh tunnel, pptp, sstp, fortisslvpn, wareguard, softether. Всем этим зоопарком подключений на серверах и рабочих станциях проще единообразно управлять.
Если у вас на сервере такой зоопарк, то ИМХО у вас что-то не правильно в архитектуре сети…

Не согласен!
"....NetworkManager — не нужен." — так правильно и GUI тут непричём.
Меня откровенно бомбит когда делают всякие надстроечки, причиндалинки, костылики и прочее что ломает стройную и правильную логику работы через CLI; поясню, я согласен на всякие GUI дела, которые не ломают логику работы через CLI. Ну то-есть если человек не любит CLI он может пользоваться GUI… мы же все разные, не все любят в черный (/зеленый) экран смотреть… и наоборот, если человеку удобней при установленом GUI пользоваться консолью — ок, пользуйся.
Но когда появляются какие-то "костыли" GUI которые влияют на работу в привычном CLI — я немного закипаю.
"NetworkManager" — классический тому пример.

Ага, вы не разобрались, так же и системд хейтите.
Статья понравилось, спасибо.
Есть какой-то универсальный способ узнать какой networking manager используется на машине?
Network Manager это название софта. Вы можете узнать его версию, запустив nmcli --version
«Синтаксис команд ncmli „
“$ nmcli »
«Help выдаёт справку о командах ncmcli и их использовании.»
«Secret регистрирует nmcli в качестве»

ну так вы с названием утилиты определились уже?

Вот никогда бы не подумал, что буду пользоваться nmcli, и как раз несколько дней назад на новом месте жительства обнаружилась нестабильнось WiFi у моего ноутбука. Короче, пока разбирался с этой проблемой, то решал пропадание соединения вот таким образом:


~$ ping -c 1 8.8.8.8 || { nmcli c d <ssid> && nmcli c u <ssid> }

(Здесь стоит упомянуть опущенный в статье нюанс, что nmcli, как утилита для реальных таких сетевиков, позволяет писать команды в сокращённом виде, т.е. c u|d = connection up|down.)


В итоге выяснилось, что Qualcomm Atheros QCA6174 на моём Dell XPS 13 9370 плохо работает на 5GHz в жаркую летнюю погоду. В тот момент я переключил соединение на 2.4 GHz через графический nm-connection-editor. А теперь смотрю, что мог бы использовать тот же nmcli (см. ниже). При этом очень приятно удивляет, что как в bash, так и в самом nmcli работает автодополнение по [TAB] как команд nmcli, так и названий соединения, параметров и т.п. Ну просто ваще удобно!


Короче, открыл для себя nmcli на практике. Спасибо! :)


# Реальные SSID'ы / UUID'ы заменёны на `<ssid>`, а нажатия Tab для автодополнения обозначены как `[TAB]`):
$ nmcli c e <ssid>

===| nmcli interactive connection editor |===

Editing existing '802-11-wireless' connection: '<ssid>'

Type 'help' or '?' for available commands.
Type 'print' to show all the connection properties.
Type 'describe [<setting>.<prop>]' for detailed property description.

You may edit the following settings: connection, 802-11-wireless (wifi), 802-11-wireless-security (wifi-sec), 802-1x, ethtool, match, ipv4, ipv6, tc, proxy
nmcli> s [TAB]
802-11-wireless-security (wifi-sec)  connection
802-11-wireless (wifi)               ethtool
802-1x    
nmcli> s wifi. [TAB]
band                       mode
bssid                      mtu
channel                    powersave
cloned-mac-address         rate
generate-mac-address-mask  seen-bssids
hidden                     ssid
mac-address                tx-power
mac-address-blacklist      wake-on-wlan
mac-address-randomization 
nmcli> s wifi.band [TAB]
a   bg  
nmcli> s wifi.band bg
Warning: 802-11-wireless.band set to 'bg', but it might be ignored in infrastructure mode
nmcli> sa
Connection '<ssid>' (<uuid>) successfully updated.
nmcli> q
$

А управлять WireGuard через эту утилиту можно?

Конечно, Нетворк менеджер поддерживает туннели wireguard.

Ну, nmcli это как скальпель, ни колбаски покрошить, не консерву не вскрыть. Великолепный инструмент сетевых хирургов. Если ты не сетевой хирург, то nmtui.

Извините, может глупый вопрос, имею ситуацию, у меня одноплатник orangepi zero 3, настроил его по wifi, связь вроде хорошая, но имею проблему, если выключить и включить одноплатник, т.е. ударом по голове вырубится питание, то примерно 50/50 не подключается самостоятельно, а вот nmcli connection up ... помогает.

Конечно, можно написать скрипт который будет пинговать роутер или статус подключения смотреть, но хотел поинтересоваться, может есть опция принудительного контроля соединения, в псевдографическом режиме стоит автоматическая активация, но он по какой то причине иногда не подключается с первого раза, а потом не пытается снова.

Sign up to leave a comment.