LINUX.ORG.RU

Сообщения Spider55

 

Возможно ли средствами iptables изменить tcp options?

Форум — Admin

Всем привет!

Возможно ли средствами iptables изменить tcp options?

В частности интересует только OUTPUT пакеты с флагом SYN.

Вроде пролистал мануал на iptables и iptables-extensions, но не нашёл.

 ,

Spider55
()

dante socks5 бесконечно висит в «соединении»

Форум — Admin

Всем привет.

Поставил на OpenWRT dante в качестве socks5 сервера. Минимально настроил и пробую пользовать. Сразу какой-то затык.
при поптыке открыть через него сайт, он как бы «зависает» в бесконечном ожидании данных от сервера и на этом всё. А выглядит это так:
На клиенте:
curl --socks5 user1:UserPassword@x.x.x.x:1080 https://browserleaks.com/ip
На сервере:

Thu Apr 28 16:37:00 2022 daemon.info sockd[4054]: info: pass(1): tcp/accept [: client-ip.52856 x.x.x.x:1080 
Thu Apr 28 16:37:00 2022 daemon.info sockd[4078]: info: pass(1): tcp/connect [: username%user1@client-ip.52856 x.x.x.x:1080  -> x.x.x.x.52856 104.236.69.55.443
Thu Apr 28 16:37:01 2022 daemon.info sockd[4078]: info: pass(1): tcp/connect -: username%user1@client-ip.52856 x.x.x.x:1080  -> x.x.x.x.52856 104.236.69.55.443 (517)


При этом так ведут только часть сайтов. При всех тех же настройках большая часть запросов работает.

к примеру
curl -i --socks5 user1:UserPassword@x.x.x.x:1080 https://ifconfig.me
Отлично отработал со следующим логом
Thu Apr 28 16:48:04 2022 daemon.info sockd[4101]: info: pass(1): tcp/accept [: client-ip.53408 x.x.x.x:1080
Thu Apr 28 16:48:04 2022 daemon.info sockd[4078]: info: pass(1): tcp/connect [: username%user1@client-ip.53408 x.x.x.x:1080 -> x.x.x.x.53408 34.117.59.81.443
Thu Apr 28 16:48:05 2022 daemon.info sockd[4078]: info: pass(1): tcp/connect -: username%user1@client-ip.53408 x.x.x.x:1080 -> x.x.x.x.53408 34.117.59.81.443 (517)
Thu Apr 28 16:48:05 2022 daemon.info sockd[4078]: info: pass(1): tcp/connect -: 34.117.59.81.443 x.x.x.x.53408 -> x.x.x.x:1080 username%user1@client-ip.53408 (4708)
Thu Apr 28 16:48:05 2022 daemon.info sockd[4078]: info: pass(1): tcp/connect -: username%user1@client-ip.53408 x.x.x.x:1080 -> x.x.x.x.53408 34.117.59.81.443 (80)
Thu Apr 28 16:48:05 2022 daemon.info sockd[4078]: info: pass(1): tcp/connect -: username%user1@client-ip.53408 x.x.x.x:1080 -> x.x.x.x.53408 34.117.59.81.443 (189)
Thu Apr 28 16:48:05 2022 daemon.info sockd[4078]: info: pass(1): tcp/connect -: 34.117.59.81.443 x.x.x.x.53408 -> x.x.x.x:1080 username%user1@client-ip.53408 (580)
Thu Apr 28 16:48:05 2022 daemon.info sockd[4078]: info: pass(1): tcp/connect -: 34.117.59.81.443 x.x.x.x.53408 -> x.x.x.x:1080 username%user1@client-ip.53408 (31)
Thu Apr 28 16:48:05 2022 daemon.info sockd[4078]: info: pass(1): tcp/connect -: username%user1@client-ip.53408 x.x.x.x:1080 -> x.x.x.x.53408 34.117.59.81.443 (31)
Thu Apr 28 16:48:05 2022 daemon.info sockd[4078]: info: pass(1): tcp/connect -: 34.117.59.81.443 x.x.x.x.53408 -> x.x.x.x:1080 username%user1@client-ip.53408 (301)
Thu Apr 28 16:48:05 2022 daemon.info sockd[4078]: info: pass(1): tcp/connect -: username%user1@client-ip.53408 x.x.x.x:1080 -> x.x.x.x.53408 34.117.59.81.443 (24)
Thu Apr 28 16:48:05 2022 daemon.info sockd[4078]: info: pass(1): tcp/connect ]: 5620 -> username%user1@client-ip.53408 x.x.x.x:1080 -> 841, 841 -> x.x.x.x.53408 34.117.59.81.443 -> 5620: local client error (Connection reset by peer).  Session duration: 1s
Thu Apr 28 16:48:05 2022 daemon.info sockd[4078]: info: pass(1): tcp/accept ]: 5620 -> client-ip.53408 x.x.x.x.45961 -> 841: local client error (Connection reset by peer).  Session duration: 1s


Почему первый вариант не работает?

Конфиг dante
logoutput: syslog

internal: l2tp-vpn port = 1080
external: l2tp-vpn

socksmethod: username #none
user.privileged: root
user.unprivileged: sockd

client pass {
       from: 0.0.0.0/0 to: 0.0.0.0/0
       log: connect disconnect ioop error tcpinfo
}

socks pass {
       from: 0.0.0.0/0 to: 0.0.0.0/0
       log: connect disconnect ioop error tcpinfo
}


Добавлю ещё, что TCPMSS фиксится в iptables.

 

Spider55
()

А есть такое? Монитор логов по шаблонам с реакциями

Форум — General

Всем привет!

А есть в природе готовое решение на подобие fail2ban но для кастомных экшенов?
Смысл таков: сидит этот некий «демон» и следит за указанным логом. Когда в логе появляется строка с заданным шаблоном, демон как-то реагирует.

Я конечно понимаю, что это всё можно сгородить грубо говоря из tail -f и grep. Но вдруг уже кто-то сгородил?

 , ,

Spider55
()

Xorg в фоне без «картинки» как Xvfb но с GPU

Форум — Admin

Всем привет!

Нужно запустить Xorg в фоне для предоставления glx API приложению, но монитора нет и выводить ничего никуда не надо.

Вроде бы всё запустил и всё работает. Но вот Xorg обращается к /dev/ttyX создавая Терминал с якобы «картинкой». А если этого самого /dev/ttyX нету?

Возможно ли запустить Xorg без VT tty?
Xvfb делает всё как надо, но не умеет работать с GPU. Он как бы не для этого.

 , ,

Spider55
()

не форвардит да и вообще IPv6

Форум — Admin

Всем привет! Странные дела происходят.
Имею Ubuntu 20.04.2 LTS

Имею сетевой интерфейс enp6s0, который настроился по DHCP от провайдера и имеет как IPv4 так и IPv6 адреса. Всё ровно. Всё работает.

Теперь хочу раздать всё это дело в локалку. С IPv4 всё понятно - всё работает - NAT. А вот IPv6 не работает.

Подробнее: Локалка состоит из enp7s0 интерфейса и wlp5s0 (Wifi) они объеденены под в Bridge названый br-lan.

br-lan: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.0.1  netmask 255.255.255.0  broadcast 10.0.0.255
        inet6 fe80::8085:3ff:fef2:d1b7  prefixlen 64  scopeid 0x20<link>
        inet6 <IPv6 address>  prefixlen 64  scopeid 0x0<global>
        ether 98:48:27:e0:2b:21  txqueuelen 1000  (Ethernet)
        RX packets 23300  bytes 1973667 (1.9 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 21954  bytes 50188698 (50.1 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

связка работает по IPv4, вот по IPv6 нет. Какое дело...
ra-adv делает демон radvd и делает он это вроде как испрвно, если что вот его конфиг:
interface br-lan {
    AdvSendAdvert on;
    AdvDefaultPreference high;
    AdvHomeAgentFlag off;
    MinRtrAdvInterval 10;
    MaxRtrAdvInterval 60;
    prefix 2001:<IPV6_prefix>::/64
    {
        AdvOnLink on;
        AdvAutonomous on;
        AdvRouterAddr on;
    };

    RDNSS 2001:4860:4860::8888 2001:4860:4860::8844
    {
        AdvRDNSSLifetime 10;
    };
};

клиенты в сети получают (назначают себе) IPv6 и как бы всё хорошо, но вот только не пингуются они по этим адресам. Но при этом пингуются по адресам `fe80::`.
У сервера в `ip -6 neigh` сплошные STALE, т.е. соседи есть, но не доступны.

Как так? Что я пропустил?

Ну да. файрвол:
# ip6tables -L -nv
Chain INPUT (policy ACCEPT 2267 packets, 593K bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 9538 packets, 1570K bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 1773 packets, 434K bytes)
 pkts bytes target     prot opt in     out     source               destination

как бы всё пусто.

как бы... эм... Что происходит? Рядом стоит другая машинка с практически той же конфигурацией и всё работает. А тут такое....

HELP!!

 , , ,

Spider55
()

overlay fs и «невидимые» точки монтирования

Форум — General

Всем привет!

Вопрос из любопытства. Вот значит включил я OverlayFS в МалинкеПи3Б и обнаружил любопытную особенность монтирования, нет папок upper и work. А как это? Выглядит всё вот так:

root@rasp:/home/pi # mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=243284k,nr_inodes=60821,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=76332k,mode=755)
overlay on / type overlay (rw,noatime,lowerdir=/lower,upperdir=/upper/data,workdir=/upper/work)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup2 on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)
none on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=32,pgrp=1,timeout=0,minproto=5,maxproto=5,direct)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/mmcblk0p1 on /boot type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=76328k,mode=700,uid=1000,gid=1000)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime)
tracefs on /sys/kernel/debug/tracing type tracefs (rw,relatime)

