Настраиваем нормально сеть в одноплатниках

Jul 04, 2023 11:07

Если уж очень лень собирать генту, то можно поставить убогий армбиан или прочее на основе бубунты. Однако, эта маздайка требует тщательной настройки.

Для начала - тормозим ненужный нетворкманагер и удаляем его навсегда:

systemctl stop NetworkManager.service
apt-get purge network-manager -y
Если не хочется это дерьмо убивать, то убиваем только resolved:

systemctl disable systemd-resolved.service
systemctl stop systemd-resolved
и проверяем, чтобы в /etc/NetworkManager/NetworkManager.conf первой в секции [main] была запись dns=none.
Первую настройку сети делаем вручную - при помощи ifconfig и route.
По умолчанию в бубунте может не быть не то, что ifconfig, но даже dhclient! Поэтому придется через задницу:

ip addr add / dev end0
ip route add default via
ip link set dev end0 up
Кстати, хорошо, что рута ssh по умолчанию не пускает - можно будет настроить лишь авторизацию по ключам. Разве что дефолтного пользователя pi переименовать во что-нибудь менее попсовое + запретить ему sudo и выбросить из группы wheel.
Дальше в /etc/network/interfaces пишем нечто вроде

iface enxb827eb2910cb inet static
address 192.168.99.99/24
gateway 192.168.99.1

А в /etc/resolv.conf заносим нужную информацию (на всякий случай нужно проверить, убился ли вместе с убогим нетворкманагером не менее идиотский демон resolvconf).
Естественно, еще необходимо позапрещать всякое говно:

systemctl stop avahi-daemon.service
systemctl stop wpa_supplicant.service
systemctl stop ModemManager.service
systemctl stop systemd-journald.service
systemctl disable avahi-daemon.service
systemctl disable wpa_supplicant.service
systemctl disable ModemManager.service
systemctl disable systemd-journald.service
Если журналирование нужно, то - гуглить, как этот [censored] systemd-journald настроить, чтобы умел логгировать на другую машину по сети (как приличный syslogd).

Проходимся по списку всех сервисов: systemctl list-unit-files --state=enabled и подчищаем остатки треша:

systemctl disable bluetooth.service
systemctl disable apt-daily-upgrade.timer
systemctl disable apt-daily.timer

Проверяем: service networking restart. Если все ОК, окончательно проверяем перезагрузкой. Вот на этом этапе у меня сеть не заработала. Таки надо явно разрешить вот это:
systemctl enable systemd-networkd.service
systemctl start systemd-networkd.service
(в случае необходимости, его надо размаскировать: systemctl unmask).
Ну и при помощи journalctl -f посмотреть эдакий убогий аналог dmesg. Кстати: journald я же выключил, какого … ? Надо будет разобраться: писать логи что во флеш, что в оперативку (которой и так как кот наплакал) - очень плохая идея.
Упс, и на этом этапе сеть не заработала. Оказывается, для этой штуки настройки хранятся в /etc/systemd/network/default.network:

[Match]
Name=enxb827eb2910cb

[Network]
Address=192.168.99.99/24
Gateway=192.168.99.1
DNS=192.168.2.11
Поля обязательно с большой буквы (иначе будет ошибка).

В случае более свежих бубунт настройки хранятся в network/interfaces. Добавляем туда свое вроде:

auto lo end0
...
iface end0 inet static
address 192.168.99.99
netmask 255.255.255.0
gateway 192.168.99.1

И придется еще убогую дрянь убить: systemctl disable systemd-networkd-wait-online.service, иначе почему-то при старте будет длительное подвисание на этом сервисе.

И вот, приличного количества шлака в нашей системе уже нет!!!
Пугает такое засилье маздая. Похоже, с каждым годом народ тупеет все сильней и сильней. Под одноплатники в итоге вообще нет бинарных дистрибутивов без убогого systemd!

raspberry pi, рукожопие, бубунта

Previous post Next post
Up