Ник Пост Дата
ShiGhost(ShiGhost)

Здравствуйте. Подскажите как это можно сделать на своём antizapret.

2024-07-12T14:28:33.938Z
ValdikSS

Примерно так:

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
2024-07-12T14:36:29.848Z
ShiGhost(ShiGhost)

В итоге получил это

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 адрес для проксирования, так как этот домен заблокирован.

2024-07-12T18:57:03.639Z
ValdikSS

Да вроде не должен, самая последняя строка перезаписывает домен. Вы точно применили патч, перезапустили dnsmap и очистили кэш? Я так понимаю, у вас еще и промежуточный резолвер, его кэш вы также очистили?

2024-07-12T20:05:55.074Z
ShiGhost(ShiGhost)

Кэш везде почистил. Как перезапустить dnsmap?

2024-07-12T20:39:41.733Z
ValdikSS

systemctl restart dnsmap

2024-07-12T21:06:02.394Z
ShiGhost(ShiGhost)

Теперь все заблокированные домены не работают.

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 КБ)

2024-07-12T21:12:44.307Z
ShiGhost(ShiGhost)

Логи не появлялись потому что в 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]

2024-07-13T07:04:35.390Z
ShiGhost(ShiGhost)

@ValdikSS может были ещё какие то патчи? Почему может не работать?

2024-07-13T17:14:47.833Z
ValdikSS

Не в курсе. На серверах АнтиЗапрета файл один-в-один как у вас.

2024-07-13T18:33:04.548Z
ValdikSS
apt remove python3-dnslib && apt -y install python3-pip
pip3 install dnslib
2024-07-13T18:34:24.931Z
ShiGhost(ShiGhost)

Получилось. Огромное спасибо Вам.

2024-07-13T19:11:23.340Z