можно видеть, что / (root) монтирован в overlay, где в скобочках видно lowerdir=/lower,upperdir=/upper/data,workdir=/upper/work
но если сделать так:
root@rasp:/ # ls -la /
total 36
drwxr-xr-x   1 root root   160 Jan  1  1970 .
drwxr-xr-x   1 root root   160 Jan  1  1970 ..
lrwxrwxrwx   1 root root     7 Jan 11 18:50 bin -> usr/bin
drwxr-xr-x   4 root root  4096 Jan  1  1970 boot
drwxr-xr-x  17 root root  3720 Jul  6 12:49 dev
drwxr-xr-x   1 root root   120 Jul  6 16:15 etc
drwxr-xr-x   1 root root    60 Jan 11 18:52 home
lrwxrwxrwx   1 root root     7 Jan 11 18:50 lib -> usr/lib
drwx------   2 root root 16384 Jan 11 19:08 lost+found
drwxr-xr-x   2 root root  4096 Jan 11 18:50 media
drwxr-xr-x   2 root root  4096 Jan 11 18:50 mnt
drwxr-xr-x   3 root root  4096 Jan 11 18:52 opt
dr-xr-xr-x 194 root root     0 Jan  1  1970 proc
drwx------   1 root root   120 Jul  6 16:19 root
drwxr-xr-x  20 root root   700 Jul  6 17:38 run
lrwxrwxrwx   1 root root     8 Jan 11 18:50 sbin -> usr/sbin
drwxr-xr-x   2 root root  4096 Jan 11 18:50 srv
dr-xr-xr-x  12 root root     0 Jan  1  1970 sys
drwxrwxrwt   1 root root   340 Jul  6 17:17 tmp
drwxr-xr-x   1 root root   100 Jan 11 18:50 usr
drwxr-xr-x   1 root root   140 Feb 12 21:19 var

