Контейнер VPN АнтиЗапрета для установки на собственный сервер

Доброго времени! Спасибо за ответ.

root@antizapret-vpn:~# dig ya.ru @127.0.0.1

; <<>> DiG 9.11.5-P4-5.1+deb10u1-Debian <<>> ya.ru @127.0.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21058
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;ya.ru.                         IN      A

;; ANSWER SECTION:
ya.ru.                  600     IN      A       87.250.250.242

;; Query time: 299 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Jun 22 12:57:28 MSK 2022
;; MSG SIZE  rcvd: 50

root@antizapret-vpn:~#

root@antizapret-vpn:~# systemctl status kresd@1
● kresd@1.service - Knot Resolver daemon
   Loaded: loaded (/lib/systemd/system/kresd@.service; enabled; vendor preset: e
nabled)
  Drop-In: /etc/systemd/system/kresd@.service.d
           └─override.conf
   Active: active (running) since Wed 2022-06-22 12:57:01 MSK; 2min 1
6s ago
     Docs: man:kresd.systemd(7)
           man:kresd(8)
 Main PID: 381 (kresd)
   CGroup: /system.slice/system-kresd.slice/kresd@1.service
           └─381 /usr/sbin/kresd -c /usr/lib/knot-resolver/distro-preconfig.lua
-c /etc/knot-resolver/kresd.conf -n

Jun 22 12:56:59 antizapret-vpn systemd[1]: Starting Knot Resolver daemon...
Jun 22 12:56:59 antizapret-vpn kresd[381]: [system] warning: hard limit for numb
er of file-descriptors is only 4096 but recommended value is 524288
Jun 22 12:57:01 antizapret-vpn systemd[1]: Started Knot Resolver daemon.
root@antizapret-vpn:~#

Судя по ответам - внутри контейнера все работает.
Что еще посмотреть? Влияют ли как то на работоспособность DNS сервера, которые я использую? Использую не провайдерские, а публичные.
бесплатный хостинг фотографий
Ссылку на скриншот из настроек роутера прилагаю.
Спасибо еще раз за Ваш труд

Обновление unattended upgrades запускается в моем контейнере автоматически. Я чекнул docker diff и в списке измененных файлов есть лог. Правда apt ругается:

W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://download.opensuse.org/repositories/home:/CZ-NIC:/knot-resolver-latest/Debian_10  InRelease: The following signatures were invalid: EXPKEYSIG 74062DB36A1F4009 home:CZ-NIC OBS Project <home:CZ-NIC@build.opensuse.org>

apt update && apt upgrade руками выдает туже ошибку. Это точно проблема в докере, а не в самом образе? Если есть какая то команда, что бы прописать эту signature, то я добавлю ее в entrypoint и автообновление все будет работать.

Спасибо за критику! Согласен, что запуск нескольких приложений внутри одного контейнера противоречит docker-way концепции.
Но инструкции из readme у меня не сработали. А докер многим привычнее и запуск гораздо проще. И заработал сразу…
Из проблем которые вижу: если какой то процесс упадет - то докер не перезапустит контейнер. Нужно делать какой нибудь healthcheck. Хотя не уверен, что lxd как то решает эту проблему…
Хотя у меня все работает стабильно уже неделю, так что пока не горит :slight_smile:

Починил apt update и запушил фикс в свой репо. Теперь система обновляется при сборке образа и автоматически при работе контейнера.

ValdikSS, flameshikari, спасибо за фидбек.


Ссори за холивар, но тут не соглашусь. Почему не получится? Образ это просто “основа” для контейнера. А контейнер никак не ограничивает работу с диском. Система в контейнере будет обновляться, и данные из файловой системы контейнера никуда не денутся даже при перезагрузках. Конечно, изменения записываются в отдельный “слой” файловой системы докера, но на практике это почти ни на что не влияет.

Согласен, что концепция докера не приветствует такие вещи, но на практике используется часто…

https://antizapret.prostovpn.org/help.html

‣ VPN АнтиЗапрета подключается, но заблокированные сайты не открываются

Убедитесь, что используете DNS-сервер внутри VPN-соединения, а не сторонний или провайдерский. Проверьте, что не используете DNS over HTTPS в браузере («Защищенный DNS»), Private DNS в Android, Private Relay в iOS.
Требование вызвано особенностями маршрутизации в VPN АнтиЗапрета.

У меня на Centos 7 появляется проблема с ferm, соответсвенно ничего не работает. Может подскажете как с этим быть:

Jun 30 14:40:39 antizapret-vpn ferm[199]: Starting Firewall: fermiptables-restore v1.8.2 (nf_tables):
Jun 30 14:40:39 antizapret-vpn ferm[199]: line 3: CHAIN_UPDATE failed (No such file or directory): chain FORWARD
Jun 30 14:40:39 antizapret-vpn ferm[199]: Failed to run /sbin/iptables-restore
Jun 30 14:40:39 antizapret-vpn ferm[199]: iptables-restore v1.8.2 (nf_tables):
Jun 30 14:40:39 antizapret-vpn ferm[199]: line 2: CHAIN_UPDATE failed (No such file or directory): chain FORWARD
Jun 30 14:40:39 antizapret-vpn ferm[199]: Failed to run /sbin/iptables-restore
Jun 30 14:40:39 antizapret-vpn systemd-journald[208]: Runtime journal (/run/log/journal/5b6e10df4f7b4a2b90bbb0a257aa5010) is 1.0M, max 8.0M, 7.0M free.
Jun 30 14:40:39 antizapret-vpn ferm[199]: failed!
Jun 30 14:40:39 antizapret-vpn systemd[1]: ferm.service: Main process exited, code=exited, status=4/NOPERMISSION
Jun 30 14:40:39 antizapret-vpn systemd[1]: ferm.service: Failed to kill control group /lxc.payload.antizapret-vpn/system.slice/ferm.service, ignoring: Invalid argument
Jun 30 14:40:39 antizapret-vpn systemd[1]: ferm.service: Failed to kill control group /lxc.payload.antizapret-vpn/system.slice/ferm.service, ignoring: Invalid argument
Jun 30 14:40:39 antizapret-vpn systemd[1]: ferm.service: Failed to kill control group /lxc.payload.antizapret-vpn/system.slice/ferm.service, ignoring: Invalid argument
Jun 30 14:40:39 antizapret-vpn systemd[1]: ferm.service: Failed to kill control group /lxc.payload.antizapret-vpn/system.slice/ferm.service, ignoring: Invalid argument
Jun 30 14:40:39 antizapret-vpn systemd[1]: ferm.service: Failed with result ‘exit-code’.
Jun 30 14:40:39 antizapret-vpn systemd[1]: Failed to start ferm firewall configuration.

Можно попробовать мой докер образ: GitHub - xtrime-ru/antizapret-vpn-docker: Docker container with antizapret-vpn for selfhosting.

Доброго дня! 5 простых правил UFW, имена интерфейсов правильные, порт открывал и на конкретном адаптере, и на всех сразу. Толку 0. В лог все равно падает UFW_BLOCK:
image


Правило номер 3 поидее даже не нужно, ибо по дефолту UFW на OUT открыт.
С выключенный UFW все работает, всю голову уже сломал, что ему еще нужно?

В вашей хост-системе, вероятно, нет поддержки nftables. Можете попробовать переключиться на обычный iptables/netfilter, для этого внутри контейнера наберите:

update-alternatives --set iptables /usr/sbin/iptables-legacy
update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
update-alternatives --set arptables /usr/sbin/arptables-legacy
update-alternatives --set ebtables /usr/sbin/ebtables-legacy

У вас нет разрешающего forward-правила в интерфейс контейнера.

Здравствуйте. Установлен свой сервер антизапрета вне России.
Многие сайты делал обход блокировок через include-hosts-custom.txt в контейнере.
Но download.microsoft.com и microsoft.com это не работает. Возможно кто то сможет подсказать как сделать что бы можно было скачивать ISO образ, с сайта разработчика.
Методом добавления в include-hosts-custom.txt
Спасибо.

Вы делаете правильные действия. Убедитесь, что вы запустили обновление списка после добавления сайта и дождались его завершения.

Да спасибо, не знаю помогло или нет но с добавлением go.microsoft.com Всё начало качать. Возможно просто раньше не дождался обновления списка.

Подскажите пожалуйста, как правильно с точки зрения производительности добавлять новых клиентов?

Допустим, есть антизапрет-сервер и дефолтная пара ключей/конфигов.
И есть пять клиентов, которые нужно подключить к этому антизапрету.

Как лучше делать, цеплять всех по одному сертификату или генерировать под каждого пользователя новые?
Так-то, вроде и с одним все работает, айпишники получают разные… Но чот хз как корректно сделать.

Добавил ufw route allow proto tcp from any to any port 1194 и все заработало.
UPD: в ЛДНР начали блочить Вайбер. Я добавил пару правил amazonaws.com и viber.com - забегали. Правда на телефоне работает, а вот на кампе не хотело, подключенного по WiFi к тому же телефону.

Приветствую!
Существует ли инструкция, как запустить этот впн без контейнера?

ЗЫ
ValdikSS, у Вас есть возможность связаться со мной через лс или иным способом?

Такой инструкции нет. Я бы не советовал вам запусакть всё вне контейнера, так как, во-первых, демону dnsmap требуются root-привилегии для добавления правил iptables, а он был написан за очень короткое время и наверняка в нём есть ошибки, также он добавляет очень большое количество правил iptables (на каждый IP-адрес), что вы, с большой вероятностью, не хотите видеть на хост-машине.

Напишите мне самостоятельно, если у вас есть вопросы. А лучше задавайте их в этой теме.

Как отключить скачивание списка и оставить только свои маршруты и домены на собственном сервере ?

Такой возможности нет, только хакать скрипты.

Понял спасибо