1. Создал отдельное устройство на китайском компе по этой инструкции. Сразу установил Debian 13. Все заработало. Все без проблем. 2. Давно уже была/есть железка на OrangePi 3 LTS - отдельный MQTT брокер, Pi-Hole, Node-Red, еще что-то. Изначально была на Debian 11. Попытался поапдейтиться - репозиторий не поддерживается, обновился от китайских товарищей на Debian 12 для нее же. 3. Обе железки работают без проблем. ... проходит пара дней 4. В одно прекрасное утро обе железки перестают быть видны при заходе в домашнюю сеть с удаленного компьютера. Внутри сети - видны, остальное железо - видно. Захожу на любую иную машину, с нее SSH на первые две - все ок. Кто знает хотя бы с чего начать решение?
Отключал. Не помогает. firewall - чего? Самой железки? Как он выглядит? Он, видимо, отказывается обслуживать запросы от сетей типа 172.х.х.х? Вот вопрос к железке с ответом:
Вот еще вопрос к устройству изнутри сети: Спойлер: Вопрос Код (Bash): igor@debian13:~$ sudo iptables -L -n -v Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 77603 5461K DOCKER-USER all -- * * 0.0.0.0/0 0.0.0.0/0 77603 5461K DOCKER-FORWARD all -- * * 0.0.0.0/0 0.0.0.0/0 Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain DOCKER (7 references) pkts bytes target prot opt in out source destination 0 0 ACCEPT tcp -- !br-136ec243ad45 br-136ec243ad45 0.0.0.0/0 172.18.0.5 tcp dpt:443 0 0 ACCEPT tcp -- !br-136ec243ad45 br-136ec243ad45 0.0.0.0/0 172.18.0.5 tcp dpt:81 0 0 ACCEPT tcp -- !br-136ec243ad45 br-136ec243ad45 0.0.0.0/0 172.18.0.5 tcp dpt:80 0 0 ACCEPT tcp -- !br-136ec243ad45 br-136ec243ad45 0.0.0.0/0 172.18.0.4 tcp dpt:9001 0 0 ACCEPT tcp -- !br-136ec243ad45 br-136ec243ad45 0.0.0.0/0 172.18.0.4 tcp dpt:1883 0 0 ACCEPT tcp -- !br-84fbcf14d094 br-84fbcf14d094 0.0.0.0/0 172.23.0.2 tcp dpt:9000 0 0 ACCEPT tcp -- !br-84fbcf14d094 br-84fbcf14d094 0.0.0.0/0 172.23.0.2 tcp dpt:8000 0 0 ACCEPT tcp -- !br-136ec243ad45 br-136ec243ad45 0.0.0.0/0 172.18.0.3 tcp dpt:8080 0 0 ACCEPT tcp -- !br-b141accd715e br-b141accd715e 0.0.0.0/0 172.20.0.2 tcp dpt:1880 0 0 ACCEPT udp -- !br-b162c77778c3 br-b162c77778c3 0.0.0.0/0 172.22.0.2 udp dpt:22000 0 0 ACCEPT tcp -- !br-b162c77778c3 br-b162c77778c3 0.0.0.0/0 172.22.0.2 tcp dpt:22000 0 0 ACCEPT udp -- !br-b162c77778c3 br-b162c77778c3 0.0.0.0/0 172.22.0.2 udp dpt:21027 0 0 ACCEPT tcp -- !br-b162c77778c3 br-b162c77778c3 0.0.0.0/0 172.22.0.2 tcp dpt:8384 0 0 ACCEPT tcp -- !br-1da91323ee59 br-1da91323ee59 0.0.0.0/0 172.21.0.2 tcp dpt:5005 0 0 ACCEPT tcp -- !br-136ec243ad45 br-136ec243ad45 0.0.0.0/0 172.18.0.2 tcp dpt:9001 0 0 ACCEPT tcp -- !br-136ec243ad45 br-136ec243ad45 0.0.0.0/0 172.18.0.2 tcp dpt:1883 0 0 ACCEPT tcp -- !br-cc4063dc1551 br-cc4063dc1551 0.0.0.0/0 172.19.0.2 tcp dpt:5001 0 0 DROP all -- !br-cc4063dc1551 br-cc4063dc1551 0.0.0.0/0 0.0.0.0/0 0 0 DROP all -- !br-136ec243ad45 br-136ec243ad45 0.0.0.0/0 0.0.0.0/0 0 0 DROP all -- !br-1da91323ee59 br-1da91323ee59 0.0.0.0/0 0.0.0.0/0 0 0 DROP all -- !br-84fbcf14d094 br-84fbcf14d094 0.0.0.0/0 0.0.0.0/0 0 0 DROP all -- !br-b141accd715e br-b141accd715e 0.0.0.0/0 0.0.0.0/0 0 0 DROP all -- !br-b162c77778c3 br-b162c77778c3 0.0.0.0/0 0.0.0.0/0 0 0 DROP all -- !docker0 docker0 0.0.0.0/0 0.0.0.0/0 Chain DOCKER-BRIDGE (1 references) pkts bytes target prot opt in out source destination 0 0 DOCKER all -- * br-cc4063dc1551 0.0.0.0/0 0.0.0.0/0 0 0 DOCKER all -- * br-136ec243ad45 0.0.0.0/0 0.0.0.0/0 0 0 DOCKER all -- * br-1da91323ee59 0.0.0.0/0 0.0.0.0/0 0 0 DOCKER all -- * br-84fbcf14d094 0.0.0.0/0 0.0.0.0/0 0 0 DOCKER all -- * br-b141accd715e 0.0.0.0/0 0.0.0.0/0 0 0 DOCKER all -- * br-b162c77778c3 0.0.0.0/0 0.0.0.0/0 0 0 DOCKER all -- * docker0 0.0.0.0/0 0.0.0.0/0 Chain DOCKER-CT (1 references) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- * br-cc4063dc1551 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED 0 0 ACCEPT all -- * br-136ec243ad45 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED 0 0 ACCEPT all -- * br-1da91323ee59 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED 0 0 ACCEPT all -- * br-84fbcf14d094 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED 42423 3487K ACCEPT all -- * br-b141accd715e 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED 0 0 ACCEPT all -- * br-b162c77778c3 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED 0 0 ACCEPT all -- * docker0 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED Chain DOCKER-FORWARD (1 references) pkts bytes target prot opt in out source destination 77603 5461K DOCKER-CT all -- * * 0.0.0.0/0 0.0.0.0/0 35180 1974K DOCKER-ISOLATION-STAGE-1 all -- * * 0.0.0.0/0 0.0.0.0/0 35180 1974K DOCKER-BRIDGE all -- * * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT all -- br-cc4063dc1551 * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT all -- br-136ec243ad45 * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT all -- br-1da91323ee59 * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT all -- br-84fbcf14d094 * 0.0.0.0/0 0.0.0.0/0 35180 1974K ACCEPT all -- br-b141accd715e * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT all -- br-b162c77778c3 * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT all -- docker0 * 0.0.0.0/0 0.0.0.0/0 Chain DOCKER-ISOLATION-STAGE-1 (1 references) pkts bytes target prot opt in out source destination 0 0 DOCKER-ISOLATION-STAGE-2 all -- br-cc4063dc1551 !br-cc4063dc1551 0.0.0.0/0 0.0.0.0/0 0 0 DOCKER-ISOLATION-STAGE-2 all -- br-136ec243ad45 !br-136ec243ad45 0.0.0.0/0 0.0.0.0/0 0 0 DOCKER-ISOLATION-STAGE-2 all -- br-1da91323ee59 !br-1da91323ee59 0.0.0.0/0 0.0.0.0/0 0 0 DOCKER-ISOLATION-STAGE-2 all -- br-84fbcf14d094 !br-84fbcf14d094 0.0.0.0/0 0.0.0.0/0 35180 1974K DOCKER-ISOLATION-STAGE-2 all -- br-b141accd715e !br-b141accd715e 0.0.0.0/0 0.0.0.0/0 0 0 DOCKER-ISOLATION-STAGE-2 all -- br-b162c77778c3 !br-b162c77778c3 0.0.0.0/0 0.0.0.0/0 0 0 DOCKER-ISOLATION-STAGE-2 all -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0 Chain DOCKER-ISOLATION-STAGE-2 (7 references) pkts bytes target prot opt in out source destination 0 0 DROP all -- * docker0 0.0.0.0/0 0.0.0.0/0 0 0 DROP all -- * br-b162c77778c3 0.0.0.0/0 0.0.0.0/0 0 0 DROP all -- * br-b141accd715e 0.0.0.0/0 0.0.0.0/0 0 0 DROP all -- * br-84fbcf14d094 0.0.0.0/0 0.0.0.0/0 0 0 DROP all -- * br-1da91323ee59 0.0.0.0/0 0.0.0.0/0 0 0 DROP all -- * br-136ec243ad45 0.0.0.0/0 0.0.0.0/0 0 0 DROP all -- * br-cc4063dc1551 0.0.0.0/0 0.0.0.0/0 Chain DOCKER-USER (1 references) pkts bytes target prot opt in out source destination igor@debian13:~$
начиная с устройств через которые проходит запрос извне до целевого компа. sudo ufw status verbose может он вообще выключен, а так посмотреть что пишет.
На обоих устройствах: sudo: ufw: command not found ====================== Сейчас Оранж обновляется медленно, наиболее важная для меня железка. Меееедленно... Как обновится, я выдам ей другой адрес и перегружу. На ее место подсуну виртуалку с нужным адресом брокера, будет полегче
Еще интересная картинка из SyncThing: Это как раз китайский комп. На нем SyncThing синхронизируется внутри домашней сети с NAS. Логика. Компьютер N100 работает постоянно, ибо легкий и нешумный, с ним синхронизируются разные компы. NAS включается время от времени и бэкапится от него. В этот день, 7 сентября, NAS был включен все время, то есть - есть точное время возникновения проблем на железке. Забавно.
И вот появился свет в конце тоннеля... Следователь, держа в голове картинку из предыдущего поста, зашел из домашней сети на Оранжевую Пи и обратил внимание на приветственный скрин: ... Мысли, лежавшие до этого пластом вдоль железнодорожной рельсы начали шевелиться...
Да, только что решение было проверено. С чувством выжатой сельди пойду спать, а завтра расскажу в чем дело. Дело было не в бобине (не в файрволе). Уверен, некоторым это странное происшествие будет интересно и полезно.
Итак, по горячим следам... Как до революции в кабаках устанавливали программы на механические счеты? Код (Bash): sudo apt install какая-то-хрень Перед сим действом нужно было разобраться в туче предустановок необходимого софта. Не всегда это удавалось корректно, не всегда удавалось установить желаемую софтинку. Потом, после всех великих событий, программы стали устанавливать через docker compose, а наиболее великие мыслители узнали о Kubernetes. Например, разработчики TrueNAS применили это чудо в своем, как ни удивительно, NAS и открыли его всему миру задаром. И, как только некоторые правоверные DIYвайщики-антиардуиноссобщники, подросли - стали этим пользоваться. Вот пример того, без чего не может обойтись один из членов этой малочисленной группы: Все из увиденного выше в работе, кроме n8n, который хочется потестить, но как-то руки не доходят. Особенно доставляют (как без рук) audiobookshelf, calibre, immich и paperless-ngx! Рекомендую к любому приему пищи (духовной). Технический прогресс освободил некоторых неразумных персонажей, меня в частности, от мысли - а как там это все взаимодействует? Ведь как-то оно происходит... Продолжая не развиваться духовно, я начал устанавливать на описанное в первом посте железо всякие потребные программки по указанной (в первом посте) инструкции. Инструкция предложила docker через compose / dockge, я согласился: ново, занятно, пахнет приятно. Делал я это в воскресенье, из домашней сетки и все, на удивление, получалось и работало. До 13:41, как выяснилось (но позже). ------------------------------------------------------ Это была призказка. Теперь решение. Что Кубернетис на NAS, что Docker на железках организуют взаимодействие контейнеров без (необходимого, оно не возбраняется) участия пользователя, путем выдачи им адресов из запаса 172.16.0.0/12. Как это делает TrueNAS? Из консоли "ip route": NAS культурно отдает контейнерам адреса 172.16.Х.Х не вылезая за пределы 16 во второй позиции. А как это делает Docker без вмешательства? Вот скрин Оранжевой Пи: Эта железка без стыда и совести начала занимать широкий спектр внутренних адресов. Таким же образом повел себя и китайческий компьютер: Этот проходимец без надзора повторил те же танцевальные па - захватил аналогичные адреса. И, наконец, все стало ясно. Обе железки, в один момент, то есть, после установки какой-то программы, взяли адрес 172.20.0.0, на котором висела дачная сеть. Ничего страшного внутри локалки не произошло - все продолжало работать. Но вот любой запрос к этим железкам извне, превращал их в черную дыру: Докер запросы от внешних устройств 172.20.Х.Х не возвращал наружу, а держал в контейнере. Причем, эта ситуация возникла не сразу - сначала, видимо, распределялись адреса 17, 18, 19 и все было прекрасно. Итак, проблема была осознана именно со скриншота Желтой Пи - там я увидел адрес локалки дачи. Дальше возникло очевидное решение: коль скоро железки не занимают 16 - перенастроить локалку. Потом неочевидная проверка НАС показала, что и с 16 будут проблемы - NAS потеряется из виду. Однако, путь был открыт и все заработало после ряда манипуляций с адресом дачной сети... Спасибо за внимание, надеюсь кто-то воспользуется моим опытом в DIY строении сетей, НАС и всего остального.
Это нет dhcp. При подключении сети к сети адреса выдаются вручную. Адрес был выдан 172.20.5.0. И было это лет 10 назад. А потом Докер(ы) выдал(и) этот адрес своим контейнерам.