то папки /lower или /upper тут нет. А где они?! А как это?

 , ,

Spider55
()

Не могу запустить сервис systemd от имени себя (code=exited, status=127)

Форум — Admin

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

Job for test.service failed because the control process exited with error code.
See "systemctl status test.service" and "journalctl -xe" for details.

где написано следующее:
Jul 04 12:23:03 spider systemd[1]: Starting Мой тестовый сервис...
Jul 04 12:23:03 spider systemd[1]: test.service: Control process exited, code=exited status=127
Jul 04 12:23:03 spider systemd[1]: Failed to start Мой тестовый сервис.
Jul 04 12:23:03 spider systemd[1]: test.service: Unit entered failed state.
Jul 04 12:23:03 spider systemd[1]: test.service: Failed with result 'exit-code'.


Вот так выглядит сам сервси:
[Unit]
Description=Мой тестовый сервис
After=network.target

[Service]
Type=simple
User=spider
Group=spider
WorkingDirectory=/home/spider/src/test
ExecStartPre=/bin/echo "OPTS=$OPTS_COMMON">/tmp/run.log
ExecStart=/usr/bin/node test.js >/tmp/run.log 2>&1
Restart=no
RestartSec=10

[Install]
WantedBy=multi-user.target


Как-то так.
Всё бы ничего, но! Если убрать User/Group из сервиса, то всё запустится и будет работать. Но с ними не работает. Я сам как Юзер могу запускать сервис.

