Далее уже как хотите любым удобным вариантом маркировки или готовый список загоняете IP
iptables -t mangle .... -m set --match-set filter1 dst -j MARK ....
промаркированный в нужную таблицу маршрутизации
ip rule add fwmark .... table ....
В место Adguardhome можно ipset-dns то же самое, но в отличие от Adguardhome нет сервиса блокировки рекламы. Данные сервисы есть в наличие в Entware как для mips так и для arm процессоров.
Так же имеется в строенный прокси сервис из прошивки, можно создать профиль в него клиента и в этом профиле только канал от прокси. Тут есть так же варианты так как для данного сервиса прокси используется tun2 sock -> есть IP на данный сервис, а раз есть IP то могут быть и варианты
Что-то похожее наблюдаю в настоящее время на cloudflare warp в России на провайдере Ростелеком (PPPoE) инет1 май 2022, т.е. от клиента на сервер "Endpoint = engage.cloudflareclient.com:2408" уход пакет c первыми байтами 01 00 00 00 84 9B .....
Ipv4: Src = 1хх.1хх.1хх.1хх, Dest = 162.159.192.1, Next Protocol = UDP, Packet ID = 17885, Total IP Length = 176
Если взять другого провайдера просто на проводе инет2 то проблем с установкой соединения нет на том же самом конфиге имеем с "Endpoint = engage.cloudflareclient.com:2408"
От клиента 01 00 00 00 72 С4 6B 80 F1...
Ipv4: Src = 10.10.ххх.ххх, Dest = 162.159.192.1, Next Protocol = UDP, Packet ID = 52908, Total IP Length = 176
Далее от сервера и клиента шли пакеты 04 00 00 00 c length 124 от сервера и 136 от клиента. Туннель поднялся на провайдере инет2. Далее самое интересное, делаем смену default на инет1 (практичестки моментально) туннель остаеться рабочим и ни каких проблем на нем нет, может работать несколько дней.
Про Beamforming — роутер имеет 2 антенны что будет с если на одной сдвинуть фазу по отношению к другой, в итоге на клиенте стараемся получить амплитуды от двух антенн с плюсом. Есть:
— explicit Beamforming клиент и роутер поддерживают обмен для оптимальных настроек;
— implicit Beamforming клиент не поддерживает, т.е. точка доступа предполагает, что настройки, которые позволяют ей лучше всего слышать клиента, также являются настройками, которые позволяют клиенту лучше всего слышать точку.
На счет медленнее гуглового.
1. Dnscrypt можно было запускать как два сервиса на разных портах и разный сервер, а при связке с Dnsmasq можно было давать команду «all-servers» и в «server» указывать данную пару. В итоге получалось что запрос от dnamasq уходил по двум направлениям Dnscrypt с разными серверами, который ответ быстрей приходил тот и активный в итоге.
2. Dnscrypt 2 уже использует алгоритм определения быстрого сервера из заданного списка «server_names». Определяет «Server with the lowest initial latency» и берет самый наименьший.
При использовании server_names = ['cloudflare', '...1', '...2', '...3']
...
# Use servers implementing the DNSCrypt protocol
dnscrypt_servers = true
# Use servers implementing the DNS-over-HTTPS protocol
doh_servers = true
....
[static.'cloudflare']
#Cloudflare DNS (anycast) - aka 1.1.1.1 / 1.0.0.1
stamp = 'sdns://AgcAAAA...........................bnMtcXVlcnk'
Данный сервер «cloudflare» ни когда не попадает в «latency» меньше чем у трех серверов ...1,...2,...3 у которых значение по логу dnscrypt от «rtt:17-40ms».
[2018-10-25 12:29:03] [NOTICE] [cloudflare] OK (DoH) - rtt: 50ms
Хоть и собран dnscrypt 2 на GO и в итоге Name: dnscrypt-proxy
...
VmPeak: 671020 kB
VmSize: 671020 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 12280 kB
VmRSS: 9312 kB
VmData: 662296 kB
VmStk: 136 kB
VmExe: 4372 kB
VmLib: 0 kB
VmPTE: 32 kB
VmSwap: 0 kB
Threads: 11
При размере исходника на тек.момент - 8 885 824 байт
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
....
974 root 20 0 655M 9288 5076 S 0.7 7.4 1:44.62 dnscrypt-proxy
662 root 20 0 655M 9288 5076 S 0.7 7.4 11:45.45 dnscrypt-proxy
....
3. Быстродействие того или иного сервера DNS лучше оценить например такой старенькой программкой DNSBench.
https://guide.v2fly.org/en_US/app/benchmark.html#vmess-performance
V2Ray Beginner's Guide сравнение с Shadowsocks performance
quic пробовал в AdguardHome
upstream_dns:
- tls://1dot1dot1dot1.cloudflare-dns.com
- tls://dns.quad9.net
- tls://dns.google.com
- '#quic://c....d.dns.nextdns.io' - сервис nextdns.io
- '#quic://8......d.adguard-dns.com' - сервис adguard-dns.com
- '#quic://puredns.org'
Речь ниже о роутере Keenetic и много примеров на forum.keenetic.com
Adguardhome + ipset, в файле ipset conf описано domen.com/filter1, domen1.com/
filter2ipset: []ipset_file: /opt/home/AdGuardHome/ipset.conf
а filter
ipset create filter1 hash:ip hashsize 4096Далее уже как хотите любым удобным вариантом маркировки или готовый список загоняете IP
iptables -t mangle .... -m set --match-set filter1 dst -j MARK ....промаркированный в нужную таблицу маршрутизации
ip rule add fwmark .... table ....В место Adguardhome можно ipset-dns то же самое, но в отличие от Adguardhome нет сервиса блокировки рекламы. Данные сервисы есть в наличие в Entware как для mips так и для arm процессоров.
Так же имеется в строенный прокси сервис из прошивки, можно создать профиль в него клиента и в этом профиле только канал от прокси. Тут есть так же варианты так как для данного сервиса прокси используется tun2 sock -> есть IP на данный сервис, а раз есть IP то могут быть и варианты
...--http-server-addr хх.хх.хх.хх:80 --tundev t2s_px0 --netif-ipaddr 172.20.12.1Что-то похожее наблюдаю в настоящее время на cloudflare warp в России на провайдере Ростелеком (PPPoE) инет1 май 2022, т.е. от клиента на сервер "Endpoint = engage.cloudflareclient.com:2408" уход пакет c первыми байтами 01 00 00 00 84 9B .....
Ipv4: Src = 1хх.1хх.1хх.1хх, Dest = 162.159.192.1, Next Protocol = UDP, Packet ID = 17885, Total IP Length = 176Udp: SrcPort = 65100, DstPort = 2408, Length = 156 SrcPort: 65100 DstPort: 2408 TotalLength: 156 (0x9C) Checksum: 26068 (0x65D4)UDPPayload: SourcePort = 65100, DestinationPort = 2408 UDPPayloadData: Binary Large Object (148 Bytes)А в ответ тишина.
Если взять другого провайдера просто на проводе инет2 то проблем с установкой соединения нет на том же самом конфиге имеем с "Endpoint = engage.cloudflareclient.com:2408"
От клиента 01 00 00 00 72 С4 6B 80 F1...
Ipv4: Src = 10.10.ххх.ххх, Dest = 162.159.192.1, Next Protocol = UDP, Packet ID = 52908, Total IP Length = 176Udp: SrcPort = 65100, DstPort = 2408, Length = 156 SrcPort: 65100 DstPort: 2408 TotalLength: 156 (0x9C) Checksum: 53093 (0xCF65)UDPPayload: SourcePort = 65100, DestinationPort = 2408 UDPPayloadData: Binary Large Object (148 Bytes)От сервера 03 00 00 00 72 С4 6B 80 99 ...
Ipv4: Src = 162.159.192.1, Dest = 10.10.ххх.ххх, Next Protocol = UDP, Packet ID = 38633, Total IP Length = 92Udp: SrcPort = 2408, DstPort = 65100, Length = 72 SrcPort: 2408 DstPort: 65100 TotalLength: 72 (0x48) Checksum: 44684 (0xAE8C)UDPPayload: SourcePort = 2408, DestinationPort = 65100 UDPPayloadData: Binary Large Object (64 Bytes)От клиента 01 00 00 00 3А 12 38 68 48 E4 ...
UDPPayload: SourcePort = 65100, DestinationPort = 2408 UDPPayloadData: Binary Large Object (148 Bytes)От сервера 02 00 00 00 0E 11 00 3F 12 38 ...
UDPPayload: SourcePort = 2408, DestinationPort = 65100 UDPPayloadData: Binary Large Object (92 Bytes)От клиента 04 00 00 00 00 0E 11 00 00 00 00 00 00 00 00 00 C1 ...
UDPPayload: SourcePort = 65100, DestinationPort = 2408 UDPPayloadData: Binary Large Object (32 Bytes)От клиента 04 00 00 00 00 0E 11 00 01 00 00 00 00 00 00 00 B8 ...
UDPPayload: SourcePort = 65100, DestinationPort = 2408 UDPPayloadData: Binary Large Object (128 Bytes)Далее от сервера и клиента шли пакеты 04 00 00 00 c length 124 от сервера и 136 от клиента. Туннель поднялся на провайдере инет2. Далее самое интересное, делаем смену default на инет1 (практичестки моментально) туннель остаеться рабочим и ни каких проблем на нем нет, может работать несколько дней.
— explicit Beamforming клиент и роутер поддерживают обмен для оптимальных настроек;
— implicit Beamforming клиент не поддерживает, т.е. точка доступа предполагает, что настройки, которые позволяют ей лучше всего слышать клиента, также являются настройками, которые позволяют клиенту лучше всего слышать точку.
www.youtube.com/watch?v=VBFsisCjpBk
www.youtube.com/watch?v=2i293tUjYbI
А если антенн 4.
1. Dnscrypt можно было запускать как два сервиса на разных портах и разный сервер, а при связке с Dnsmasq можно было давать команду «all-servers» и в «server» указывать данную пару. В итоге получалось что запрос от dnamasq уходил по двум направлениям Dnscrypt с разными серверами, который ответ быстрей приходил тот и активный в итоге.
2. Dnscrypt 2 уже использует алгоритм определения быстрого сервера из заданного списка «server_names». Определяет «Server with the lowest initial latency» и берет самый наименьший.
При использовании
server_names = ['cloudflare', '...1', '...2', '...3']...
# Use servers implementing the DNSCrypt protocol
dnscrypt_servers = true
# Use servers implementing the DNS-over-HTTPS protocol
doh_servers = true
....
[static.'cloudflare']
#Cloudflare DNS (anycast) - aka 1.1.1.1 / 1.0.0.1
stamp = 'sdns://AgcAAAA...........................bnMtcXVlcnk'
Данный сервер «cloudflare» ни когда не попадает в «latency» меньше чем у трех серверов ...1,...2,...3 у которых значение по логу dnscrypt от «rtt:17-40ms».
[2018-10-25 12:29:03] [NOTICE] [cloudflare] OK (DoH) - rtt: 50msХоть и собран dnscrypt 2 на GO и в итоге
Name: dnscrypt-proxy
...
VmPeak: 671020 kB
VmSize: 671020 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 12280 kB
VmRSS: 9312 kB
VmData: 662296 kB
VmStk: 136 kB
VmExe: 4372 kB
VmLib: 0 kB
VmPTE: 32 kB
VmSwap: 0 kB
Threads: 11
При размере исходника на тек.момент - 8 885 824 байт
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
....
974 root 20 0 655M 9288 5076 S 0.7 7.4 1:44.62 dnscrypt-proxy
662 root 20 0 655M 9288 5076 S 0.7 7.4 11:45.45 dnscrypt-proxy
....
3. Быстродействие того или иного сервера DNS лучше оценить например такой старенькой программкой DNSBench.