Jump to content
ankar84

Выборочный роутинг через VPN туннель

Recommended Posts

Предложение по улучшению скрипта. Сейчас разрешение доменных имен происходит так:

dig A +short $line @localhost -p 53

Т.е., если у вас не принято никаких дополнительных мер, адрес в конце концов будет определяться через днс провайдера, что нехорошо. У меня на роутере настроены DoT и DoH, и вроде все должно быть нормально. Но я обратил внимание, что если запустить скрипт несколько раз подряд, каждый раз количество адресов в списке разное. Вряд ли адреса сайтов меняются несколько раз в течение минуты, т.е. проблема именно в процессе разрешения имен. Обнаружил, что dig v9.17.13 из entware поддерживает dot,doh, и даже dnssec. В итоге изменил строку в скрипте на эту:

dig +short +https $line @8.8.8.8

Теперь скрипт работает стабильно + провайдер точно не вмешается. 

  • Thanks 1
  • Upvote 1

Share this post


Link to post
Share on other sites

В 13.08.2021 в 12:17, comono сказал:

Предложение по улучшению скрипта. Сейчас разрешение доменных имен происходит так:

dig A +short $line @localhost -p 53

Т.е., если у вас не принято никаких дополнительных мер, адрес в конце концов будет определяться через днс провайдера, что нехорошо. У меня на роутере настроены DoT и DoH, и вроде все должно быть нормально. Но я обратил внимание, что если запустить скрипт несколько раз подряд, каждый раз количество адресов в списке разное. Вряд ли адреса сайтов меняются несколько раз в течение минуты, т.е. проблема именно в процессе разрешения имен. Обнаружил, что dig v9.17.13 из entware поддерживает dot,doh, и даже dnssec. В итоге изменил строку в скрипте на эту:

dig +short +https $line @8.8.8.8

Теперь скрипт работает стабильно + провайдер точно не вмешается. 

Достаточно посмотреть файлик /tmp/ndnproxymain.stat (show dns-proxy) и поменять порт 53 на 40500-40507 для TLS и 40508-40515 для HTTPS

 

 

Edited by avn

Share this post


Link to post
Share on other sites

Пытаюсь использовать последнюю версию скриптов от Ув. avn. Результат такой - из списка в 4 адреса добавляется 1 или 2 всего. Причём с этими добавленными заблоченные страницы открываются. Использую WG. Что я делаю не так? 

Share this post


Link to post
Share on other sites

9 часов назад, keva сказал:

Результат такой - из списка в 4 адреса добавляется 1 или 2 всего.

Если у вас используется dns-over-tls или dns-over-https, обратите внимание на предыдущий вашему пост

  • Thanks 1

Share this post


Link to post
Share on other sites

3 часа назад, comono сказал:

Если у вас используется dns-over-tls или dns-over-https, обратите внимание на предыдущий вашему пост

Спасибо большое,что так оперативно откликнулись. dns-over-tls или dns-over-https не использую. Попробовал Вашу корректировку. Стало по лучше в том смысле, что оригинальный скрипт подзависал на, порядка, 45 секунд при запуске на списке из ... аж 4-х адресов. После корректировки - пара секунд, не более. Но беда такая - в списке остаётся ТОЛЬКО последняя строчка. Просто для некоторых выводиться 2 - 3 IP-шника... Т. е. самую малость подисправить - да не знаю, как... Кстати - если в конце списка ввести пустую строку - список пустой. Т. е. точно сохраняет только последнюю. И ещё - не подскажите - как у Вас dns-over-tls или dns-over-https настроен?

Share this post


Link to post
Share on other sites

21 час назад, keva сказал:

Но беда такая - в списке остаётся ТОЛЬКО последняя строчка. Просто для некоторых выводиться 2 - 3 IP-шника... Т. е. самую малость подисправить - да не знаю, как... Кстати - если в конце списка ввести пустую строку - список пустой. Т. е. точно сохраняет только последнюю.