ExecStartPre добавлено для проверки, что вообще хоть что нить происходит или нет. И не происходит со следующей отпиской:
$ sudo systemctl status test.service
● test.service - Мой тестовый сервис
   Loaded: loaded (/lib/systemd/system/test.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sun 2021-07-04 12:22:31 +06; 2s ago
  Process: 24128 ExecStartPre=/bin/echo OPTS=$OPTS_COMMON>/tmp/run.log (code=exited, status=127)
 Main PID: 21783 (code=exited, status=1/FAILURE)

Как так то?! Чего? 127 - это же Command not found? Чего он не нашёл? echo?
spider@spider ~/src/test $ whereis echo
echo: /bin/echo

да вроде находит...

Что не так я делаю?

 

Spider55
()

Интерфейсы в bonding active-backup работают хуже чем сами по себе.

Форум — Admin

Всем привет.

есть у меня два разных провайдера у клиента и один удалённый сервер. Есть необходимость в простом отказоустойчивом туннеле с клиента до сервера.
Я пока сильно не замудорствовал и создал со стороны клиента 2 gre туннеля в сторону сервера, со стороны сервера взаимные туннели.
В итоге имеем tun0 и tun1 как у клиента так и у сервера.
Теперь Если любому назначит static пару адресов, то клиент в данный момент отлично видит сервер и наоборот, я бы сказал никаких проблем. Всё отлично пингуется, скорость устойчивая. Красота!
Но это 2 «разные» сети.
Решил я пойти по быстрому пути упрощения жизни и создать bond интерфейс в режиме active-backup, где слейвы эти два gre туннеля. Но вот возник вопрос... с обеих сторон такой делать? Если так, то есть вариант, что активные интерфейсы с разных сторон могут стать «накрест» и ничего работать не будет.
Какой режим bonding выбрать для такого решения?

 ,

Spider55
()

Wifi не подключается к AP

Форум — Admin

Всем привет.

Вот странная странность.
Решил попробовать настроить сетевые интерфейсы средствами systemd-networkd. И один из интерфейсов - wifi. Как учил мануал создал wpa_supplicant-wlan0.conf, прописал в него всё. разрешил службу wpa_supplicant@wlan0.service и перезапустил.

В итоге интерфейс есть, но не подключен к точке доступа. В логи сыплет следующее:

Successfully initialized wpa_supplicant
wlan0: Trying to associate with SSID 'Test-wifi'
wlan0: CTRL-EVENT-ASSOC-REJECT bssid=00:00:00:00:00:00 status_code=16
wlan0: Trying to associate with SSID 'Test-wifi'
wlan0: CTRL-EVENT-ASSOC-REJECT bssid=00:00:00:00:00:00 status_code=16
wlan0: Trying to associate with SSID 'Test-wifi'
wlan0: CTRL-EVENT-ASSOC-REJECT bssid=00:00:00:00:00:00 status_code=16


в конфиге следующее:
country=RU
ctrl_interface=DIR=/var/run/wpa_supplicant
ap_scan=1
fast_reauth=1

network={
    ssid="Test-wifi"
    psk="password"
}


при этом если оставить этот же конфиг, но поднимать сеть средствами /etc/network/interfaces
auto wlan0
iface wlan0 inet dhcp
    wpa-conf /etc/wpa_supplicant/wpa_supplicant-wlan0.conf


то всё отлично работает.
Я сравнил строку запуска wpa_supplicant , она одинаковая при обоих вариантах. Но в одном случае она конфигурит, а во втором нет...

как так то?

 ,

Spider55
()

Именование сетевых интерфейсов при загрузке

Форум — Linux-install

Всем привет.

Продолжаю пожимать плоды обновления убунты до последней версии. Имею несколько сетевых карт, и они при каждой загрузке именовались по разному. Ну другими словами то eth0 eth1, то наоборот eth1 eth0. Это беда была давным давно решена файликом 70-persistent-net.rules с содержимым:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:04:23:A5:C1:B0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="E8:DE:27:03:6D:01", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"


Но тут проблема вернулась, а файлик остался.

# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 00:04:23:a5:c1:b0  txqueuelen 1000  (Ethernet)
        RX packets 10014069  bytes 1175854175 (1.1 GB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 39240136  bytes 35848855376 (35.8 GB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.2  netmask 255.255.255.0  broadcast 192.168.0.255
        ether e8:de:27:03:6d:01  txqueuelen 1000  (Ethernet)
        RX packets 143145197  bytes 70484429364 (70.4 GB)
        RX errors 0  dropped 98  overruns 0  frame 0
        TX packets 412115164  bytes 125353385983 (125.3 GB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


Что-то поменялось? Как так то?!

 , ,

Spider55
()

Как-то странно отваливается сетевой интерфейс

Форум — Admin

Всем привет!

Имеем Debian 9, в том числе используется как роутер между несколькими сетями имея на борту несколько сетевых кард. ИНОГДА непонятно когда и как происходит странное и часть сетевых карт как бы перестаёт работать. Линк есть, втыкание вытыкание провода не помогает.
Помогает однозначно - перезагрузка.
При этом явных ошибок в dmesg нет. Да вообще ничего нет после загрузки. В системном логе тоже ничего не нашёл «такого».
Явление редкое и не понятное. Может не быть месяцы, а может в день 3 раза как сегодня...

Подскажите на что ещё можно поглядеть если оно снова случится?

 

Spider55
()

Как пользоваться модулем ядра gpio-beeper?

Форум — Development

Всем привет!

Есть такой чудный модуль. Создал для него DTS и прописал там ногу процессора. Подгрузил модуль в ядро. Вроде как на этом всё. А как пикнуть то? :)

модуль зарегистрировал себя как:

input_set_capability(input, EV_SND, SND_BELL);


Как теперь из ОС взаимодействовать с такими устройствами?

 ,

Spider55
()

Как экспортировать GPIO из device tree?

Форум — Development

Имеется Allwiner H3 процессор с загруженным на нём linux.
Каждый раз при загрузке железки делаю следующее

echo 203 >  /sys/class/gpio/export
echo out > /sys/class/gpio/gpio203/direction
echo 1 > /sys/class/gpio/gpio203/value

дабы инициализировать ногу на вывод. Но это происходит уже в user space. А как бы экспортировать эту ногу из DTS?

Пробовал сделать так:
&pio {
    lock_ctrl {
        gpio-hog;
        gpios = <6 11 GPIO_ACTIVE_LOW>; /* PG11 */
        output-high;
        line-name = "door_lock_control";
        status = "okay";
    };
};

но так не собирается даже.
Пока экспортирую как LED и пользуюсь ногой через gpio-led, но «хочется» какой-то красоты...

 ,

Spider55
()

Deluge перестал видить Пиры и сеть в целом

Форум — Desktop

Всем привет!

Чёрт меня дёрнул обновить убунту до последней 20.10 ну да ладно. И оглох Deluge после этого. Снёс я его полностью на сколько хватило сил. Установил через pip заново. Вроде всё запустилось, но вот беда - в WEB морде не показывает External IP - пишет N/A.
Как его образумить? Куда рыть хоть....
Пробовал завернуть его через SOCKS5 на этой же машине, ну чтобы посмотреть хоть какую-то активность. Вижу в логах запросы на 80ые порты трекеров. А в интерфейсе всё равно N/A и у уже ранее добеленных раздач статус - No route to host.

Куда ещё можно порыть? iptables уже отчистил исделал по умолчанию ACCEPT везде. Пустые таблички. Интернет есть. IP белый. Что ещё?

 

Spider55
()

Не грузится U-Boot'ом ядро в вида FIT на Allwinner H5

Форум — Admin

Всем привет. Не знаю куда правильно адресовать такого рода посты. Но попробую сюда.

В общем проблема такая: Ядро не грузится дальше Starting kernel ...
Система: Orange Pi Zero Plus2 H5
Собираю образ на базе OpenWRT. По итогу имею 2 варианта развития событий:
1. Классический uImage сжатый lzma и отдельно dtb файл. Всё это грузит U-Boot командой booti <addr> - <addr>
2. Новомодный FIT образ того же ядра с тем же dtb но уже два в одном. Грузит тот же U-Boot но уже командой bootm <addr>

В первом варианте всё грузится без каких-то проблем. Всё хорошо.
Во втором варианте дело доходит до Starting kernel и система зависает колом.
Образ собираю следующей командой:

mkimage -E -f Image.its Image.new

Где в Image.its следующее содержание:
/dts-v1/;

/ {
        description = "ARM64 OpenWrt FIT (Flattened Image Tree)";
        #address-cells = <1>;

        images {
                kernel@1 {
                        description = "ARM64 OpenWrt Linux-5.4.60";
                        data = /incbin/("arch/arm64/boot/Image.lzma");
                        type = "kernel";
                        arch = "arm64";
                        os = "linux";
                        compression = "lzma";
                        load = <0x40008000>;
                        entry = <0x40008000>;
                        hash@1 {
                                algo = "crc32";
                        };
                        hash@2 {
                                algo = "sha1";
                        };
                };

                fdt@1 {
                        description = "ARM64 OpenWrt xunlong_orangepi-zero-plus2 device tree blob";
                        data = /incbin/("sun50i-h5-orangepi-zero-plus2.dtb");
                        type = "flat_dt";
                        arch = "arm64";
                        compression = "none";
                        load = <0x4FA00000>;
                        hash@1 {
                                algo = "crc32";
                        };
                        hash@2 {
                                algo = "sha1";
                        };
                };

        };

        configurations {
                default = "config@1";
                config@1 {
                        description = "OpenWRT";
                        kernel = "kernel@1";
                        fdt = "fdt@1";
                };
        };
};

По итогу происходит вот такая загрузка:
U-Boot 2020.04 (Aug 28 2020 - 09:44:29 +0000) Allwinner Technology

CPU:   Allwinner H5 (SUN50I)
Model: OrangePi Zero Plus2
DRAM:  512 MiB
MMC:   Device 'mmc@1c11000': seq 1 is in use by 'mmc@1c10000'
mmc@1c0f000: 0, mmc@1c10000: 2, mmc@1c11000: 1

In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
=> fatload mmc 0 53E00000 Image.new
3561732 bytes read in 513 ms (6.6 MiB/s)
=> setenv bootargs console=ttyS0,115200 earlyprintk root=PARTUUID=5452574f-02 rootwait earlycon=uart,mmio32,0x01c28000
=> bootm 53E00000
## Loading kernel from FIT Image at 53e00000 ...
   Using 'config@1' configuration
   Trying 'kernel@1' kernel subimage
     Description:  ARM64 OpenWrt Linux-5.4.60
     Type:         Kernel Image
     Compression:  lzma compressed
     Data Start:   0x53e0043c
     Data Size:    3537003 Bytes = 3.4 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x40008000
     Entry Point:  0x40008000
     Hash algo:    crc32
     Hash value:   1003b68e
     Hash algo:    sha1
     Hash value:   94d9ea6a0f543649d294b50bd2a7bba1857cf538
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading fdt from FIT Image at 53e00000 ...
   Using 'config@1' configuration
   Trying 'fdt@1' fdt subimage
     Description:  ARM64 OpenWrt xunlong_orangepi-zero-plus2 device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x5415fca8
     Data Size:    23641 Bytes = 23.1 KiB
     Architecture: AArch64
     Load Address: 0x4fa00000
     Hash algo:    crc32
     Hash value:   fc8daabb
     Hash algo:    sha1
     Hash value:   6c18b66e1c9bb6dfb289701e1a478e294cb3568c
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Loading fdt from 0x5415fca8 to 0x4fa00000
   Booting using the fdt blob at 0x4fa00000
   Uncompressing Kernel Image
   Loading Device Tree to 0000000049ff7000, end 0000000049fffc58 ... OK

Starting kernel ...

Если взять те же образы но ВНЕ FIT упаковки, то всё грузится вот так:
U-Boot 2020.04 (Aug 28 2020 - 09:44:29 +0000) Allwinner Technology

CPU:   Allwinner H5 (SUN50I)
Model: OrangePi Zero Plus2
DRAM:  512 MiB
MMC:   Device 'mmc@1c11000': seq 1 is in use by 'mmc@1c10000'
mmc@1c0f000: 0, mmc@1c10000: 2, mmc@1c11000: 1

In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
=> load mmc 0 53E00000 Image.lzma
3537067 bytes read in 506 ms (6.7 MiB/s)
=> fatload mmc 0 0x4FA00000 sun50i-h5-orangepi-zero-plus2.dtb
23641 bytes read in 5 ms (4.5 MiB/s)
=> setenv bootargs console=ttyS0,115200 earlyprintk root=PARTUUID=5452574f-02 rootwait earlycon=uart,mmio32,0x01c28000
=bootm 0x53E00000 - 0x4FA00000
## Booting kernel from Legacy Image at 53e00000 ...
   Image Name:   Linux
   Image Type:   AArch64 Linux Kernel Image (lzma compressed)
   Data Size:    3537003 Bytes = 3.4 MiB
   Load Address: 40080000
   Entry Point:  40080000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 4fa00000
   Booting using the fdt blob at 0x4fa00000
   Uncompressing Kernel Image
   Loading Device Tree to 0000000049ff7000, end 0000000049fffc58 ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.4.60 (spider@horoshiki.ru) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r14283-42d14ace3e)) #0 SMP Fri Aug 28 09:44:29 2020
[    0.000000] Machine model: OrangePi Zero Plus2


Я что-то делаю не так? Или оно само не живое?

 , ,

Spider55
()

IP адрес сервера внутри IPSec

Форум — Admin

Всем привет!

Чё-то у меня ступор :)

