Jump to content

Question

Posted

Привет.

У менять есть squid в локальной сети с конфигом:

...
acl filtered dstdom_regex "/etc/squid/filtered-sites.txt"
cache_peer 192.168.88.103 parent 8003 0 no-query no-digest proxy-only allow-miss name=k3s_proxy
cache_peer_access k3s_proxy allow filtered
cache_peer_access k3s_proxy deny  all
never_direct      allow     filtered 
http_port 3127
...

Содержимое /etc/squid/filtered-sites.txt

(^|\.)ifconfig\.me$

Благодаря этому, если в параметрах Windows указать, что нужно использовать прокси для выхода в интернет, все запросы начинают идти через этот squid. Squid направляет трафик, который идет на домены, попадающие под регулярку (^|\.)ifconfig\.me$, в родительский прокси, который уже перенаправляет трафик за пределы РФ. А весь остальной трафик идет напрямую.

 

Задача: нужно сделать так, что трафик со всех устройств в домашней сети шел через этот прокси без изменения каких-либо конфигураций в устройствах.

Думал, что использование в keenetic функционала Клиент прокси решит мою проблему, но как выяснилось не совсем. Keenetic действительно перенаправляет весь трафик в squid, который я ему указываю, но так же keenetic еще и выполняет DNS резолвы. Из-за этого на squid приходят запросы не с именем ресурса, который запрашиваю, а с ip адресом этого ресурса. 

Лог squid-а, когда указываю в параметрах windows использовать прокси:

1725092736.283  26907 192.168.88.7 TCP_TUNNEL/200 17430 CONNECT ifconfig.me:443 - FIRSTUP_PARENT/192.168.88.103 -

Лог squid-а, когда говорю указываю в keeneic направлять весь трафик в squid:

1725093515.100  27427 192.168.88.7 TCP_TUNNEL/200 17489 CONNECT 34.160.111.145:443 - HIER_DIRECT/34.160.111.145 -

Из-за того, что в squid приходит уже запрос на подключение не к ifconfig.me:443, а к 34.160.111.145:443, регулярка не срабатывает и трафик не направляется в родительский прокси.

 

Можно ли сделать так, что бы клиент прокси в keenetic-е не резолвил DNS имена?

2 answers to this question

Recommended Posts

  • 0
Posted

Скорее всего ничего не выйдет.

Proxy-интерфейс Keenetic работает в "прозрачном" режиме и не видит заголовков, к нему в интерфейс приходят уже просто пакеты на какой-то IP-адрес. Чтобы была возможность передавать доменные имена в заголовках, вам нужен "явный" proxy-сервер.

  • 0
Posted

Частичное решение проблемы.

В роутере сказал: ip dhcp pool _WEBADMIN option 252 ascii http://wpad.local/wpad.pac

И в локальной сети раздаю файл http://wpad.local/wpad.pac

С примерно таким содержимым:

function FindProxyForURL(url, host)
{
    if (isInNet(host, "192.168.88.0", "255.255.255.0")) {return "DIRECT";}
    if (shExpMatch(host, "127.0.0.1" )) {return "DIRECT";}
    if (dnsDomainIs(host, ".local")) {return "DIRECT";}
    if (dnsDomainIs(host, "ifconfig.me")) {return "PROXY 192.168.88.103:8003";}
    // и т.д.
    return "DIRECT";
}

На компьютерах есть опция для автонастройки прокси, которая работает балгодря 252 опции в dhcp сервере. На телефоне пришлось прописать урл http://wpad.local/wpad.pac в настройке сети в разделе URL автокофигурации прокси.

 

Телевизор и android tv приставка игнорируют 252 опицию DHCP сервера и не дают в своих настройках указать URL автокофигурации прокси.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

This site uses cookies. By clicking "I accept" or continuing to browse the site, you authorize their use in accordance with the Privacy Policy.