-
Постов
1 237 -
Зарегистрирован
-
Посещение
-
Победитель дней
25
Достижения Александр Рыжов
-
Тулчейн мы менять не станем. musl — это в прошивке, в Entware обычная glibc. Но версия glibc arm64 всё равно не взлетает: # ldd ./Jackett/jackett linux-vdso.so.1 (0x0000007fa3f49000) libpthread.so.0 => /opt/lib/libpthread.so.0 (0x0000007fa3eab000) libdl.so.2 => /opt/lib/libdl.so.2 (0x0000007fa3e97000) libstdc++.so.6 => /opt/lib/libstdc++.so.6 (0x0000007fa3d2c000) libm.so.6 => /opt/lib/libm.so.6 (0x0000007fa3c68000) libgcc_s.so.1 => /opt/lib/libgcc_s.so.1 (0x0000007fa3c45000) libc.so.6 => /opt/lib/libc.so.6 (0x0000007fa3ad6000) /lib/ld-linux-aarch64.so.1 => /opt/lib/ld-linux-aarch64.so.1 (0x0000007fa3f1b000) ~ # ./Jackett/jackett --version -sh: ./Jackett/jackett: not found ~ # strace ./Jackett/jackett execve("./Jackett/jackett", ["./Jackett/jackett"], 0x7fc5d637c0 /* 17 vars */) = -1 ENOENT (No such file or directory) strace: exec: No such file or directory +++ exited with 1 +++
-
TL;DR: Прошивочные сервисы уже защищены, а для ssh в Entware проще настроить авторизацию по ключу и закрыть вопрос. Защита от брутфорса в прошивке есть и для telnet/ssh, и для веб-интерфейса, при необходимости правила можно подкрутить самостоятельно. Если в Entware надо прикрыть только ssh, то проще отказаться от парольной авторизации. Если по какой-то причине не подходит, то использовать sshguard. Полное классическое решение fail2ban здесь смотрится сильно избыточным. Для его настройки придётся: настроить сущность для выгрузки логов в /opt/var/log (klogd, syslog-ng и пр.), настроить ротацию логов для того, чтобы не переполнить диск, настроить интеграцию fail2ban c netfilter с помощью хуков /opt/etc/ndm/netfilter.d. …в итоге получив почти то же самое и кучу новых точек отказа. Другими словами: решения, которые органично смотрятся на большом ПК иногда слабо подходят для embedded устройств. В частности, fail2ban на роутере я бы стал использовать только от полной безысходности.
-
Порт желательно поменять с 5353 на другой, скажем 5350, чтобы избежать конфликта с одной из встроенных служб.
-
/opt/etc/ndm/ifstatechanged.d/ отдаёт оба имени интерфейса: прошивочное и линуксовое. ~ # cat /opt/etc/ndm/ifstatechanged.d/000-gather-iflist.sh #!/bin/sh list='/tmp/iflist.txt' interface="$id: $system_name" if [ ! -f $list ]; then echo $interface > $list else echo $interface | cat $list - | sort -u > $list.tmp mv $list.tmp $list fi exit 0 Как вариант, можно надёргать соответствий там: ~ # cat /tmp/iflist.txt Bridge0: br0 Bridge1: br1 Bridge2: br2 GigabitEthernet0/0: eth2 GigabitEthernet0/1: eth2 GigabitEthernet0/2: eth2 GigabitEthernet0/3: eth2 GigabitEthernet0/4: eth2 GigabitEthernet0/5: eth2 GigabitEthernet0/6: eth2 GigabitEthernet0/7: eth2 GigabitEthernet0/8: eth2 GigabitEthernet0/Vlan1: eth2.1 GigabitEthernet0/Vlan2: eth2.2 GigabitEthernet0/Vlan3: eth2.3 GigabitEthernet0: eth2 GigabitEthernet1/0: eth3 GigabitEthernet1: eth3 Gre0: ngre0 PPTP0: ppp0 TunnelSixInFour0: tun6in4_0 UsbQmi0: qmi_br0 WifiMaster0/AccessPoint0: ra0 WifiMaster0/AccessPoint1: ra1 WifiMaster0: ra0 WifiMaster1/AccessPoint0: rai0 WifiMaster1/AccessPoint1: rai1 WifiMaster1: rai0 Wireguard0: nwg0 Wireguard4: nwg4
-
Признаться, да. Штука годная. Самые тяжёлые из requirements у нас уже есть.
-
Проговорю очевидную вещь: любой мануал актуален на момент написания. Ни у одного автора нет цели поддерживать его актуальность бесконечно долго. Если способны развить идею, не стесняйтесь начать новую тему. А что до этой, ей осталось недолго. По известным причинам её придётся удалить.
-
You can use OPKG component with SDK, if necessary. Thats the only way to use addition packages on non-USB models.