Есть Debian сервер всего с 1 сетевой картой. Эта сетевуха смотрит в инет и на ней сервер принимает IKEv2 соединения из вне.
В качестве ipsec сервера strongswan.

Даже как-то работает - клиенты подключаются и авторизуются. Но вот запарка. А как клиентам теперь обращаться к ресурсам сервера через установленный туннель?

# ipsec status
Security Associations (1 up, 0 connecting):
   ikev2-vpn[1]: ESTABLISHED 3 seconds ago, my_server_ip[my_server_ip]...my_nat_ip[192.168.1.41]
   ikev2-vpn{1}:  INSTALLED, TUNNEL, reqid 1, ESP in UDP SPIs: cd561a3e_i 3778dcdc_o
   ikev2-vpn{1}:   0.0.0.0/0 ::/0 === 10.10.10.0/24


Клиенту выдали ip из подсетки 10.10.10.0/24 а серверу ничего не выдали. :) Как клиенту обратиться к серверу через VPN?

 ,

Spider55
()

LVM «вынуть» конкретное PV (диск) из зеркала

Форум — Admin

Всем привет!

Имею LVM зеркало в режиме RAID1 из 3х дисков. Точнее был диск с LVM, потом он стал помирать, я почесал репу и воткнул в системник 2 одинаковых винта, и сконвертировал имеющееся LVM в lvm mirror raid1 на эти 2 винта в том числе. вот так:

lvconvert -m2 lvm-vg/root /dev/sda2 /dev/sdb2

и получилось следующее:
lvs -a -o name,copy_percent,devices lvm-vg
  LV              Cpy%Sync Devices
  root            100,00   root_rimage_0(0),root_rimage_1(0),root_rimage_2(0)
  [root_rimage_0]          /dev/sdc5(0)
  [root_rimage_1]          /dev/sda2(1)
  [root_rimage_2]          /dev/sdb2(1)
  [root_rmeta_0]           /dev/sdc5(37135)
  [root_rmeta_1]           /dev/sda2(0)
  [root_rmeta_2]           /dev/sdb2(0)

Как теперь вынуть «старый» диск - sdc из этого mirror?
Есть мысль, отключить его от системника, lvm заругается что что-то не так, а потом сделать vgreduce --removemissing

А до выниманя диска это реально как-то сделать?

 ,

Spider55
()

Опять проброс UPNP/DLNA через роутер в другую подсеть

Форум — Admin

Всем привет!

Имею 2 подсети, соединяющиеся на Роутере. В одной из подсетей есть сервер с DLNA. Роутер пробрасывает трафик между сетями. Трафик ходит между клиентами. Как мне пробросить DLNA мультикасты от DLNA из одной сети в другую на роутере?

