-
Постов
240 -
Зарегистрирован
-
Посещение
-
Победитель дней
6
DennoN стал победителем дня 6 августа 2024
DennoN имел наиболее популярный контент!
Оборудование
-
Кинетик
Keenetic Ultra KN-1811
Посетители профиля
1 757 просмотров профиля
Достижения DennoN

Поставщик контента (4/6)
146
Репутация
-
игрался с keepalived в Opkg. оно позволяет вешать дополнительный ip на интерфейс схема получается такая: роутер - 192.168.8.1 nas - 192.168.8.5 keepalived ip - 192.168.8.2 конфиг keepalived - скрипт проверки проверяет 53 порт на основном Ip устройств. Если на nas порт 53 отвечает, то ip 192.168.8.2 находится на нем. если же нет, то ip переезжает на интерфейс br0 в кинетик Сама сехма работает, все хорошо. Но есть приколы с настройкой Доступ к веб-приложениям домашней сети и Правила переадресации портов Как только я гашу 53 порт на nas, то у меня пропадет доступ по доменному имени, например serv.test.keenetic.pro. Выдает 502 ошибку. В Журнале кинетика видна запись kn-1811 nginx 2025/05/15 08:05:47 [error] 7623#0: *17237 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.8.10, server:serv.test.keenetic.pro, request: "POST /webapi/entry.cgi HTTP/2.0", upstream: "http://192.168.8.2:5000/webapi/entry.cgi", host: "serv.test.keenetic.pro", referrer: "https://serv.test.keenetic.pro/" То есть почему-то роутер решает направить трафик по ip 192.168.8.2, вместо 192.168.8.5, хотя в настройках хоть я и не выбираю ip, а устройство, прописан 192.168.8.5 Чинится это в веб интерфейсе вместо конкретного зарегистрированного устройства указанием Другой клиент и напрямую ip 192.168.8.5 Так же ломается Переадресация портов, например на прямую к http://мой_внешний_ip:5000 выдается страница c текстом ERR_CONNECTION_REFUSED но тут в логах кинетика чисто Тут уже нельзя указывать просто ip, нужно именно зарегистрированное устройство, так что это поправить в моменте не получилось Вопрос, можно ли как-то это победить? настройки nginx кинеткиа я не вижу, и не понимаю, каким боком оно записывает адрес апстрима 192.168.8.2, вместо зарегистрированного в веб морде 192.168.8.5 P.S.: как выдлядят интерфейсы:
-
а он и не должен заполняться. бгп не сохраняет свои таблицы в файл, все крутится в оперативке роутера схема работы тут https://github.com/DennoN-RUS/Bird4Static/wiki/Схема там видно, что при бгп файлы связанные с ним отсутствуют про диагностику расписано тут https://github.com/DennoN-RUS/Bird4Static/wiki/Диагностика#Полезные-команды можно смотреть и статус бгп и что по факту находится в таблицах маршрутизации через первый туннель, если его интерфейс не доступен или в состоянии down, то все оттуда будет идти через второй туннель. на схеме все так же это есть)
-
антифильтра 2 штуки. и у второго 2 варианта работы с бгп. какой именно вариант не работает?
-
нельзя. выше сообщение о том как это сделать для bird
-
однако прикольно) меняешь что-то в /tmp/hosts - оно попадет в /var/hosts. и в обратную сторону тоже работает) при этом на уровне файловой системы не вижу, что бы эти файлы друг на друга ссылались. и разделы в отдельные места подключены
-
Я проверял. Адгуард установлен из ентвари. Кладу в файл /opt/etc/hosts запись, после перезапуска адгуард все равно не видит ее. Когда кладу в /etc/hosts, перезапускаю адругард и запись появляется. Возможно баг в самом адгуарде... Но пока работает именно так. Меня очень смущает, что в веб интерфейсе в рантайм клиентах написано, что они из файла opt/etc/hosts, хотя по факту этот файл игнорируется Про фс ватчер, не знаю как часто он данные обновляет, у меня без рестарта не завелась. Команда reconfigure тоже не давала результата
-
Делюсь скриптом, который автоматически загружает зарегистрированных клиентов в runtime клиенты adguard home Описание Плюсы этого решения перед ручным добавлением клиентов в adguard - это автоматическое слежение за именами хостов, их ip адресами, и позволяет довольно просто узнать какие ipv6 адреса у устройств в сети, так как в кинетике за этим следить по умолчанию нельзя. Минусы - нельзя навесить какие-то права на устройство, тогда все равно вручную нужно будет добавлять клиента Логика работы скрипта Скачивание скрипта Заходим на ssh в entware, ставим нужные пакеты: opkg install cron curl diffutils patch Создаем папку и скачиваем в нее файл скрипта, делаем его исполняемым mkdir scripts curl https://raw.githubusercontent.com/DennoN-RUS/scripts/main/keenetic/add-instance-in-hosts.sh > scripts/add-instance-in-hosts.sh chmod +x scripts/add-instance-in-hosts.sh Настройка и запуск скрипта Перед запуском нужно внести пару изменений в сам скрипт Открываем файл на редактирование и меняем: local_iface=br0 Где br0 имя интерфейса локальной сети, узнать его можно выполнив команду: ip a | grep -B2 "192.168.1.1" Где 192.168.1.1 адрес роутера в локальной сети router_name=S-KN-1811 Сюда пишем имя роутера, любое, без пробелов, только латиница, цифры и знак - ipv6_enable=1 Если 1, то скрипт будет пытаться определить ipv6 адреса устройств. Если 0, то будет пропускать этот шаг get_old=1 Можно поставить 0 - это выключено и 1 - это включено. Если включено, будет создавать файл /opt/etc/host.old, в который будут попадать устройства, которые были разрегистрированны в кинетике или же у них пропал ipv6 адрес, если он был до этого. На функционал не влияет, но можно будет понять, что в хостах осталось что-то старое и не нужное. Можно выключть, что бы не записывать на флешку каждый раз, когда устройство пропадет из сети (актуально только для ipv6) SCRIPT_PATH="$SYSTEM_PATH/root/scripts" Скрипт должен лежать по пути /opt/root/scripts, если в каком-то другом месте, то можно поменять путь в этой переменной Запускаем скрипт: ./scripts/add-instance-in-hosts.sh Проверка Всегда актуальная инструкция лежит тут Сам скрипт размещен на гитхабе тут
-
Смысл в том, что в том же Адгуард хоум есть возможность настройки типа такой: 5.6.7.8:53 [//]4.3.2.1:53 [/com/]1.2.3.4:53 Пустая спецификация домена, // имеет особое значение «неквалифицированный только имена», то есть имена без точек, например myhost или router. Они будут использоваться только для разрешения запросов на неквалифицированные доменные имена, но а не их поддомены. https://github.com/AdguardTeam/AdGuardHome/wiki/Configuration#upstreams То есть если мы освободим порт 53 прошивочным дсном и перенесем его на 5353 например то можно будет его указать в // и получать возможность хождения по именам устройств. Сейчас же днс полностью отключается, и что-либо из него достать не возможно
-
Тут я не силен. Для bird помогало, как ты сделал, для ипсета вообще не представляю) Возможно дело в фаерволе и правила надо в самый верх вставлять, но это не точно)
-
Можно. Ipset это отдельная репа со своей установки и работает отдельно от bird. Как и bird работает отдельно от ипсета. При обновлении bird всего лишь спросит: хотите установить дополнение или нет. Можно отказаться
-
Мои коммиты там ни при чем. В ентваре после обновления пакета git его поломали. Возможно ещё от архитектуры процессора зависит
-
@Keerum Вместо import all; прописать что то такое import filter { if (bgp_community ~ [(65432,100)]) then accept; if (bgp_community ~ [(65432,200)]) then accept; if (bgp_community ~ [(65432,400)]) then accept; if (bgp_community ~ [(65432,500)]) then accept; reject; }; Но эти правила наоборот ограничивают что получать. В конфиге по умолчанию импортируется все.
-
ну вряд ли адреса станут не актуальными) пока можно так чистить /opt/etc/init.d/S03-ipset-table.sh restart оно при стопе чистит списки ипсета. Про крон подумаю, возможно сделаю. нну и при обновлении списка тоже наврено стоит очищать ипсет, а то вдруг адрес оттуда удалили. Можно пытаться выгружать текущие списки в ипсет и добавлять их в bird, но смысла в этом нет. К примеру в ипсете у тебя уже прописано гуглвидео.ком, вот зашел ты на фывфыв.гуглвидео.ком. и тот ip отправился в ипсет, мы его каким-то макаром с задержкой отправили в bird. Потом отправляем этот список другому кинетику в bird. А там внезапно хотят открыть не фывфыв.гуглвидео.ком, а абвабв.гуглвидео.ком, у которого совершенно другой ип
-
1) Команда должна показать в списке в том числе и ip этого домена ipset list ipset_vpn1 2) Если в bird есть конфиг, который направляет в провайдера, то проверить, что туда не затесалось ip того же сайта. ip route list table 1020 | grep (интерфейс провайдера или часть ip сайта)
-
Если укажешь гуглвидео.ком то и *.гуглвидео.ком туда же попадет. Дополнительно указывать не нужно. Ip попадает в маршрутизацию в момент обращения к днс серверу за резолвом домена