<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>@dennon</title><subtitle>Донат: https://pay.cloudtips.ru/p/39717133</subtitle><author><name>@dennon</name></author><id>https://teletype.in/atom/dennon</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/dennon?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@dennon?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=dennon"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/dennon?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-04-25T04:37:43.637Z</updated><entry><id>dennon:yHluhGlcNY9</id><link rel="alternate" type="text/html" href="https://teletype.in/@dennon/yHluhGlcNY9?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=dennon"></link><title>Настройка keepalived на keenetic и nas</title><published>2025-05-15T09:02:05.282Z</published><updated>2025-05-30T17:42:48.714Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img3.teletype.in/files/a1/bc/a1bcd82f-8063-4028-ac79-91d218dc9c3c.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img1.teletype.in/files/ce/88/ce88af5a-4d86-4b61-ad80-15b38ee1fbab.png&quot;&gt;Настройка keepalived на keenetic и nas</summary><content type="html">
  &lt;p id=&quot;66wN&quot;&gt;Оглавление&lt;/p&gt;
  &lt;nav&gt;
    &lt;ul&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#mTou&quot;&gt;1. Описание&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#elEu&quot;&gt;2. Запуск и настройка на nas в docker&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_2&quot;&gt;&lt;a href=&quot;#l7zo&quot;&gt;2.1. Подготовка конфига&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_2&quot;&gt;&lt;a href=&quot;#FEnc&quot;&gt;2.2. Запуск контейнера&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_2&quot;&gt;&lt;a href=&quot;#sUrN&quot;&gt;2.3. Проверка&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#qxEe&quot;&gt;3. Запуск и настройка на keenetic через opkg&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_2&quot;&gt;&lt;a href=&quot;#7upN&quot;&gt;3.1. Установка&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_2&quot;&gt;&lt;a href=&quot;#2uVe&quot;&gt;3.2. Настройка&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_2&quot;&gt;&lt;a href=&quot;#hsv7&quot;&gt;3.3. Проверка&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#O7Ek&quot;&gt;4. Особенности и проблемы&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_2&quot;&gt;&lt;a href=&quot;#UWke&quot;&gt;4.1. Настройки dns серверов&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_2&quot;&gt;&lt;a href=&quot;#8Y2Z&quot;&gt;4.2. Проблемы с пробросом портов и доменных имен на кинетике&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/nav&gt;
  &lt;h2 id=&quot;mTou&quot;&gt;1. Описание&lt;/h2&gt;
  &lt;p id=&quot;rzxl&quot;&gt;Keepalived позволяет вешать на интерфейс дополнительный ip к текущему, при этом есть логика проверок и веса, что позволяет убирать этот ip с одного устройства и добавлять его к другому, если проверка на первом устройстве провалилась.&lt;/p&gt;
  &lt;p id=&quot;e5dw&quot;&gt;В данном случае используется для переброса ip для dns сервера с nas на роутер, если вдруг nas перестает отвечать по 53-ему порту или вообще выключен. Нужно для того, что бы если nas не доступен - то днс запросы от клиентов продолжали обрабатываться.&lt;/p&gt;
  &lt;p id=&quot;ghf9&quot;&gt;Работает это только в рамках одной локальной сети&lt;/p&gt;
  &lt;h2 id=&quot;elEu&quot;&gt;2. Запуск и настройка на nas в docker&lt;/h2&gt;
  &lt;p id=&quot;yR7P&quot;&gt;Официального контейнера keepalived нет, использую его &lt;a href=&quot;https://github.com/shawly/docker-keepalived&quot; target=&quot;_blank&quot;&gt;отсюда&lt;/a&gt;&lt;br /&gt;Там довольно свежая версия кипалайва&lt;/p&gt;
  &lt;h3 id=&quot;l7zo&quot;&gt;2.1. Подготовка конфига&lt;/h3&gt;
  &lt;p id=&quot;Xxxg&quot;&gt;Создаем папку для конфига. У меня она расположена в /volume1/docker/&lt;br /&gt;Там создаем папку keepalived&lt;br /&gt;А в ней создаем файл keepalived.conf с содержимым:&lt;/p&gt;
  &lt;pre id=&quot;iBDH&quot; data-lang=&quot;bash&quot;&gt;vrrp_script chk_dns_port {
    script &amp;quot;bash -c &amp;#x27;&amp;lt;/dev/tcp/IP_NAS/53&amp;#x27;&amp;quot;
    interval 1
    weight 51
    timeout 1
}

