Показать полную графическую версию : шлюз из прокси
digitallez
19-03-2011, 17:51
В Windows Squid не поддерживает прозрачность.
Пробую 3proxy.
Поставил, чуть настроил, вот конфиг:auth iponly
allow *
parent 1000 http 192.168.0.15 3128
log
proxyКак обычный прокси работает нормально, логи по экрану мелькают, странички открываются.
Как прозрачный - не хочет. Странички не открываются, логов нет.
Может я что-то упускаю и нужно что-то еще где-то донастроить ?
Кстати, ранее еще пробывал UserGate. С прозрачным режимом таже петрушка. :(
Как прозрачный - не хочет. »
Для работы прозрачного прокси необходимое условие - перенаправление (forward) на маршрутизаторе пакетов, идущих на 80 порт в мир, на этот самый прокси.
digitallez
20-03-2011, 18:59
Ладно, раз само оно не хочет перенаправлять пакеты, попробуем заставить.
Поставил TMeter, создал правило, и заворачиваю все пакеты что идут по 80 порту в мир, на порт 3128 на мой прокси.
Итог: странички интернетовские открываются только если в адресе прямо указать IP адрес.
Как я понимаю, тут проблема в том что ДНС нужен, но его как-бы нету, ибо прокси родительский сам адреса разрешает, и браузеры обращаются напрямую к прокси-серверу, если тот указан в настройках, и им не нужны системные настройки ДНС.
Как быть с ДНС в этом случае ?
digitallez
21-03-2011, 15:21
Покавырялся еще чуть, в итоге вышло почти то что надо на 99%.
Получилось заставить работать следующие конфигурации прозрачных прокси:
[ноутбук] ------ [IPCop] ------ [Proxy+DNS]
[ноутбук] ------ [UserGate] ------ [Proxy+DNS]
[ноутбук] ------ [3Proxy+TMeter+BIND] ------ [Proxy+DNS]
Первый вариант не устраивает, ибо там линукс + необходим внешний ДНС-сервер.
Второй вариант тоже не устраивает, ибо нужно платить денежку + работает только при наличии внешнего ДНС-сервера.
Третий вариант бесплатный, всё что хотелось работает, но только при наличии внешнего ДНС-сервера.
А этого внешнего ДНС-сервера в моём случае нет.
Гугл подсказал форум, где с подобной проблеммой пытались разобраться еще в 2006 году, но никаких толковых идей там нет.
Больше идей ни у кого нет ?
Ну например, купить дешёвый рутер, поставить на него левую прошивку, позволяющую форвардинг (в стоковых вроде только NAT есть), кэширующий ДНС есть во всех по умолчанию. И использовать его вместо TMeter+BIND.
необходим внешний ДНС-сервер »
Что значит "внешний DNS сервер"? Если имеется ввиду любой DNS сервер в интернете, то можно использовать действительно любой, например, гугловский 8.8.8.8. А скорее всего, в качестве DNS сервера можно указать адрес прокси с которого получаешь интернет.
digitallez
21-03-2011, 21:48
В видимой локальной сети никаких днс-серверов вообще нет. Никаких, нигде, ни на одном компьютере. И по адресу который указывается в качестве прокси-сервера, тоже нет. Но очень хотелось-бы чтобы работало через существующий HTTP прокси.
В видимой локальной сети никаких днс-серверов вообще нет. »
По каким параметрам это определяется? А на какой системе поднят внешний сквид? Обычно на *nix прокси сосуществует с собственным сервером dns. Попробуй прописать в настройки сетевой карты адрес прокси как адрес сервера dns и дать команду "ping google.com". Если увидишь что-то типа "Обмен пакетами с google.com [74.125.232.81]", то dns сервер там не только есть, но и виден и доступен - определился ip-адрес внешнего узла.
В качестве внешней прокси - сквид. »
Если не ошибаюсь, сквид поддерживает каскадирование. Т.е. можно поднять собственный прокси. И, если windows версия не поддерживает прозрачность, то можно пробовать под freebsd. А ее реально запустить на виртуалке, хотя бы даже микрософтовской.
Есть еще одна фишка, которая заставляет отрабатывать настройку в браузерах "автоматическое определение прокси сервера", но для этого нужно поднять свой dhcp и dns серверы. Результат: компьютер настроенный на автоматическое получение всех настроек сам найдет прокси и заработает через него.
digitallez
22-03-2011, 08:15
Это обычная сеть, где сидят обычные юзвери, которым на ум никогда не придет вдруг поставить у себя днс-сервер.
Тот сквид что я использую как родительский, стоит на винде, так как это тоже обычный компьютер одного из пользователей.
Никакого доступа к настройкам этого компьютера, сквида, или днс-а нет, и не предвидется.
Прописывать его в качестве днс-сервера пробывал, ради смеху, но естественно, никакие гуглы не пингуются, и внешние адреса не видны.
Прозрачный прокси пытаюсь настроить тоже на винде, так как в целом, это тоже обычный компьютер одного из пользователей, и не должно быть никаких виртуалок (отжирающих уйму памяти) или других сложных, и требующих действий пользователя программ.
Нужен именно прозрачный прокси, а не обычный с авто-определением (этот вариант испытывался, и он далеко не везде работает).
Все должно работать автоматически.
И в общем - прозрачность и автоматичность уже настроена, работает и испытана, и не хватает только днс-сервера.
Тот сквид что я использую как родительский, стоит на винде »
Да-а-а... Я по простоте душевной подумал, что сделано по-человечески, на *nix...
не хватает только днс-сервера »
Из определения: "Распределённая база данных DNS поддерживается с помощью иерархии DNS-серверов, взаимодействующих по определённому протоколу." (http://ru.wikipedia.org/wiki/DNS)
Ключевое слово "взаимодействующих". Т.е. обязательно нужен выход на вышестоящий/рядомстоящий dns сервер.
это тоже обычный компьютер одного из пользователей »
Откуда-то он же берет адрес сервера dns... Знать бы сколько сетевых карт в этом компьютере... Если одна, то есть шанс найти в сети маршрутизатор с поднятым dns.
digitallez
22-03-2011, 10:35
Откуда-то он же берет адрес сервера dns... Знать бы сколько сетевых карт в этом компьютере... »
Это вовсе не тайна. Там стоит DSL модем/роутер, и две сетевые карты. Так что шансы найти в сети поднятый днс равны нулю.
нужен выход на вышестоящий/рядомстоящий dns сервер. »
Вот об этом я и веду речь. Нужен, но нету. Неужели никак нельзя организовать это "взаимодействие" через HTTP прокси ?
Там стоит DSL модем/роутер, и две сетевые карты. »
А вдруг этот роутер видно через компьютер (поднята маршрутизация)?
Можно попробовать поставить адрес прокси как адрез шлюза.
digitallez
22-03-2011, 18:09
Не видно. И не вдруг, а специально. И не будет там не то что маршрутизации, но и обычного днс-а. И сразу предупреждаю: сломать его нельзя, а если сломаешь, то сначала по попке надают, а потом интернет вообще вырубят, совсем и надолго.
И нету никаких обходных путей. Проблему надо решать так как она обрисована, либо вообще не решать.
Нужно настроить сопоставление хост адресов через прокси.
И не надо говорить что это невозможно. uTorrent умеет такое делать (судя по настройкам).
А проксифилер вообще с подобной задачей справляется на ура.
uTorrent умеет такое делать »
Работает с ip-адресами и по возможности переводит их в имена.
проксифилер вообще с подобной задачей справляется на ура »
Работает в внешним сервером по ip-адресу по своему протоколу "завернутому" в http(s) пакеты.
В качестве внешней прокси - сквид. Доступа к его настройкам нет. Авторизация по IP. »
Т.е. если подключать сетку, надо использовать NAT или приснопамятный прокси?
Все-таки рекомендую рассмотреть работу с автоматической настройкой браузеров. Если своя подсетка постоянно содержит несколько компьютеров, то может оказаться, что проще найти древний celeron с 256 МБ оперативки, двумя сетевушками, поднять на нем *nix с nat, www, dhcp, dns серверами. DNS в данном случае нужен только для нахождения автонастроек и не видит внешнюю сеть (интернет). Кстати, для работы freebsd на виртуалке достаточно выделить 64-100 МБ озу, чтобы проинсталлировать систему можно выделить и 512 для скорости, но для работы столько не нужно.
digitallez
23-03-2011, 09:55
Все-таки рекомендую рассмотреть работу с автоматической настройкой браузеров. »
Уже давно рассмотрена, еще перед тем как заводить эту ветку, и изначально этот вариант увы не устраивает. Так как это всё-равно тот же самый обычный не прозрачный прокси-сервер.
Своя "сетка" постоянно содержит только один компьютер (из которого и нужно сделать подобие шлюза), ну и возможно ноутбук. Постоянно подключаться к нему больше не будет ничего. А вот непостоянно - куча разных всевозможных устройств ( это написано еще в первом посте). Но для упрощения ситуации, их покачто не учитываем, и пытаемся настроить только ноутбук, подключенный по обычной локалке.
Это и диктует основное условие: никикаих обычных (не прозрачных) прокси-серверов.
Теорию про виртуалки я довольно хорошо знаю, и знаю как работают и как настраиваются и т.д. и т.п., а вот с линуксами сталкивался редко. Но в общем конечно не против все это развернуть на линуксе, если только там точно заработает то что нужно, а то что вы описали (всякие nat, www, dhcp, автонастройка) и в Windows не проблемма настроить.
nike6969
23-03-2011, 15:47
Не очень понял проблему с "внешним DNS"
Почему для ноута нельзя прописать любой "внешний DNS" ?
Если проблема именно в том чтобы DNS не прописывать, ну тогда видимо
надо поднят DNS сервер тамже где TMeter ... как то так наверное
ну и пробрасывать через свой DNS все DNS-запросы наружу через прокси на любой "внешний" DNS
digitallez
23-03-2011, 16:25
Не очень понял проблему с "внешним DNS" »
Проблема в том, что его нет в пределах прямой видимости.
Почему для ноута нельзя прописать любой "внешний DNS" ? »
А потому что:
Из определения: "Распределённая база данных DNS поддерживается с помощью иерархии DNS-серверов, взаимодействующих по определённому протоколу."
Ключевое слово "взаимодействующих". Т.е. обязательно нужен выход на вышестоящий/рядомстоящий dns сервер. »
надо поднят DNS сервер тамже где TMeter »
Уже давно поднят:
[ноутбук] ------ [3Proxy+TMeter+BIND] ------ [Proxy+DNS] »
BIND - тут и есть тот самый днс-сервер, но без вышестоящего, он как мертвому припарка.
nike6969
23-03-2011, 17:05
Что значит "нет в прямой видимости" ? ты же со своего компа Инетом пользуешься,
зачит DNS сервер доступен полюбому(видимо адрес получается автоматически),
так вот надо просто узнать у провайдера IP DNS-сервера по умолчанию, вот он и будет рядомстоящий
или вышестоящий (не важно) мне так думается
А вообще погодите ка, зачем это фсе ?
А ты пробовал пробрасывать фсе входящие пакеты на свой шлюз а не только те что на 80й порт ?
Т.е. может твой TMeter просто отфильтровывает DNS запросы вот ты и не видишь DNS сервер
digitallez
23-03-2011, 17:43
nike6969, почитайте предыдущие посты. Там все расписано.
Ну нету его в видимой локальной сети !!! Сколько можно это повторять ?
Инет приходит с прокси сервера. Он явно указан в настройках браузера.
И потому, адреса не резолвятся. Прокси сам этим занимается когда к нему браузер обращается.
Вот что пинги выдают:C:\Documents and Settings\user>ping google.com
При проверке связи не удалось обнаружить узел google.com. Проверьте имя узла и повторите попытку.
Тметер то тут причем ? И на компе где стоит прокси, не стоит никаких ДНС, и это не случайно, а именно специально !
Это не я придумал, и к сожалению не могу никак это изменить.
nike6969
23-03-2011, 18:33
Я думаю ты ошибаешься ну или я ошибаюсь :) но первым делом браузер пытается разрешить
доменное имя т.е. получить IP адрес, а потом уже шлет запрос по http, который обрабатывается прокси сервером
(т.е. прокси уже не занимается разрешанием доменных имен)
У тебя, насколько я понял, все http запросы (80й порт) перенаправляются TMeterом на прокси сервер,
поэтому доступ в интернет с ноутбука по ip адресам работает, ибо маршрутизатор корректно их перенаправляет ...
А доменные имена не работают потому что пакеты с DNS запросами дальше маршрутизатора не идут(ибо порт 53й а не 80й),
поэтому тот их никуя не маршрутизирует ... как то так.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.