Jump to content

ankar84

Forum Members
  • Posts

    403
  • Joined

  • Last visited

  • Days Won

    3

ankar84 last won the day on January 24 2020

ankar84 had the most liked content!

1 Follower

Converted

  • Location
    Новосибирск

Equipment

  • Keenetic
    Keenetic Giga (KN-1010) 3.3.9

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

ankar84's Achievements

Honored Flooder

Honored Flooder (5/5)

127

Reputation

2

Community Answers

  1. Доброго вам дня! Подскажите, не пришло ли время для привязки к домену dot/doh серверов?
  2. Для удобства пользователей прошу создать шаблон Instant View для Telegram для статей базы знаний и других статичных информационных страниц.
  3. Моих знаний сети и Linux уже тоже явно не хватает для решения вашей проблемы. Нужно звать @avn или еще кого-то из гуру.
  4. Добавить данный функционал в базовую прошивку было бы очень здорово и решило бы приличное количество проблем. Но пока этого нет, рекомендую данный способ (необходимо Entware)
  5. В настройках пира туннеля Wireguard должна быть вот такая разрешенная сеть 0.0.0.0/0 (весть интернет)
  6. Тогда давайте посмотрим traceroute до узла в списке. Как я писал выше, для проверки я добавил 2ip.ua в список обхода. Вот что получается у меня: ~ # traceroute 2ip.ua traceroute to 2ip.ua (77.123.139.189), 30 hops max, 38 byte packets 1 172.16.82.5 (172.16.82.5) 173.835 ms 173.622 ms 173.751 ms 2 внешний адрес туннеля То есть сразу же первым хопом мы должны получить второй конец тоннеля (в вашем случае это кажется будет 10.0.0.1) а у меня настроено по инструкциям из базы знаний сервер 172.16.82.1 и пир 172.16.82.5
  7. Адрес роутера на интерфейсе VPN. Видимо да, 10.0.0.4 Тут я смотрел в журнале роутера когда дергал тумблер своего wireguard подключения. Что в логах написано, то и нужно в этот скрипт записать. В моем случае без нуля (имя брал из журнала Диагностики роутера). У вас, возможно и с нулем, посмотрите как определяется в логах. Обновление: сейчас у себя в логах глянул, у меня тоже с нулем - а именно вот так Wireguard0 называется это подключение. Но точно было с маленькой буквы и без нуля ранее. А вот на 3.3.10 вот так. Пойду проверю работу схемы. Обновление 2: да, у меня и в диагностике Wireguard0 и в скрипте Wireguard0 и все работает. Вот как выглядит мой скрипт: ~ # cat /opt/etc/ndm/ifstatechanged.d/100-add_unblock_route.sh #!/bin/sh [ "$1" == "hook" ] || exit 0 [ "$change" == "link" ] || exit 0 [ "$id" == "Wireguard0" ] || exit 0 case ${id}-${change}-${connected}-${link}-${up} in Wireguard0-link-no-down-down) ip route flush table 1000 ip rule del from all table 1000 priority 1777 ;; Wireguard0-link-yes-up-up) ip rule add from all table 1000 priority 1777 /opt/bin/unblock_vpn.sh & ;; esac exit 0
  8. Правило есть, это очень хорошо. Осталось разобраться с заполнением таблицы. Я выше описал как это сделать.
  9. Давайте по порядку. Выполнили необходимые переименования имен интерфейсов под свой VPN туннель? В том же файле /opt/etc/ndm/ifstatechanged.d/100-add_unblock_route.sh нужно сделать замены в следующих строках вместо wireguard имя своего интерфейса [ "$id" == "wireguard" ] || exit 0 wireguard-link-no-down-down) wireguard-link-yes-up-up) А в строках 10 и 13 предлагаю использовать более универсальную команду, чтобы из всех источников пакеты отправлялись в туннель, если адрес назначения из таблицы 1000 ip rule add from all table 1000 priority 1776 Скорее всего нужный вам интерфейс носит название VPNL2TPServer и тогда скрипт должен выглядеть вот так: #!/bin/sh [ "$1" == "hook" ] || exit 0 [ "$change" == "link" ] || exit 0 [ "$id" == "VPNL2TPServer" ] || exit 0 case ${id}-${change}-${connected}-${link}-${up} in VPNL2TPServer-link-no-down-down) ip route flush table 1000 ip rule del from all table 1000 priority 1776 2>/dev/null ;; VPNL2TPServer-link-yes-up-up) ip rule add from all table 1000 priority 1776 2>/dev/null /opt/bin/unblock_vpn.sh & ;; esac exit 0 Но тут я могу и ошибаться, пробуйте. Нужно понять, заполняется ли вообще таблица. Что дает выполнение команды /opt/bin/unblock_vpn.sh ? Есть ли у вас файл /opt/etc/unblock-vpn.txt ? Есть ли в нем нужные вам данные? В файле /opt/bin/unblock_vpn.sh, так же нужно провести несколько замен под свои данные: ip route add table 1000 $cidr via 10.64.0.1 dev nwg1 2>/dev/null ip route add table 1000 $addr via 10.64.0.1 dev nwg1 2>/dev/null awk '{system("ip route add table 1000 "$1" via 10.64.0.1 dev nwg1 2>/dev/null")}' Здесь нужно заменить 10.64.0.1 на IP адрес роутера интерфейса вашего L2TP туннеля, и nwg1 нужно заменить на имя вашего интерфейса L2TP туннеля. Посмотреть имена всех интерфейсов можно командой ifconfig Затем пробуем сначала успешно забить таблицу адресами и сетями и проверяем ее заполненность командой ip route show table 1000 И если таблица заполнена нужными нам данными можно приступать к следующим шагам в диагностике запустить скрипт /opt/etc/ndm/ifstatechanged.d/100-add_unblock_route.sh и проверить таблицу маршрутизации ip rule list Там должно быть правило 1776, которое направляет все пакеты на адреса и сети из таблицы 1000 в нужный туннель. Если такое правило есть то можно приступать к последней стадии диагностики - проверять работу хука на остановку и поднятие туннеля. В веб интерфейсе выключить тумблер туннеля. Подождать, проверить таблицу 1000 и список маршрутизации -там должно быть чисто. Затем снова включить тумблер туннеля и немного подождать. Затем снова проверить таблицу 1000 и список маршрутизации - таблица должна быть заполнена и на нее должен быть маршрут.
  10. Возможно большинству именно это подойдет как более простое и полное решение. Спасибо!
  11. Подскажите, а эта команда добавит маршрутизацию только для таблицы 1000 но на всех интерфейсах роутера?
  12. и это я понимаю. Не хотелось городить что-либо стороннее для разрешения имен, так как в прошивку добавили мощные шифрованные DNS
  13. Да, трассировка на роутере у меня тоже показывает что запросы идут прямым путем, а не через VPN. Но тут или просить помощи у @avn или может кто из других знатоков поможем. У меня выводит (скрин прикладывал к посту) добавил в самом конце скрипта unblock_vpn.sh после done
  14. Нужное нам правило добавлено. Осталось понять, откуда проверяете? Если с компьютера в домашней сети, который ходит в интернет через интерфейс br0 роутера, то должно работать. Если еще из какого-то сегмента сети, который сейчас ходит в интернет через какой-то другой интерфейс, то нужно его так же прописать, как я это делал в примере для l2tp ip rule add iif l2tp0 table 1000 priority 1778
  15. Что покажет ip rule list ? И ppp0 это интерфейс для вашего туннеля и 10.10.10.1 это адрес роутера на интерфейсе ppp0 ?
×
×
  • Create New...