vrrp_instance VI_DNS {
    interface INTERFACE_NAME
    state MASTER
    virtual_router_id 51
    priority 100
    virtual_ipaddress {
        IP_KEEPALIVED/24 dev INTERFACE_NAME
    }
    track_script {
        chk_dns_port 
    }
}&lt;/pre&gt;
  &lt;p id=&quot;aDUv&quot;&gt;Меняем:&lt;/p&gt;
  &lt;ul id=&quot;ltGa&quot;&gt;
    &lt;li id=&quot;a8i8&quot;&gt;&lt;code&gt;IP_NAS&lt;/code&gt; на ip адрес nas в локальной сети (в моем случае &lt;code&gt;192.168.8.5&lt;/code&gt;)&lt;/li&gt;
    &lt;li id=&quot;ozXf&quot;&gt;&lt;code&gt;INTERFACE_NAME&lt;/code&gt; на имя интерфейса nas, который для локальной сети (в моем случае &lt;code&gt;bond0&lt;/code&gt;)&lt;/li&gt;
    &lt;li id=&quot;ycfH&quot;&gt;&lt;code&gt;IP_KEEPALIVED&lt;/code&gt; на ip, который будет прыгать между nas и роутером (в моем случае &lt;code&gt;192.168.8.2&lt;/code&gt;)&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h3 id=&quot;FEnc&quot;&gt;2.2. Запуск контейнера&lt;/h3&gt;
  &lt;pre id=&quot;2tIl&quot; data-lang=&quot;bash&quot;&gt;docker run -d \
    --name=keepalived \
    --cap-add=NET_ADMIN \
    --cap-add=NET_BROADCAST \
    --net host \
    --restart unless-stopped \
    -e TZ=Europe/Moscow\
    -e KEEPALIVED_CUSTOM_CONFIG=true \
    -v &amp;quot;/volume1/docker/keepalived/keepalived.conf:/etc/keepalived/keepalived.conf:ro&amp;quot; \
    shawly/keepalived&lt;/pre&gt;
  &lt;p id=&quot;x8Ph&quot;&gt;Меняем &lt;code&gt;/volume1/docker/keepalived/keepalived.conf&lt;/code&gt; на свой путь к файлу&lt;/p&gt;
  &lt;h3 id=&quot;sUrN&quot;&gt;2.3. Проверка&lt;/h3&gt;
  &lt;p id=&quot;rG5W&quot;&gt;Вводим в терминал команду &lt;code&gt;ip a&lt;/code&gt; и в выводе будет на нужном интерфейсе уже 2 ip адреса. В моем случае это &lt;code&gt;192.168.8.5&lt;/code&gt; и &lt;code&gt;192.168.8.2&lt;/code&gt;&lt;/p&gt;
  &lt;pre id=&quot;nQ8V&quot; data-lang=&quot;bash&quot;&gt;5: bond0: &amp;lt;BROADCAST,MULTICAST,MASTER,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
    inet 192.168.8.5/24 brd 192.168.8.255 scope global bond0
       valid_lft forever preferred_lft forever
    inet 192.168.8.2/24 scope global secondary bond0
       valid_lft forever preferred_lft forever&lt;/pre&gt;
  &lt;p id=&quot;eh4v&quot;&gt;Логи работы будут в &lt;code&gt;docker logs keepalived&lt;/code&gt;&lt;/p&gt;
  &lt;h2 id=&quot;qxEe&quot;&gt;3. Запуск и настройка на keenetic через opkg&lt;/h2&gt;
  &lt;h3 id=&quot;7upN&quot;&gt;3.1. Установка&lt;/h3&gt;
  &lt;p id=&quot;PFZM&quot;&gt;В консоли роутера вводим &lt;code&gt;opkg install keepalived&lt;/code&gt; &lt;/p&gt;
  &lt;p id=&quot;L9Bs&quot;&gt;И все, переходим к настройке. Раньше нужно было еще создать файл для запуска службы, но уже добавлено в репозиторий при установке, так что идем сразу в пункт 3.2, а текст ниже оставлен для истории&lt;/p&gt;
  &lt;blockquote id=&quot;tBbm&quot;&gt;Создаем файл для автозапуска и управления службой:&lt;br /&gt;&lt;code&gt;vi /opt/etc/init.d/S81keepalived&lt;/code&gt;&lt;/blockquote&gt;
  &lt;blockquote id=&quot;H0sB&quot;&gt;И вставляем в него содержимое:&lt;/blockquote&gt;
  &lt;pre id=&quot;iNQs&quot; data-lang=&quot;bash&quot;&gt;#!/bin/sh