Чё-то туплю пипец... Перелистал поиск, но что-то всё равно не получается. Хелп :)

 , ,

Spider55
()

Странность с «соседями» IPv6 на одном интерфейсе

Форум — Admin

Всем привет.

Суть такова: Есть wlan2 интерфейс на который коннектятся WiFi клиенты и получают по DHCP свои IPv4 адреса. И всё работает. С IPv4 проблем не испытываю.
Но есть на этом интерфейсе и IPv6 адреса. Так вот RA как-то странно создаёт таблицу соседей, точнее не создаёт, естественно не работоспособную.
Почему не работает поиск соседей?
ip6tables пустой с ACCEPT на всех правилах.
Что не так? Попытка создать соседа руками ни к чему не приводит.

Теперь немного практики:

# ifconfig wlan2
wlan2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.20.1  netmask 255.255.255.0  broadcast 192.168.20.255
        inet6 2a0d:xxxx:yyyy:5556:ea94:f6ff:fee5:4673  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::ea94:f6ff:fee5:4673  prefixlen 64  scopeid 0x20<link>
        ether e8:94:f6:e5:46:73  txqueuelen 1000  (Ethernet)
        RX packets 335523  bytes 185499775 (185.4 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 419162  bytes 314471237 (314.4 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
# ping fe80::c60b:cbff:fe21:7b66
PING fe80::c60b:cbff:fe21:7b66(fe80::c60b:cbff:fe21:7b66) 56 data bytes
From fe80::204:23ff:fea5:c1b0%eth1 icmp_seq=1 Destination unreachable: Address unreachable
From fe80::204:23ff:fea5:c1b0%eth1 icmp_seq=2 Destination unreachable: Address unreachable
From fe80::204:23ff:fea5:c1b0%eth1 icmp_seq=3 Destination unreachable: Address unreachable
^C
--- fe80::c60b:cbff:fe21:7b66 ping statistics ---
4 packets transmitted, 0 received, +3 errors, 100% packet loss, time 3065ms

# ip neigh | grep 66
192.168.20.2 dev wlan2 lladdr c4:0b:cb:21:7b:66 REACHABLE

# tcpdump -i wlan2 -n ip6
21:02:54.794583 IP6 fe80::ea94:f6ff:fee5:4673 > ff02::1:ff21:7b66: ICMP6, neighbor solicitation, who has fe80::c60b:cbff:fe21:7b66, length 32
21:02:55.822671 IP6 fe80::ea94:f6ff:fee5:4673 > ff02::1:ff21:7b66: ICMP6, neighbor solicitation, who has fe80::c60b:cbff:fe21:7b66, length 32
21:02:55.912124 IP6 fe80::c60b:cbff:fe21:7b66 > fe80::ea94:f6ff:fee5:4673: ICMP6, neighbor advertisement, tgt is fe80::c60b:cbff:fe21:7b66, length 32
21:02:56.842579 IP6 fe80::ea94:f6ff:fee5:4673 > ff02::1:ff21:7b66: ICMP6, neighbor solicitation, who has fe80::c60b:cbff:fe21:7b66, length 32
21:02:57.866582 IP6 fe80::ea94:f6ff:fee5:4673 > ff02::1:ff21:7b66: ICMP6, neighbor solicitation, who has fe80::c60b:cbff:fe21:7b66, length 32
21:02:57.940205 IP6 fe80::c60b:cbff:fe21:7b66 > fe80::ea94:f6ff:fee5:4673: ICMP6, neighbor solicitation, who has fe80::ea94:f6ff:fee5:4673, length 32
21:02:58.689508 IP6 fe80::c60b:cbff:fe21:7b66 > fe80::ea94:f6ff:fee5:4673: ICMP6, neighbor solicitation, who has fe80::ea94:f6ff:fee5:4673, length 32
21:02:58.890617 IP6 fe80::ea94:f6ff:fee5:4673 > ff02::1:ff21:7b66: ICMP6, neighbor solicitation, who has fe80::c60b:cbff:fe21:7b66, length 32
21:02:59.440145 IP6 fe80::c60b:cbff:fe21:7b66 > fe80::ea94:f6ff:fee5:4673: ICMP6, neighbor solicitation, who has fe80::ea94:f6ff:fee5:4673, length 32
21:02:59.914582 IP6 fe80::ea94:f6ff:fee5:4673 > ff02::1:ff21:7b66: ICMP6, neighbor solicitation, who has fe80::c60b:cbff:fe21:7b66, length 32
21:03:00.192254 IP6 fe80::c60b:cbff:fe21:7b66 > fe80::ea94:f6ff:fee5:4673: ICMP6, neighbor solicitation, who has fe80::ea94:f6ff:fee5:4673, length 32
21:03:00.938584 IP6 fe80::ea94:f6ff:fee5:4673 > ff02::1:ff21:7b66: ICMP6, neighbor solicitation, who has fe80::c60b:cbff:fe21:7b66, length 32
21:03:00.952697 IP6 fe80::c60b:cbff:fe21:7b66 > fe80::ea94:f6ff:fee5:4673: ICMP6, neighbor solicitation, who has fe80::ea94:f6ff:fee5:4673, length 32
21:03:01.005204 IP6 fe80::c60b:cbff:fe21:7b66 > fe80::ea94:f6ff:fee5:4673: ICMP6, neighbor advertisement, tgt is fe80::c60b:cbff:fe21:7b66, length 32
21:03:01.962617 IP6 fe80::ea94:f6ff:fee5:4673 > ff02::1:ff21:7b66: ICMP6, neighbor solicitation, who has fe80::c60b:cbff:fe21:7b66, length 32
21:03:02.986584 IP6 fe80::ea94:f6ff:fee5:4673 > ff02::1:ff21:7b66: ICMP6, neighbor solicitation, who has fe80::c60b:cbff:fe21:7b66, length 32
21:03:04.010579 IP6 fe80::ea94:f6ff:fee5:4673 > ff02::1:ff21:7b66: ICMP6, neighbor solicitation, who has fe80::c60b:cbff:fe21:7b66, length 32

# sysctl net.ipv6.conf
net.ipv6.conf.wlan2.accept_dad = 1
net.ipv6.conf.wlan2.accept_ra = 1
net.ipv6.conf.wlan2.accept_ra_defrtr = 1
net.ipv6.conf.wlan2.accept_ra_from_local = 0
net.ipv6.conf.wlan2.accept_ra_min_hop_limit = 1
net.ipv6.conf.wlan2.accept_ra_mtu = 1
net.ipv6.conf.wlan2.accept_ra_pinfo = 1
net.ipv6.conf.wlan2.accept_ra_rt_info_max_plen = 0
net.ipv6.conf.wlan2.accept_ra_rt_info_min_plen = 0
net.ipv6.conf.wlan2.accept_ra_rtr_pref = 1
net.ipv6.conf.wlan2.accept_redirects = 1
net.ipv6.conf.wlan2.accept_source_route = 0
net.ipv6.conf.wlan2.addr_gen_mode = 0
net.ipv6.conf.wlan2.autoconf = 0
net.ipv6.conf.wlan2.dad_transmits = 1
net.ipv6.conf.wlan2.disable_ipv6 = 0
net.ipv6.conf.wlan2.disable_policy = 0
net.ipv6.conf.wlan2.drop_unicast_in_l2_multicast = 0
net.ipv6.conf.wlan2.drop_unsolicited_na = 0
net.ipv6.conf.wlan2.enhanced_dad = 1
net.ipv6.conf.wlan2.force_mld_version = 0
net.ipv6.conf.wlan2.force_tllao = 0
net.ipv6.conf.wlan2.forwarding = 1
net.ipv6.conf.wlan2.hop_limit = 64
net.ipv6.conf.wlan2.ignore_routes_with_linkdown = 0
net.ipv6.conf.wlan2.keep_addr_on_down = 0
net.ipv6.conf.wlan2.max_addresses = 16
net.ipv6.conf.wlan2.max_desync_factor = 600
net.ipv6.conf.wlan2.mc_forwarding = 0
net.ipv6.conf.wlan2.mldv1_unsolicited_report_interval = 10000
net.ipv6.conf.wlan2.mldv2_unsolicited_report_interval = 1000
net.ipv6.conf.wlan2.mtu = 1500
net.ipv6.conf.wlan2.ndisc_notify = 0
net.ipv6.conf.wlan2.ndisc_tclass = 0
net.ipv6.conf.wlan2.proxy_ndp = 0
net.ipv6.conf.wlan2.regen_max_retry = 3
net.ipv6.conf.wlan2.router_probe_interval = 60
net.ipv6.conf.wlan2.router_solicitation_delay = 1
net.ipv6.conf.wlan2.router_solicitation_interval = 4
net.ipv6.conf.wlan2.router_solicitation_max_interval = 3600
net.ipv6.conf.wlan2.router_solicitations = -1
net.ipv6.conf.wlan2.seg6_enabled = 0
net.ipv6.conf.wlan2.seg6_require_hmac = 0
net.ipv6.conf.wlan2.suppress_frag_ndisc = 1
net.ipv6.conf.wlan2.temp_prefered_lft = 86400
net.ipv6.conf.wlan2.temp_valid_lft = 604800
net.ipv6.conf.wlan2.use_oif_addrs_only = 0
net.ipv6.conf.wlan2.use_tempaddr = 2

 

Spider55
()

Статитсика с машинок в сети. не совсем Linux, но вдруг...

Форум — Admin

Всем привет!

А есть какой-нить способ снимать статиcтику в cacti с windows машин? Какие-нить snmp сервера под винды (не серверные, обычные рабочие станции)? или может что-то opensource?

 ,

Spider55
()

RSS подписка на новые темы