Итак, у вас есть файл со списком заблокированный сайтов. Вы запускаете скрипт, смотрите таблицу маршрутизации и видите только маршруты для последнего сайта из файла. Я правильно понял ситуацию? Посмотрел еще раз исходный скрипт. На мой дилетантский взгляд, должно все работать. Могу только предположить, что вы вносили и другие изменения в скрипт.  Например,  строчка

ip route flush table 1000

у вас точно вне цикла while? Если она вдруг оказалась внутри цикла, результат будет таким, как вы описали.

По поводу настроек dns-over-tls или dns-over-https, я не смогу рассказать лучше, чем в help Кинетика

  • Thanks 1

Share this post


Link to post
Share on other sites

5 часов назад, comono сказал:

Итак, у вас есть файл со списком заблокированный сайтов. Вы запускаете скрипт, смотрите таблицу маршрутизации и видите только маршруты для последнего сайта из файла. Я правильно понял ситуацию?

Да так и происходит.

5 часов назад, comono сказал:

Например,  строчка

ip route flush table 1000

у вас точно вне цикла while? Если она вдруг оказалась внутри цикла, результат будет таким, как вы описали.

В самом скрипте кроме IP и Вайгуардовского интерфейса вообще ничего не менял. А, ну да, Вашу правку из поста выше внёс. Но без неё вообще подзависал скрипт, как описывал. Скрипт, который на роутере прилагаю...

5 часов назад, comono сказал:

По поводу настроек dns-over-tls или dns-over-https

Хелп Кинетиковский читал, конечно. Просто Спросил про конкретную реализацию у Вас. Ну типа отдельный кэширующий сервер DNS на Кинетике, типа Unbound... , Pi-hole на VPS... Или ещё какие особенности...

unblock_vpn.rar

Edited by keva

Share this post


Link to post
Share on other sites

15 часов назад, keva сказал:

Ну типа отдельный кэширующий сервер DNS на Кинетике, типа Unbound... , Pi-hole на VPS... Или ещё какие особенности...

Нет, использую стандартные возможности кинетика, к чему плодить сущности?

По поводу вашего скрипта. С ним все нормально, я даже запустил его для уверенности (правда, не на роутере, а на линуксовой машине, но не суть). Даже не знаю, к чему еще прицепиться. Какие записи появляются в логе кинетика после запуска скрипта?  И еще, а файл со списком сайтов вы создавали в редакторе под Windows? Если да, то возможно в этом  причина вашей проблемы. Установите на роутер текстовый редактор, например, nano, и создайте файл в нем. Или используйте редактор под windows, который умеет текстовые файлы в unix-формате 

  • Thanks 2

Share this post


Link to post
Share on other sites

4 часа назад, comono сказал:

Нет, использую стандартные возможности кинетика, к чему плодить сущности?

По поводу вашего скрипта. С ним все нормально, я даже запустил его для уверенности (правда, не на роутере, а на линуксовой машине, но не суть). Даже не знаю, к чему еще прицепиться. Какие записи появляются в логе кинетика после запуска скрипта?  И еще, а файл со списком сайтов вы создавали в редакторе под Windows? Если да, то возможно в этом  причина вашей проблемы. Установите на роутер текстовый редактор, например, nano, и создайте файл в нем. Или используйте редактор под windows, который умеет текстовые файлы в unix-формате 

Да, дело оказалось именно в UNIX EOL. Это я жестоко протормозил. Спасибо Вам БОЛЬШОЕ, что так настойчиво наставили на путь истинный!

Share this post


Link to post
Share on other sites

Приветствую.

Я бы хотел попросить оказать содействие в доработке скрипта - условно говоря настроить резервирование;

если сдох один wg, чтобы переключался на другой.

p.s. и вопрос на засыпку: keenetic же не сможет иметь 2 одинаковых ip адреса в wg туннелях? (wg серверы на однотипных vps)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...