ENABLED=yes
PROCS=keepalived
ARGS=&amp;quot;&amp;#x27;--dont-fork&amp;#x27; &amp;#x27;--dump-conf&amp;#x27; &amp;#x27;--log-detail&amp;#x27; &amp;#x27;--vrrp&amp;#x27;&amp;quot;
PREARGS=&amp;quot;&amp;quot;
DESC=$PROCS
PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

. /opt/etc/init.d/rc.func&lt;/pre&gt;
  &lt;blockquote id=&quot;tig7&quot;&gt;Даем права на запуск командой &lt;code&gt;chmod +x /opt/etc/init.d/S81keepalived&lt;/code&gt;&lt;/blockquote&gt;
  &lt;h3 id=&quot;2uVe&quot;&gt;3.2. Настройка&lt;/h3&gt;
  &lt;p id=&quot;ssMG&quot;&gt;Переносим стандартный конфиг командой &lt;code&gt;mv /opt/etc/keepalived/keepalived.conf /opt/etc/keepalived/keepalived.conf.opkg&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;p2z2&quot;&gt;Создаем файл снова &lt;code&gt;vi /opt/etc/keepalived/keepalived.conf&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;PkuI&quot;&gt;Заполняем содержимым:&lt;/p&gt;
  &lt;pre id=&quot;8MEx&quot; data-lang=&quot;bash&quot;&gt;vrrp_script chk_dns_port {
       script &amp;quot;bash -c &amp;#x27;&amp;lt;/dev/tcp/IP_ROUTER/53&amp;#x27;&amp;quot; 
       interval 1
       weight 51
       timeout 1
       fail 1 
}

vrrp_instance VI_DNS {
    interface INTERFACE_NAME
    state BACKUP
    virtual_router_id 51
    priority 50
    virtual_ipaddress {
        IP_KEEPALIVED/24 dev INTERFACE_NAME
    }
    track_script {
       chk_dns_port 
    }
}&lt;/pre&gt;
  &lt;p id=&quot;OFiY&quot;&gt;Меняем:&lt;/p&gt;
  &lt;ul id=&quot;Nl51&quot;&gt;
    &lt;li id=&quot;nKOe&quot;&gt;&lt;code&gt;IP_ROUTER&lt;/code&gt; на ip адрес роутера в локальной сети (в моем случае &lt;code&gt;192.168.8.1&lt;/code&gt;)&lt;/li&gt;
    &lt;li id=&quot;c6mz&quot;&gt;&lt;code&gt;INTERFACE_NAME&lt;/code&gt; на имя интерфейса роутера, который для локальной сети (в моем случае &lt;code&gt;br0&lt;/code&gt;)&lt;/li&gt;
    &lt;li id=&quot;T4Lq&quot;&gt;&lt;code&gt;IP_KEEPALIVED&lt;/code&gt; на ip, который будет прыгать между nas и роутером (в моем случае &lt;code&gt;192.168.8.2&lt;/code&gt;)&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;0v6w&quot;&gt;Запускаем командой &lt;code&gt;/opt/etc/init.d/S81keepalived start&lt;/code&gt;&lt;/p&gt;
  &lt;h3 id=&quot;hsv7&quot;&gt;3.3. Проверка&lt;/h3&gt;
  &lt;p id=&quot;vIUP&quot;&gt;Останавливаем днс на nas, и смотрим что на роутере появился адрес &lt;code&gt;192.168.8.2&lt;/code&gt; по команде &lt;code&gt;ip a&lt;/code&gt;&lt;/p&gt;
  &lt;pre id=&quot;LBBl&quot; data-lang=&quot;bash&quot;&gt;39: br0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue 
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
    inet 192.168.8.1/24 brd 192.168.8.255 scope global br0
       valid_lft forever preferred_lft forever
    inet 192.168.8.2/24 scope global secondary br0
       valid_lft forever preferred_lft forever&lt;/pre&gt;
  &lt;p id=&quot;2R3B&quot;&gt;Логи работы будут в системном журнале Кинетика&lt;/p&gt;
  &lt;h2 id=&quot;O7Ek&quot;&gt;4. Особенности и проблемы&lt;/h2&gt;
  &lt;h3 id=&quot;UWke&quot;&gt;4.1. Настройки dns серверов&lt;/h3&gt;
  &lt;p id=&quot;3ehT&quot;&gt;В настройках днс серверов нужно прописывать адрес для прослушивания или &lt;code&gt;0.0.0.0&lt;/code&gt; (все адреса) или же указать точечно &lt;code&gt;127.0.0.1,192.168.8.1,192.168.8.2&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;j48n&quot;&gt;В общем важно, что бы адрес &lt;code&gt;192.168.8.2&lt;/code&gt; с портом &lt;code&gt;53&lt;/code&gt; слушался днс сервером. Проверить можно командой &lt;code&gt;netstat -tplun | grep 53&lt;/code&gt; и посмотреть на каких адресах висит прослушка&lt;/p&gt;
  &lt;p id=&quot;Qbkn&quot;&gt;Так же в настройках DHCP роутера нужно будет указать ip dns для раздачи в виде  &lt;code&gt;192.168.8.2&lt;/code&gt;&lt;/p&gt;
  &lt;h3 id=&quot;8Y2Z&quot;&gt;4.2. Проблемы с пробросом портов и доменных имен на кинетике&lt;/h3&gt;
  &lt;ul id=&quot;P9G9&quot;&gt;
    &lt;li id=&quot;V8nX&quot;&gt;Если используются пробросы портов на nas, то в тот момент, когда адрес &lt;code&gt;192.168.8.2&lt;/code&gt; висит на роутере, а не на nas, то переадресация портов ломается и не работает. Решение такое: нужно в переадресации портов, вместо зарегистрированного устройства указать Другой клиент и вбить просто ip адрес &lt;code&gt;192.168.8.5&lt;/code&gt;&lt;/li&gt;
    &lt;li id=&quot;bS75&quot;&gt;Если используется доступ по доменному имени и проксируется запрос на nas, например adg.test.keenetic.pro ведет на веб админку AdguardHome на nas, то тоже ломается. Тут решение такое же, нужно в переадресации в Настройках доступа вместо зарегистрированного устройства указать Другой клиент и вбить просто ip адрес &lt;code&gt;192.168.8.5&lt;/code&gt;&lt;/li&gt;
  &lt;/ul&gt;

