net4me.net

Linux технологии, сети и электроника

Заметки по работе с сетью

Примеры использования linux утилит в различных ситуациях из жизни.
ifconfig, wpa_cli, ping, nc, и прочее прочее...
Постараюсь наводить порядок, но не обещаю классификации.

networks tips

Заметки по работе с сетью

wpa_cli подключение к точке доступа

подключение к точке доступа через wpa_cli:
wpa_cli
status
scan
scan_results
add_network
set_network 0 ssid "net4me"
set_network 0 key_mgmt WPA2-PSK
#set_network 0 pairwise TKIP
#set_network 0 pairwise CCMP
set_network 0 psk "password"
list_networks
enable_network 0
save

systemd-networkd-wait "Wait for Network to be Configured"

Избавляюсь от лишних задержек при загрузке системы и systemd-networkd-wait-online.service "Wait for Network to be Configured".
История, уже надоела конечно... системда, boot и network... 2m... / no limit
В серваке несколько интерфейсов и конечно пока всё воткнуто - замечательно работало и быстро загружалось.
Но вот один кабель пришлось выдернуть и при ребуте ожидание в несколько минут (вынужденный перекур). (тут мат) Раздражает в общем.
Достало. Решаю как могу:
1. Смотрю что есть:
# ip a
1: lo: ...
2: enp2s0: ...
3: eno0: ... без кабеля и это причина ожидания.
4: wlp3s0: ...

# systemd-analyze blame | head -10
2min 138ms systemd-networkd-wait-online.service           
    3.754s ....
    .....

Интерфейс с кабелем:
# time /usr/lib/systemd/systemd-networkd-wait-online -i enp2s0
real  0m0.015s
user  0m0.004s
sys 0m0.011s

И интерфейс без кабеля...:
# time /usr/lib/systemd/systemd-networkd-wait-online -i eno0
Event loop failed: Connection timed out
real  2m0.187s
user  0m0.001s
sys 0m0.015s

Эпопея длится аж с начала системды, несколько лет уже. И всё ожидает, когда же руки, головы и совесть разрабов системды сменят место своего произрастания...

2. Правка (точнее создание):
# systemctl edit systemd-networkd-wait-online.service 
[Service]
ExecStart=
ExecStart=/usr/lib/systemd/systemd-networkd-wait-online -i enp2s0 -i eno0 --any --timeout=30

оно станет /etc/systemd/system/systemd-networkd-wait-online.service.d/override.conf 

# reboot
Сразу заметен результат. Может и криво и не по феншую (я не спец по системде), но зато работает.

3. Проверка результатов:
# time /usr/lib/systemd/systemd-networkd-wait-online -i eno0 --any --timeout=30
Event loop failed: Connection timed out
real  0m30.204s
user  0m0.008s
sys 0m0.007s

# systemd-analyze blame | head -5
7.340s systemd-networkd-wait-online.service           
3.724s ...
...

Теперь сервер можно ребутить без вынужденных перекуров.
Благодарю что прочитали.

...


...