Здравствуйте. Подскажите как это можно сделать на своём antizapret.
Примерно так:
root@antizapret-vpn:~/dnsmap# diff -u proxy.py_ proxy.py
--- proxy.py_ 2022-04-19 01:36:20.007487333 +0200
+++ proxy.py 2023-05-20 23:47:00.743846804 +0200
@@ -94,16 +94,26 @@
tcp=True,timeout=self.timeout)
reply = DNSRecord.parse(proxy_r)
- if request.q.qtype == QTYPE.AAAA:
- print('GOT AAAA')
+ if request.q.qtype == QTYPE.AAAA or request.q.qtype == QTYPE.HTTPS:
+ print('GOT AAAA or HTTPS')
reply = request.reply()
return reply
-
+
if request.q.qtype == QTYPE.A:
print('GOT A')
+
+ newrr = []
+ for record in reply.rr:
+ if record.rtype == QTYPE.CNAME:
+ continue
+ newrr.append(record)
+ reply.rr = newrr
+
for record in reply.rr:
if record.rtype != QTYPE.A:
continue
+
+ print("Got RECORD:", record)
#print(dir(record))
#print(type(record.rdata))
@@ -118,6 +128,7 @@
return reply
record.rdata = A(fake_addr)
+ record.rname = request.q.qname
record.ttl = 300
#print(a.rdata)
return reply
В итоге получил это
nslookup yt3.ggpht.com
Address: 192.168.1.1
Не заслуживающий доверия ответ:
╚ь : photos-ugc.l.googleusercontent.com
Address: 142.250.74.33
Aliases: yt3.ggpht.com
Не то что я хотел, он возвращает ip адрес photos-ugc.l.googleusercontent.com, хотел чтобы из ответа пропал CNAME и возвращал ip адрес для проксирования, так как этот домен заблокирован.
Да вроде не должен, самая последняя строка перезаписывает домен. Вы точно применили патч, перезапустили dnsmap и очистили кэш? Я так понимаю, у вас еще и промежуточный резолвер, его кэш вы также очистили?
Кэш везде почистил. Как перезапустить dnsmap?
systemctl restart dnsmap
Теперь все заблокированные домены не работают.
nslookup yt3.ggpht.com
╤хЁтхЁ: UnKnown
Address: 192.168.1.1
DNS request timed out.
timeout was 2 seconds.
*** UnKnown не удалось найти yt3.ggpht.com: Query refused
systemctl status dnsmap пишет что активен, но нету логов, которые были до изменения.
proxy.py (9,1 КБ)
Логи не появлялись потому что в systemd не было параметра запуска python3 -u. В итоге имеем такие логи:
Jul 13 07:00:24 fb380a5377b3 python3[116]: Request: [127.0.0.1:45683] (udp) / ‘yT3.gGphT.COm.’ (AAAA)
Jul 13 07:00:24 fb380a5377b3 python3[116]: Invalid Request: [127.0.0.1:50178] (udp) :: QTYPE: Invalid reverse lookup: [HTTPS]
Jul 13 07:00:24 fb380a5377b3 python3[116]: GOT AAAA or HTTPS
Jul 13 07:00:24 fb380a5377b3 python3[116]: Reply: [127.0.0.1:45683] (udp) / ‘yT3.gGphT.COm.’ (AAAA) / RRs:
Jul 13 07:00:25 fb380a5377b3 python3[116]: Request: [127.0.0.1:44505] (udp) / ‘I.InsTaGRaM.COm.’ (A)
Jul 13 07:00:25 fb380a5377b3 python3[116]: Invalid Request: [127.0.0.1:44505] (udp) :: QTYPE: Invalid reverse lookup: [HTTPS]
Jul 13 07:00:26 fb380a5377b3 python3[116]: Request: [127.0.0.1:56641] (udp) / ‘Yt3.GGPht.cOm.’ (A)
Jul 13 07:00:26 fb380a5377b3 python3[116]: Invalid Request: [127.0.0.1:56641] (udp) :: QTYPE: Invalid reverse lookup: [HTTPS]
Jul 13 07:00:27 fb380a5377b3 python3[116]: Request: [127.0.0.1:36188] (udp) / ‘i.INStAgRaM.COM.’ (A)
Jul 13 07:00:27 fb380a5377b3 python3[116]: Invalid Request: [127.0.0.1:36188] (udp) :: QTYPE: Invalid reverse lookup: [HTTPS]
@ValdikSS может были ещё какие то патчи? Почему может не работать?
Не в курсе. На серверах АнтиЗапрета файл один-в-один как у вас.
apt remove python3-dnslib && apt -y install python3-pip
pip3 install dnslib
Получилось. Огромное спасибо Вам.