</content></entry><entry><id>dennon:Avtomaticheskoe-dobavlenie-klientov-v-Adguard</id><link rel="alternate" type="text/html" href="https://teletype.in/@dennon/Avtomaticheskoe-dobavlenie-klientov-v-Adguard?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=dennon"></link><title>Автоматическое добавление клиентов в AdguardHome из роутера Keenetic</title><published>2024-09-19T08:14:12.122Z</published><updated>2024-09-19T10:15:59.853Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img2.teletype.in/files/9e/8b/9e8b3ca4-0778-405d-89ce-b7dcc0cce68f.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img3.teletype.in/files/68/a7/68a7d298-db81-40f8-b46e-2d2efdc6924a.png&quot;&gt;Добавление клиентов в Adguard из Keenetic</summary><content type="html">
  &lt;p id=&quot;SH7f&quot;&gt;Оглавление&lt;/p&gt;
  &lt;nav&gt;
    &lt;ul&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#1.-Описание&quot;&gt;1. Описание&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#2.-Логика-работы-скрипта&quot;&gt;2. Логика работы скрипта&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#3.-Скачивание-скрипта&quot;&gt;3. Скачивание скрипта&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#4.-Настройка-и-запуск-скрипта&quot;&gt;4. Настройка и запуск скрипта&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#5.-Проверка&quot;&gt;5. Проверка&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/nav&gt;
  &lt;h3 id=&quot;1.-Описание&quot;&gt;1. Описание&lt;/h3&gt;
  &lt;p id=&quot;2GCN&quot;&gt;AdguardHome позволяет автоматически подгружать список имен клиентов из файла &lt;code&gt;/etc/hosts&lt;/code&gt; в runtime клиенты. Выглядит это так:&lt;/p&gt;
  &lt;figure id=&quot;ANcD&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/68/a7/68a7d298-db81-40f8-b46e-2d2efdc6924a.png&quot; width=&quot;594&quot; /&gt;
    &lt;figcaption&gt;Главная страница&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;figure id=&quot;9iBE&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/00/31/003113eb-57a2-4c87-872a-f2077f7f4cd5.png&quot; width=&quot;640&quot; /&gt;
    &lt;figcaption&gt;При этом в ручную добавленных клиентов нет&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;figure id=&quot;85s0&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/c5/32/c532b9a9-e8ec-45a9-9290-ec5c88fb172b.png&quot; width=&quot;586&quot; /&gt;
    &lt;figcaption&gt;Зарегистрированные клиенты в роутере&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;57C8&quot;&gt;Плюсы этого решения перед ручным добавлением клиентов в adguard - это автоматическое слежение за именами хостов, их ip адресами, и позволяет довольно просто узнать какие ipv6 адреса у устройств в сети, так как в кинетике за этим следить по умолчанию нельзя.&lt;/p&gt;
  &lt;p id=&quot;1a6A&quot;&gt;Минусы - нельзя навесить какие-то права на устройство, тогда все равно вручную нужно будет добавлять клиента&lt;/p&gt;
  &lt;p id=&quot;0lHy&quot;&gt;[&lt;a href=&quot;#SH7f&quot;&gt;в начало&lt;/a&gt;]&lt;/p&gt;
  &lt;h3 id=&quot;2.-Логика-работы-скрипта&quot;&gt;2. Логика работы скрипта&lt;/h3&gt;
  &lt;p id=&quot;eHih&quot;&gt;Что бы автоматически добавлять клиентов в файл &lt;code&gt;/etc/hosts&lt;/code&gt; (по факту этот файл является ссылкой на &lt;code&gt;/var/hosts&lt;/code&gt;) был написан скрипт, который:&lt;br /&gt;1) выдергивает зарегистрированных клиентов из кинетика&lt;br /&gt;2) добавляет их ipv4 адреса с их именем в файл &lt;code&gt;/var/hosts&lt;/code&gt;&lt;br /&gt;3) Так же скрипт ищет текущие ipv6 адреса в сети и сопоставляет по MAC адресу их с зарегистрированными клиентами и так же добавляет в &lt;code&gt;/var/hosts&lt;/code&gt;&lt;br /&gt;4) При наличии изменений в файле &lt;code&gt;/var/hosts&lt;/code&gt; перезапускает adguard&lt;br /&gt;5) Запускается при старте роутера и раз в час по крону&lt;/p&gt;
  &lt;p id=&quot;x661&quot;&gt;[&lt;a href=&quot;#_tl_editor&quot;&gt;в начало&lt;/a&gt;]&lt;/p&gt;
  &lt;h3 id=&quot;3.-Скачивание-скрипта&quot;&gt;3. Скачивание скрипта&lt;/h3&gt;
  &lt;p id=&quot;tK95&quot;&gt;3.1. Заходим на ssh в entware, ставим нужные пакеты:&lt;/p&gt;
  &lt;pre id=&quot;2nCx&quot; data-lang=&quot;bash&quot;&gt;opkg install cron curl diffutils patch&lt;/pre&gt;
  &lt;p id=&quot;jAVi&quot;&gt;3.2. Создаем папку и скачиваем в нее файл скрипта, делаем его исполняемым&lt;/p&gt;
  &lt;pre id=&quot;hVJO&quot; data-lang=&quot;bash&quot;&gt;mkdir scripts
curl https://raw.githubusercontent.com/DennoN-RUS/scripts/main/keenetic/add-instance-in-hosts.sh &amp;gt; scripts/add-instance-in-hosts.sh
chmod +x scripts/add-instance-in-hosts.sh&lt;/pre&gt;
  &lt;p id=&quot;bjAp&quot;&gt;&lt;a href=&quot;https://github.com/DennoN-RUS/scripts/blob/main/keenetic/add-instance-in-hosts.sh&quot; target=&quot;_blank&quot;&gt;Ссылка на скрипт&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;1GeZ&quot;&gt;[&lt;a href=&quot;#_tl_editor&quot;&gt;в начало&lt;/a&gt;]&lt;/p&gt;
  &lt;h3 id=&quot;4.-Настройка-и-запуск-скрипта&quot;&gt;4. Настройка и запуск скрипта&lt;/h3&gt;
  &lt;p id=&quot;CjfA&quot;&gt;Перед запуском нужно внести пару изменений в сам скрипт&lt;br /&gt;4.1. Открываем файл на редактирование и меняем:&lt;/p&gt;
  &lt;pre id=&quot;1cUA&quot; data-lang=&quot;bash&quot;&gt;local_iface=br0&lt;/pre&gt;
  &lt;p id=&quot;RLiN&quot;&gt;Где &lt;code&gt;br0&lt;/code&gt; имя интерфейса локальной сети, узнать его можно выполнив команду:&lt;/p&gt;
  &lt;pre id=&quot;bSzl&quot; data-lang=&quot;bash&quot;&gt;ip a | grep -B2 &amp;quot;192.168.1.1&amp;quot;&lt;/pre&gt;
  &lt;p id=&quot;dpSd&quot;&gt;Где &lt;code&gt;192.168.1.1&lt;/code&gt; адрес роутера в локальной сети&lt;/p&gt;
  &lt;pre id=&quot;e1hj&quot; data-lang=&quot;bash&quot;&gt;router_name=S-KN-1811&lt;/pre&gt;
  &lt;p id=&quot;P9w7&quot;&gt;Сюда пишем имя роутера, любое, без пробелов, только латиница, цифры и знак -&lt;/p&gt;
  &lt;pre id=&quot;26wm&quot; data-lang=&quot;bash&quot;&gt;ipv6_enable=1&lt;/pre&gt;
  &lt;p id=&quot;ydB9&quot;&gt;Если 1, то скрипт будет пытаться определить ipv6 адреса устройств. Если 0, то будет пропускать этот шаг&lt;/p&gt;
  &lt;pre id=&quot;mWAF&quot; data-lang=&quot;bash&quot;&gt;get_old=1&lt;/pre&gt;
  &lt;p id=&quot;to4q&quot;&gt;Можно поставить 0 - это выключено и 1 - это включено. Если включено, будет создавать файл &lt;code&gt;/opt/etc/host.old&lt;/code&gt;, в который будут попадать устройства, которые были разрегистрированны в кинетике или же у них пропал ipv6 адрес, если он был до этого. На функционал не влияет, но можно будет понять, что в хостах осталось что-то старое и не нужное. Можно выключть, что бы не записывать на флешку каждый раз, когда устройство пропадет из сети (актуально только для ipv6)&lt;/p&gt;
  &lt;pre id=&quot;c74C&quot; data-lang=&quot;bash&quot;&gt;SCRIPT_PATH=&amp;quot;$SYSTEM_PATH/root/scripts&amp;quot;&lt;/pre&gt;
  &lt;p id=&quot;AN1d&quot;&gt;Скрипт должен лежать по пути /opt/root/scripts, если в каком-то другом месте, то можно поменять путь в этой переменной&lt;/p&gt;
  &lt;p id=&quot;xUni&quot;&gt;4.2. Запускаем скрипт&lt;/p&gt;
  &lt;pre id=&quot;BApY&quot; data-lang=&quot;bash&quot;&gt;./scripts/add-instance-in-hosts.sh&lt;/pre&gt;
  &lt;p id=&quot;3gEN&quot;&gt;[&lt;a href=&quot;#_tl_editor&quot;&gt;в начало&lt;/a&gt;]&lt;/p&gt;
  &lt;h3 id=&quot;5.-Проверка&quot;&gt;5. Проверка&lt;/h3&gt;
  &lt;p id=&quot;i1XH&quot;&gt;После того, как скрипт запустился он:&lt;br /&gt;1) создаст файл &lt;code&gt;/opt/etc/init.d/S04user-scripts&lt;/code&gt;, который будет запускаться при старте системы и заполнять файл &lt;code&gt;/var/hosts&lt;/code&gt;&lt;br /&gt;2) создаст ссылку на себя же в папке &lt;code&gt;/opt/etc/cron.hourly/&lt;/code&gt; для запуска раз в час&lt;br /&gt;3) заполнит полными данными файл &lt;code&gt;/opt/etc/host.res&lt;/code&gt;, формат такой: &lt;code&gt;Имя MAC IP #Дата добавления/изменения в файле этой строки&lt;/code&gt;&lt;br /&gt;4) заполнит файл &lt;code&gt;/var/hosts&lt;/code&gt;, формат такой: &lt;code&gt;IP Имя&lt;/code&gt;&lt;br /&gt;5) перезапустит adguard, что бы тот перечитал файл &lt;code&gt;/etc/hosts&lt;/code&gt;, рестарт будет происходить каждый раз, когда в файл &lt;code&gt;/var/hosts&lt;/code&gt; (он же &lt;code&gt;/etc/hosts&lt;/code&gt;) внесены изменения&lt;/p&gt;
  &lt;p id=&quot;8GQn&quot;&gt;[&lt;a href=&quot;#_tl_editor&quot;&gt;в начало&lt;/a&gt;]&lt;/p&gt;

</content></entry></feed>