Closed mazixs closed 8 months ago
Да, была ошибка с новым конфигом. Исправлена сегодня: https://github.com/xtrime-ru/antizapret-vpn-docker/issues/4 Просьба обновится и пересобрать контейнер:
git fetch && git reset --hard origin/master
docker compose build
docker compose up -d
Не исправило ситуацию, та же ошибка ERR_NAME_NOT_RESOLVED
Надо проверить, работает ли kresd: servicectl status kresd@1
Надо проверить, работает ли kresd: servicectl status kresd@1
root@nlserver01:~# cd antizapret
root@nlserver01:~/antizapret# docker compose down
[+] Running 2/2
✔ Container antizapret-vpn Removed 10.8s
✔ Network antizapret_default Removed 0.1s
root@nlserver01:~/antizapret# git fetch && git reset --hard origin/master
HEAD is now at 9d7e41b Fix: kresd config error
root@nlserver01:~/antizapret# docker compose build
[+] Building 1.1s (11/11) FINISHED docker:default
=> [antizapret-vpn internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 1.35kB 0.0s
=> [antizapret-vpn internal] load metadata for docker.io/library/alpine:latest 0.9s
=> [antizapret-vpn internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [antizapret-vpn builder 1/2] FROM docker.io/library/alpine:latest@sha256:c5b1261d6d3e43071626931fc004f70149ba 0.0s
=> [antizapret-vpn internal] load build context 0.0s
=> => transferring context: 29B 0.0s
=> CACHED [antizapret-vpn builder 2/2] RUN wget https://antizapret.prostovpn.org/container-images/az-vpn/rootfs. 0.0s
=> CACHED [antizapret-vpn stage-1 1/4] COPY --from=builder /rootfs-dir / 0.0s
=> CACHED [antizapret-vpn stage-1 2/4] RUN wget https://secure.nic.cz/files/knot-resolver/knot-resolver-release. 0.0s
=> CACHED [antizapret-vpn stage-1 3/4] RUN cd /root/antizapret/ && git pull && sed -i -E "s/(CHARSET=UTF 0.0s
=> CACHED [antizapret-vpn stage-1 4/4] COPY ./init.sh / 0.0s
=> [antizapret-vpn] exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:495935776ae282ed5bf75e3eff04f40ea54fedf1b63ad06d6b6217ff47a06712 0.0s
=> => naming to docker.io/xtrime/antizapret-vpn:latest 0.0s
root@nlserver01:~/antizapret# docker compose up -d
[+] Running 1/2
⠋ Network antizapret_default Created 1.1s
✔ Container antizapret-vpn Started 0.9s
root@nlserver01:~/antizapret# systemctl status kresd@1
Unit kresd@1.service could not be found.
root@nlserver01:~/antizapret# systemctl status kresd
Unit kresd.service could not be found.
я пробовал с нуля поставить все, ничего не меняется. Ubuntu 22.04.4 LTS (GNU/Linux 5.15.0-94-generic x86_64)
В логах в контейнере глухо, подключение происходит, но все сайты становятся недоступны
Команду нужно выполнять внутри контейнера. И надо подождать 2-5 минут после его старта:
docker compose exec antizapret-vpn bash
servicectl status kresd@1
Команду нужно выполнять внутри контейнера. И надо подождать 2-5 минут после его старта:
docker compose exec antizapret-vpn bash servicectl status kresd@1
root@431c3ae311e9:~# systemctl status kresd@1
● kresd@1.service - Knot Resolver daemon
Loaded: loaded (/lib/systemd/system/kresd@.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/kresd@.service.d
└─override.conf
Active: activating (start) since Wed 2024-02-21 14:05:54 UTC; 3s ago
Docs: man:kresd.systemd(7)
man:kresd(8)
Main PID: 43366 (kresd)
Tasks: 1 (limit: 151)
Memory: 317.1M
CPU: 2.375s
CGroup: /system.slice/system-kresd.slice/kresd@1.service
└─43366 /usr/sbin/kresd -c /usr/lib/knot-resolver/distro-preconfig.lua -c /etc/knot-resolver/kresd.conf -n
Feb 21 14:05:54 431c3ae311e9 systemd[1]: Starting Knot Resolver daemon...
Feb 21 14:05:54 431c3ae311e9 kresd[43366]: [system] warning: hard limit for number of file-descriptors is only 65535 but recommended value is 524288
Вот конфиг kresd как я понял
-- Default empty Knot DNS Resolver configuration in -*- lua -*-
net.listen('127.0.0.1', 53, { kind = 'dns' })
net.listen('192.168.100.1', 53, { kind = 'dns', freebind = true })
net.listen('192.168.104.1', 53, { kind = 'dns', freebind = true })
-- Switch to unprivileged user --
user('knot-resolver','knot-resolver')
-- Unprivileged
cache.size = 100 * MB
-- For tmpfs
-- cache.open(300 * MB, 'lmdb:///tmp/knot-resolver')
-- See https://gitlab.labs.nic.cz/knot/knot-resolver/issues/470
net.ipv6 = false
modules = {
'hints > iterate', -- Load /etc/hosts and allow custom root hints
'stats', -- Track internal statistics
'predict', -- Prefetch expiring/frequent records
}
-- minimum TTL = 2 minutes
cache.min_ttl(120)
dofile("/etc/knot-resolver/knot-aliases-alt.conf")
policy.add(
policy.suffix(
policy.STUB(
{'127.0.0.4'}
),
policy.todnames(blocked_hosts)
)
)
-- Resolve OpenNIC, EMCDNS and Namecoin domains
policy.add(
policy.suffix(
policy.STUB(
{'172.104.136.243', '176.126.70.119', '87.98.175.85', '193.183.98.66'}
),
policy.todnames({'bbs.', 'chan.', 'cyb.', 'dyn.', 'geek.', 'gopher.',
'indy.', 'libre.', 'neo.', 'null.', 'o.', 'oss.', 'oz.',
'parody.', 'pirate.', 'free.', 'bazar.', 'coin.',
'emc.', 'lib.', 'fur.', 'bit.', 'ku.', 'te.', 'ti.', 'uu.'
}
)
)
)
-- Resolve Apple
policy.add(
policy.suffix(
policy.FORWARD(
{'77.88.8.8'}
),
policy.todnames({'apple.com.', 'mzstatic.com.', 'akamaiedge.net.', 'edgekey.net.', 'aaplimg.com.'})
)
)
Переустановил еще раз, теперь вывод такой
root@nlserver01:~/antizapret# docker compose exec antizapret-vpn bash
root@28c166cf4409:/# systemctl status kresd@1
● kresd@1.service - Knot Resolver daemon
Loaded: loaded (/lib/systemd/system/kresd@.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/kresd@.service.d
└─override.conf
Active: active (running) since Wed 2024-02-21 14:43:39 UTC; 7s ago
Docs: man:kresd.systemd(7)
man:kresd(8)
Main PID: 310 (kresd)
Tasks: 1 (limit: 151)
Memory: 6.6M
CPU: 85ms
CGroup: /system.slice/system-kresd.slice/kresd@1.service
└─310 /usr/sbin/kresd -c /usr/lib/knot-resolver/distro-preconfig.lua -c /etc/knot-resolver/kresd.conf -n
Feb 21 14:43:39 28c166cf4409 systemd[1]: Starting Knot Resolver daemon...
Feb 21 14:43:39 28c166cf4409 kresd[310]: [system] warning: hard limit for number of file-descriptors is only 65535 but recommended value is 524288
Feb 21 14:43:39 28c166cf4409 systemd[1]: Started Knot Resolver daemon.
Кажется я нашел проблему, но пока не решил
root@28c166cf4409:/# systemctl --failed
UNIT LOAD ACTIVE SUB DESCRIPTION
● systemd-networkd-wait-online.service loaded failed failed Wait for Network to be Configured
Вывод networkctl status -a
● 1: lo
Link File: n/a
Network File: n/a
Type: loopback
State: carrier (pending)
Address: 127.0.0.1
● 2: vpn
Link File: n/a
Network File: n/a
Type: none
State: routable (pending)
Address: 192.168.100.1
● 3: vpn-tcp
Link File: n/a
Network File: n/a
Type: none
State: routable (pending)
Address: 192.168.104.1
● 22: eth0
Link File: n/a
Network File: n/a
Type: ether
State: routable (pending)
HW Address: 02:42:ac:12:00:02
Address: 172.18.0.2
Gateway: 172.18.0.1
Пробовал добавить поправить systemd-networkd-wait-online systemctl edit systemd-networkd-wait-online.service
[Service]
ExecStart=
ExecStart=/lib/systemd/systemd-networkd-wait-online --interface=eth0
Вывод systemctl status systemd-networkd-wait-online.service
● systemd-networkd-wait-online.service - Wait for Network to be Configured
Loaded: loaded (/lib/systemd/system/systemd-networkd-wait-online.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/systemd-networkd-wait-online.service.d
└─override.conf
Active: failed (Result: exit-code) since Thu 2024-02-22 07:46:17 UTC; 13min ago
Docs: man:systemd-networkd-wait-online.service(8)
Main PID: 51 (code=exited, status=1/FAILURE)
CPU: 10ms
Feb 22 07:44:17 28c166cf4409 systemd[1]: Starting Wait for Network to be Configured...
Feb 22 07:44:17 28c166cf4409 systemd-networkd-wait-online[51]: ignoring: lo
Feb 22 07:46:17 28c166cf4409 systemd-networkd-wait-online[51]: Event loop failed: Connection timed out
Feb 22 07:46:17 28c166cf4409 systemd[1]: systemd-networkd-wait-online.service: Main process exited, code=exited, status=1/FAILURE
Feb 22 07:46:17 28c166cf4409 systemd[1]: systemd-networkd-wait-online.service: Failed with result 'exit-code'.
Feb 22 07:46:17 28c166cf4409 systemd[1]: Failed to start Wait for Network to be Configured.
Feb 22 07:46:17 28c166cf4409 systemd[1]: systemd-networkd-wait-online.service: Consumed 10ms CPU time.
У меня systemd-networkd-wait-online.service тоже не работает. Это ни на что не влияет, вероятно. А вот kresd@1 не запустился еще до конца. Нужно ждать запуска пару минут и мониторить логи... У меня к сожалению логи уже ротировались, но там не должно быть ошибок.
Потребление памяти kresd при нормальной работе должно быть 50-100 мбайт с пиками до 300 мбайт при загрузке/обновлении правил.
У меня systemd-networkd-wait-online.service тоже не работает. Это ни на что не влияет, вероятно. А вот kresd@1 не запустился еще до конца. Нужно ждать запуска пару минут и мониторить логи... У меня к сожалению логи уже ротировались, но там не должно быть ошибок.
Потребление памяти kresd при нормальной работе должно быть 50-100 мбайт с пиками до 300 мбайт при загрузке/обновлении правил.
Вот вывод давно запущенного, не показывает никаких ошибок
● kresd@1.service - Knot Resolver daemon
Loaded: loaded (/lib/systemd/system/kresd@.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/kresd@.service.d
└─override.conf
Active: active (running) since Fri 2024-02-23 08:46:15 UTC; 54min ago
Docs: man:kresd.systemd(7)
man:kresd(8)
Main PID: 3893 (kresd)
Tasks: 1 (limit: 151)
Memory: 63.6M
CPU: 4.168s
CGroup: /system.slice/system-kresd.slice/kresd@1.service
└─3893 /usr/sbin/kresd -c /usr/lib/knot-resolver/distro-preconfig.lua -c /etc/knot-resolver/kresd.conf -n
Feb 23 08:46:11 28c166cf4409 systemd[1]: Starting Knot Resolver daemon...
Feb 23 08:46:11 28c166cf4409 kresd[3893]: [system] warning: hard limit for number of file-descriptors is only 65535 but recommended value is 524288
Feb 23 08:46:15 28c166cf4409 systemd[1]: Started Knot Resolver daemon.
Замечательно. kresd работает без ошибок. Что возвращает такая команда?
docker exec antizapret-vpn nslookup fb.com 127.0.0.1
Должно быть что то такое:
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
Name: fb.com
Address: 10.224.0.5
Вывод
root@28c166cf4409:/# nslookup fb.com 127.0.0.1
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
Name: fb.com
Address: 10.224.0.1
kresd работает корректно: правила загрузились и заблокированные домены перенапрявляются во внутреннюю сеть.
Что выдает nslookup fb.com 192.168.100.1
на локальном компьютере?
192.168.100.1 - это IP адрес удаленного сервера в сети, создаваемой OpenVPN.
kresd работает корректно: правила загрузились и заблокированные домены перенапрявляются во внутреннюю сеть.
Что выдает
nslookup fb.com 192.168.100.1
на локальном компьютере? 192.168.100.1 - это IP адрес удаленного сервера в сети, создаваемой OpenVPN.
Я не знаю как, но подключение на пк само по себе заработало , а в приложении на телефоне через openvpn подключается, но интернет не дает. Пытался через termux посмотреть, но там что-то с nslookup, оно не ставится.
Проблема была в модуле от magisk для изменения dns, вероятно там используется DoH
А как решилась эта проблема?
На самом деле все ещё не решилось, происходят иногда отвалы до перезагрузки. Пока нет времени копать, попробую посмотреть лог в следующий раз.
Я на asuswrt сделал такой cron/cru для перезапуска VPN при наличии проблем:
* * * * * if [ \$(nslookup fb.com 192.168.100.1 | grep 'Address 1: 10' | wc -l) -eq 0 ]; then service stop_vpnclient5; sleep 1; service start_vpnclient5; fi
Что-то подобное можно запихнуть и в сам контейнер при сборке. Только надо определить какой именно процесс надо рестартить. Можно запилить и стандартный healthckeck докера, но тогда сам контейнер будет рестартится, а это "дорогая" операция - старт этого контейнера очень долгий.
Вывод во время сбоя
root@28c166cf4409:/# systemctl status kresd@1
● kresd@1.service - Knot Resolver daemon
Loaded: loaded (/lib/systemd/system/kresd@.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/kresd@.service.d
└─override.conf
Active: deactivating (stop-post) (Result: signal) since Fri 2024-03-08 10:08:01 UTC; 25min ago
Docs: man:kresd.systemd(7)
man:kresd(8)
Process: 1000 ExecStart=/usr/sbin/kresd -c /usr/lib/knot-resolver/distro-preconfig.lua -c /etc/knot-resolver/kresd.conf -n (code=killed, signal=KILL)
Main PID: 1000 (code=killed, signal=KILL); Control PID: 1001 (rm)
Tasks: 1 (limit: 151)
Memory: 5.9M
CPU: 1.251s
CGroup: /system.slice/system-kresd.slice/kresd@1.service
Mar 08 10:33:29 28c166cf4409 systemd[1]: Starting Knot Resolver daemon...
Mar 08 10:33:29 28c166cf4409 kresd[1000]: [system] warning: hard limit for number of file-descriptors is only 65535 but recommended value is 524288
Mar 08 10:33:30 28c166cf4409 systemd[1]: kresd@1.service: Main process exited, code=killed, status=9/KILL
Mar 08 10:33:30 28c166cf4409 systemd[1]: kresd@1.service: Failed with result 'signal'.
Mar 08 10:33:30 28c166cf4409 systemd[1]: Failed to start Knot Resolver daemon.
Mar 08 10:33:30 28c166cf4409 systemd[1]: kresd@1.service: Consumed 1.252s CPU time.
root@28c166cf4409:/#
Пока пытаюсь разобраться, контейнер попросту весь замирает и сервер вместе с ним, нагрузка на процессор уходит за 100% . Достучаться до логов в такой момент сложно, каждое действие обрабатывается по несколько минут.
Я один с такой проблемой или есть еще случаи?
Это именно контейнер антизапрета так весело себя ведет
Нужен вывод top. Судя по описанию память закончилась и сервер полез в swap. CPU ждет IO, поэтому все тормозит.
Дня 4 назад перестал работать, пытался обновить, но ничего не изменилось. Сервер удаленный в Ниндерландах, подключение происходит, но сайты выдают ERR_NAME_NOT_RESOLVED Публичный антизапрет работает.