Неофициальный docker-контейнер АнтиЗапрета

как-то так antizapret-vpn-docker/Dockerfile at master · xtrime-ru/antizapret-vpn-docker · GitHub
я взял ваш патч и закинул в докерфайл

потому что срабатывает другое правило (Fix iperf · xtrime-ru/antizapret-vpn-docker@302c04a · GitHub) и до REDIRECT не доходит.

saddr $DOCKER_RANGE daddr $DOCKER_DNS ACCEPT;
daddr ($VPNUDP_DNS $VPNTCP_DNS $DOCKER_DNS) REDIRECT;

iptables-legacy -t nat -I PREROUTING 6 -d 10.224.0.1/32 -p tcp --dport 5201 -j REDIRECT
вот так сработало.

Да, мы утром обсуждали с @Tyman. Но я хочу, что бы можно было на лету через ENV менять поведение openvpn, а не пересобирать.

Мб сделаю в выходные. Если у кого то есть опыт С, то с удовольствием апрувну PR :slight_smile:

Благодарю!
Я грешил на порядок, но не думал, что ACCEPT на что-то влияет :confused:

Поправил PR, сделал: daddr ($VPNUDP_DNS $VPNTCP_DNS $DOCKER_DNS) REDIRECT; - работает!

зачем весь трафик гнать таким образом, если это только для iperf, не лучше ли слать только iperf трафик?

Сегодня iperf, завтра еще что то добавим… Удобно когда есть статичный адрес контейнера в который можно постучаться извне. Теперь всегда и везде можно использовать 10.224.0.1 и не думать.

Весь траф в любом случае идет в контейнер антизапрета: либо в dnsmap правила, либо в localhost.

Какие минусы у такого решения?

Iperf теперь работает и с amnezia, просто отлично.

Еще предложу в конфиг амнезии в Allowed IPs 1.1.1.1/32 добавить.
1.1.1.1 вообще в качестве dns-форвардера на клиенте удобнее 10.224.0.1, именно так в старом контейнере было - если туннельное соединение падает, или вдруг не поднялся маршрут, то включается ресолвинг через one.one.one.one и хоть что-то работает.

То все маршруты из таблицы маршрутизации клиента должны удалиться и будет использоваться резолвер прописанный в ОС.

В каком?

Иметь две сборки openvpn и между ними переключаться?

Не очень понял из ридми как обрабатываются домены третьего уровня при добавлении в include-hosts-custom.txt – добавляется и вышестоящий домен второго? если да, то как можно добавить только условный test.domain.net не добавляя domain.net?

[quote=“hondaspb, post:431, topic:8839”]

который lxd

В том и дело, что owrt-роутеры (и может другие) не имеют приоритетности DNS и на них нельзя оставить резервный “DNS уровня ОС” на случай падения VPN, точнее можно, но он будет долбиться в оба. Поэтому 1.1.1.1 удобный вариант.

Да.

Именно поэтому в ридми рекомендуется использовать -regex-custom.txt, т.к. он позволяет оперировать доменами 3 и более уровня.

Учтите, что туда нужно добавлять регулярные выражения, например, ^test\.example\.com$

В оригинале предлагается устанавливать маршруты до публичных резолверов через openvpn. Настройка на Zyxel Keenetic Ultra - #10 by ValdikSS Если туннель упал, маршрута до публичного резолвера через openvpn нет, и трафик до них идет как обычно.
И что важно, какие именно резолверы направлять в туннель решается на стороне клиента, а не конфигом зашитым на сервере.

Спасибо, попробую так подобавлять ютубовские поддомены — на айфоне/айпэде медленно открывает и видео, и комменты. После открытия видео идет нормально, с той же скоростью как на других устройствах.

Не пойму что с регекс-файлом. К примеру добавляю в include-regex-custom.txt строчку

^mdns\.mcast\.net$

Перезагружаю контейнер, жду пару минут. При этом из include-hosts-custom.txt обрабатываются правильно, dig возвращает адреса из 10.224.*
А из регекс-файла этот адрес не добавляется.

Этот адрес не имеет ничего общего с ютубом, вам дали вредный совет. mcast.net - Wikipedia

Принимается :slight_smile:
Но почему он не добавляется в список?

Добавляется, но у записи TTL большой, вот вы и не видите немедленного эффекта.
Можете сами проверить, зайти в контейнер и посмотреть.
root@antizapret:/etc/knot-resolver# cat knot-aliases-alt.conf | grep mdns
regex_blocked = ‘(^mdns.mcast.net$)’

Да и непонятно какой результат хотелось достигнуть. Multicast address - Wikipedia

Нормально добавляется, я проверял лично на примере rkn.gov.ru (после сброса кэша DNS на клиенте он резолвится в 10.x.x.x, в то время как gov.ru продолжает резолвиться в свой настоящий адрес).

Ok, принято.