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

Дико извиняюсь что не по теме, в прошлом году вы писали пост о блокировке в Туркмении, и давали ссылку на CLOACK с помощью которой можно обходить эти блокировки, т.к от сферы IT я максимально далек, то я просто умоляю вас помочь мне разобраться с ней(

Помогите разобраться - в lxc контейнере на ubuntu 20.4 нет интернета (ping 8.8.8.8 не проходит) до тех пор, пока на основной виртуалке не ввести команду
iptables -P FORWARD ACCEPT

Мало понимаю в правилах iptables.
Но я так понимаю - это не совсем хорошая практика. Как правильно включить интернет на lxc?

Спасибо.

Вывод iptables -L -n -v

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination                                                                                        

Chain FORWARD (policy DROP 174 packets, 10508 bytes)
 pkts bytes target     prot opt in     out     source               destination                                                                                        
  174 10508 DOCKER-USER  all  --  *      *       0.0.0.0/0            0.0.0.0/0                                                                                        
  174 10508 DOCKER-ISOLATION-STAGE-1  all  --  *      *       0.0.0.0/0                                                                                                   0.0.0.0/0
    0     0 ACCEPT     all  --  *      docker0  0.0.0.0/0            0.0.0.0/0                                                                                                   ctstate RELATED,ESTABLISHED
    0     0 DOCKER     all  --  *      docker0  0.0.0.0/0            0.0.0.0/0                                                                                         
    0     0 ACCEPT     all  --  docker0 !docker0  0.0.0.0/0            0.0.0.0/0                                                                                       
    0     0 ACCEPT     all  --  docker0 docker0  0.0.0.0/0            0.0.0.0/0                                                                                        

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination                                                                                        

Chain DOCKER (1 references)
 pkts bytes target     prot opt in     out     source               destination                                                                                        

Chain DOCKER-ISOLATION-STAGE-1 (1 references)
 pkts bytes target     prot opt in     out     source               destination                                                                                        
    0     0 DOCKER-ISOLATION-STAGE-2  all  --  docker0 !docker0  0.0.0.0/0                                                                                                   0.0.0.0/0
  174 10508 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0                                                                                          

Chain DOCKER-ISOLATION-STAGE-2 (1 references)
 pkts bytes target     prot opt in     out     source               destination                                                                                        
    0     0 DROP       all  --  *      docker0  0.0.0.0/0            0.0.0.0/0                                                                                         
    0     0 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0                                                                                          

Chain DOCKER-USER (1 references)
 pkts bytes target     prot opt in     out     source               destination                                                                                        
  174 10508 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0

Такого скрипта нет, контейнер заточен под использование одного конфигурационного файла. Связность между клиентами можно настроить и с одним конфигурационным файлом, она заблокирована на уровне межсетевого экрана.

Проверьте правила NAT: iptables -t nat -vnL. Если там есть хоть какое-то упоминание LXD, то необходимо добавить разрешающее правило в таблицу filter FORWARD.
Если же там нет упоминаний LXD, то, вероятно, у вас используется комбинация iptables-nft и iptables-legacy, либо же nft + iptables, что гарантированно вызовет проблемы с приоритетами правил. В таком случае нужно оставить что-то одно.

Спасибо!
В итоге перешел на Debian 11 и проблема ушла сама. На убунту так и не удалось достичь стабильной работы.

Также на обоих дистрибутивах (Ubuntu 20.04 и Debian 11) возникает ошибка:

lxc image import https://antizapret.prostovpn.org/container-images/az-vpn --alias antizapret-vpn-img
Error: Head “https://antizapret.prostovpn.org/container-images/az-vpn”: remote error: tls: protocol version not supported

Как тут писали выше - решается отключением проверки сертификатов.

systemctl edit snap.lxd.daemon

Затем сразу ПОД строчкой (Важно!! Не в конец файла. Если добавить в конец файла, то изменения не сохранятся)
### Anything between here and the comment below will become the new contents of the file

добавляем это:
[Service]
Environment=LXD_INSECURE_TLS=true

Рестартим демона
systemctl reload snap.lxd.daemon

Я это к тому, что проблема действительно есть и как ее поправить без отключения проверки сертификата - не понятно.

A post was split to a new topic: Списки заблокированных IP-адресов для роутера

По поводу настройки knot на вышестоящие dns серверы.
Выяснилось, что публичные dns серверы google и cloudflare подменяют IP адреса сервиса tmdb на 127.0.0.1, если запрос приходит из РФ.
DoT и DoH - не помогают, это именно они подменяют, а не промежуточный провайдер с оборудованием от роскомпозора.

Также выяснилось, что публичные серверы от Quad9 такой фигнёй не страдают.
Так что, кому актуально, в конфиг knot нужно дописать вот это и всё будет хорошо:

policy.add(
   policy.all(
      policy.TLS_FORWARD({{'9.9.9.9@853', hostname='dns.quad9.net'}}),
      policy.TLS_FORWARD({{'149.112.112.112@853', hostname='dns.quad9.net'}})
   )
)

DNS-резолверы Google и Cloudflare ничего не подменяют в ответах, это NS www.themoviedb.org отдаёт 127.0.0.1 для российских IP-адресов.

$ dig +short +subnet=155.70.44.0/24 www.themoviedb.org @ns-1186.awsdns-20.org # US Centurylink subnet
65.8.243.116
65.8.243.55
65.8.243.89
65.8.243.8

$ dig +short +subnet=87.226.162.0/24 www.themoviedb.org @ns-1186.awsdns-20.org # Russia Rostelecom subnet
127.0.0.1

Да, я сегодня тоже к такому же выводу пришёл.
пробовал dig с разных подсетей, с разных стран и удивлялся.
А гугл с клаудфларом - у них же резолверы тоже в РФ имеются - по CDN их и цепляет.

В итоге развернул 2 персональных резолвера для себя на 2-х зарубежных vps, т.к. не нравится мне такой подход…
Quad9 тоже рано или поздно могут разместить сервер в РФ, и они отвалятся получается…

Настроил контейнер на своей vps, подключился роутером, все отлично. Вопрос, как добавить сайт который не заблочен в РФ,соответственно его нет в списке заблокированных, но владелец сайта блочит доступ с IP в РФ ?
зашел в контейнер добавил домен intel.com в файл config\include-hosts-custom.txt
запустил doall.sh
Не помогло, судя по скриптам адрес добавленного домена сверяется со списком заблокированных доменов?

Ваши действия правильны. Вероятно, вы не дождались выполнения doall.sh.

@ValdikSS и знатоки.

Хочу обсудить такую идею.
Вот, у нас получается есть два возможных вида подключения - tcp & udp.
tcp мы не трогаем, оставляем его “под мобилки с 3G”.

Что если, мы udp будем использовать под проводной интернет?

Выдвигаю на обсуждение следующие твики antizapret.conf

  1. Убираем comp-lzo
  2. txqueuelen поднимаем с 250 до 2000
  3. Добавляем
    fast-io
    sndbuf 512000
    rcvbuf 512000
    push “sndbuf 512000”
    push “rcvbuf 512000”
    ncp-disable

на клиенте так же убираем comp-lzo.

Как в цифрах измерить изменения хз, субьективно стало быстрее.

Но, может я чушь порю, поэтому и предлагаю обсудить.


Всем привет, а не подскажите - можно ли это как-то программно решить?
vds на ubuntu 20.04, 512mb/5gb

@fageoner в системных требованиях сказано, что нужен 1гиг RAM, у вас 512m

@ValdikSS Добавил вчера еще один сайт (goplay.tools), он стал открывать, а intel.com по прежнему не открывается, перенаправляет на страницу Communications
Как на компе проверить что запрос правильно идет и резолвится через vpn ?

@cloud, в требованиях немного меньше 1 гб - цитата с bitbucket:

минимум 384 МБ оперативной памяти

nslookup intel.com что выдает?

выдает

╚ь : intel.com
Address: 10.224.0.113

как и другой сайт, добавление которого в список помогает, только с intel.com беда

╚ь : keepsolid.com
Addresses: 10.224.0.110
10.224.0.111
10.224.0.112

Настроенно все верно. Вообще если переходить именно на рускоязычную версию сайта, то будет плажка. Попробуйте перейти на американскую Intel | Data Center Solutions, IoT, and PC Innovation будет у вас открываться?

Я на русскоязычную разве перехожу? При переходе по вашей ссылке также переадресует на ту же страницу ru-banner-inside

Тоже с этим столкнулся. Настроен и антизапрет на своем vps в Нидерландах и отдельно для wireguard конфиг есть, но при попытке открыть Intel.com, intellicast.com, Netflix.com почему-то сайты эти не открываются.
upd в include-hosts-custom.txt сайты добавлены