Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Stas_Dragon
Зарегистрирован: 01.04.2002 Сообщения: 31 Откуда: Зеленоград
|
Добавлено: Вт Июл 16 2002 11:54 Заголовок сообщения: С шлюза где стоит FreeBSD+NAT+IPFW зафорварденные (forward) пакеты исчезают в неизвестном направлении, в чем волшебство, подска |
|
|
ввод в курс дела: Есть шлюз ОС FreeBSD4.2 к нему прикручен NAT и IPFW, также есть сеть которая выходит в инет через этот шлюз т.е у шлюза две сетевухи одна смотрит в инет (de0), а другая локалку (de1). Пытаюсь все пакеты с определенного локального IP_адреса идущие на 80 порт инетовского адреса перенаправить на проксю (на squid).Но в результате вижу как IPFW forward-ит пакеты но не один пакет из сетевухи de1 на squid не бежит 8( куда они исчезают неизвестно в чем фича подскажите плиз... как все делалось (или краткое описание настроек): Локальная сеть имеет ip_адреса 192.168.1.xx маска 255.255.255.0 Шлюз FreeBSD4.2+IPFW+NAT Squid находится на отдельной машине с ip_адресом=192.168.1.20 на порту 3128. Правило для перенаправления пакетов на squid выглядит так:
код: ----------------------------------------------
ipfw add 5 fwd 192.168.1.20,3128 tcp from 192.168.1.8 to any 80 in via de1
----------------------------------------------
вставлял это правило перед NAT и после NAT, с помощь команды ipfw show видно что пакеты форвардятся, но запуская tcpdump -i de1 dst 192.168.1.20 не один пакет на ip_адрес 192.168.1.20 не выходит. Сразу после правила ipfw add 5 fwd 192.168.1.20,3128 tcp from 192.168.1.8 to any 80 in via de1 вставлял правила: ipfw add 6 allow tcp from 192.168.1.20 to any ipfw add 7 allow tcp from any to 192.168.1.20 не помогло ipfw show показывает что через них (6,7) не чего не проходит.
Всё знающее ALL подскажите в чем фича, как заствавить пакеты перенаправлятся с шлюза на squid
Может надо как нить хитро таблицу маршрутов настроить? |
|
Вернуться к началу |
|
 |
Dmitry.Karpov http://www. Гость
|
Добавлено: Вт Июл 16 2002 14:07 Заголовок сообщения: Squid надо перекомилять |
|
|
Я не настраивал подобной схемы, т.к. проще запретить 80-й порт - и тогда все юзеры сами перенастроят свои браузеры. Из того, что я читал по этому поводу, я помню, что Squid необходимо перекомпилировать, иначе он не будет ловить таких пакетов и правильно отвечать на них. |
|
Вернуться к началу |
|
 |
Stas_Dragon
Зарегистрирован: 01.04.2002 Сообщения: 31 Откуда: Зеленоград
|
Добавлено: Вт Июл 16 2002 14:29 Заголовок сообщения: Re: Squid надо перекомилять (for ALL) |
|
|
У меня squid стоит на отдельной машине(IP 192.168.1.20), я запускаю tcpdump на шлюзе но не вижу что бы пакеты с шлюза перенаправлялись бы на squid (как будто fwd не пашет)хотя команда ipfw show показывает что это правило (fwd) срабатывает. Так что проблема всетаки где то в шлюзе а не в squid-e потомучто от шлюза к squid-y не чего не уходит....
Народ может есть еще какие нить идеи по этому поводу, кто нить настраивал прозрачный прокси на FreeBSD+IPFW+NAT-ом ? Поделитесь опытом плиз |
|
Вернуться к началу |
|
 |
AlexanderK Гость
|
Добавлено: Вт Июл 16 2002 15:20 Заголовок сообщения: Я плюнул :) (+) |
|
|
Когда прокси и фильтр на одной машине, то все ОК, но стоит попробовать завернуть на соседнюю - вилы. Разбираться было лень. Попробовал Циско рутер и заворачивание пакетов по wccp - все ОК. Остановился на этом варианте. |
|
Вернуться к началу |
|
 |
Stas_Dragon
Зарегистрирован: 01.04.2002 Сообщения: 31 Откуда: Зеленоград
|
Добавлено: Вт Июл 16 2002 15:38 Заголовок сообщения: Re: Я плюнул :) (+) (ForALL) |
|
|
Не уж то не кто все таки не сделал на FreeBSD заварот пакетов на прокси? |
|
Вернуться к началу |
|
 |
Кип Гость
|
Добавлено: Вт Июл 16 2002 15:57 Заголовок сообщения: Re: С шлюза где стоит FreeBSD+NAT+IPFW зафорварденные (forward) пакеты исчезают в неизвестном направлении, в чем волшебство, по |
|
|
http://neva.vlink.ru/~dsh/squid.html |
|
Вернуться к началу |
|
 |
Stas_Dragon
Зарегистрирован: 01.04.2002 Сообщения: 31 Откуда: Зеленоград
|
Добавлено: Вт Июл 16 2002 17:38 Заголовок сообщения: Re: For ALL |
|
|
Погулял по твоей сылке собственно я все и делал по этой статье, но погуляв по дольше я обнаружел следуюшие: Configuring FreeBSD FreeBSD first needs to be configured to recieve and strip the GRE encapsulation from the packets from the router. To do this you will need to patch and recompile your kernel.
First, a patch needs to be applied to your kernel for GRE support. Apply the patch for FreeBSD-3.x kernels or the patch for FreeBSD-4.x kernels as appropriate.
Secondly you will need to download gre.c for FreeBSD-3.x or gre.c for FreeBSD-4.x and copy it to /usr/src/sys/netinet/gre.c.
Finally add "OPTION GRE" to your kernel config file and rebuild your kernel. Note, the opt_gre.h file is created when you run config. Once your kernel is installed you will need to configure FreeBSD for interception proxying.
Постараюсь сделать как тут написано может поможет,
P.S Все таки есть тут люди кто смог перенаправить (fwd) запросы с шлюза на отдельную машину со squid-ом ? |
|
Вернуться к началу |
|
 |
AlexanderK Гость
|
Добавлено: Ср Июл 17 2002 07:40 Заголовок сообщения: не поможет. (+) |
|
|
GRE - это опция ядра для поддержки того самого wccp - кошачьего вэб кэш коммуникэйшн протокола.
Посмотри в конфиг ядра. У тебя там есть опция options IPFIREWALL_FORWARD #enable transparent proxy support ? |
|
Вернуться к началу |
|
 |
Stas_Dragon
Зарегистрирован: 01.04.2002 Сообщения: 31 Откуда: Зеленоград
|
Добавлено: Ср Июл 17 2002 11:28 Заголовок сообщения: Re: не поможет. (+) (For ALL) |
|
|
Эта опция у меня есть если бы ее не было то он у меня бы матюгал при пытке что нить перенаправить (fwd).
У меня плохо с английскем но может ответ лежит в мане по ipfw (fwd) там что то сказано про роутинг может сдесь собака порылось посмотрите пожалуста и скажите свое мнение как Вы понимаете этот ман.
ВСТАВКА ИЗ МАН fwd ipaddr[,port] Change the next-hop on matching packets to ipaddr, which can be an IP address in dotted quad or a host name. If ipaddr is not a directly-reachable address, the route as found in the local routing table for that IP is used in- stead. If ipaddr is a local address, then on a packet entering the system from a remote host it will be divert- ed to port on the local machine, keeping the local ad- dress of the socket set to the original IP address the packet was destined for. This is intended for use with transparent proxy servers. If the IP is not a local ad- dress then the port number (if specified) is ignored and the rule only applies to packets leaving the system. This will also map addresses to local ports when packets are generated locally. The search terminates if this rule matches. If the port number is not given then the port number in the packet is used, so that a packet for an external machine port Y would be forwarded to local port Y. The kernel must have been compiled with the IPFIREWALL_FORWARD option. |
|
Вернуться к началу |
|
 |
AlexanderK Гость
|
Добавлено: Ср Июл 17 2002 12:20 Заголовок сообщения: Ай, дарагой, какой ты умный, это что-то!!!! Открыл старику глаза!!!(+) |
|
|
Ты не подумай что, я абс. серьезно!!! Вот что значит внимательно man прочитать!!!
Перевожу не художественно, а с точки зрения практики то, что нас с тобой интересует:
Если правило заворачивает пакеты на локальный интерфейс, то пакет дайвертится на нужный порт и все телемаркет. Если не на локальный, а на удаленный, то номер порта _игнорируется_!!!! Таким образом, чтобы все заработало, нужно всего-то навсего прописать на _обоих_ машинах одинаковое (почти) правило форвардинга на рутере $fwcmd add fwd $proxy,3128 tcp from $my_network to any 80 порт, как мы выяснили, можно и не писать, но я оставил для наглядности. in via $in_if добавить по вкусу. На прокси то же самое!!! И все!!!  У меня заработало, я проверил только что  |
|
Вернуться к началу |
|
 |
AlexanderK Гость
|
Добавлено: Ср Июл 17 2002 12:52 Заголовок сообщения: Ни хрена не заработало :( Наврал я. (+) |
|
|
Опять все на локальный интерфейс заворачивается. |
|
Вернуться к началу |
|
 |
Stas_Dragon
Зарегистрирован: 01.04.2002 Сообщения: 31 Откуда: Зеленоград
|
Добавлено: Ср Июл 17 2002 13:19 Заголовок сообщения: Re: Я рад за тебя!!! Плиз если можешь объясни подробно, подведи итоги... |
|
|
Я что то вобще запутался!!! Значит так я на шлюзе через который моя сеть выходит в инет пишу правило: $fwcmd add fwd $proxy,3128 tcp from $my_network to any 80 где $proxy это IP_адрес моего локального (отдельная машина НЕ шлюз)прокси ,$my_network это диапазон IP адресов моей сети.
Учитывая переведенный Вами ман это правило перенаправляет все пакеты на $proxy на порт 80, из этого следует, что на машине где крутиться squid надо написать правило для IPFW вот такое: $fwcmd add fwd 127.0.0.1,3128 tcp from $my_network to any 80 верно я понял?
Тогда все таки меня интересует вопрос почему я не вижу в tcpdump-е запушенном на шлюзе выходяшие пакеты в сторону машины где стоит squid? Может я не правельно их ловлю (тогда как оформить команду tcpdump что бы увидеть что пакеты уходят?) Ну и самый последний вопрос на шлюз у Вас пропатченый gre.c?
Уважаемый Александр плиз разложите в моей голове все по полочкам... |
|
Вернуться к началу |
|
 |
Stas_Dragon
Зарегистрирован: 01.04.2002 Сообщения: 31 Откуда: Зеленоград
|
Добавлено: Ср Июл 17 2002 13:28 Заголовок сообщения: Re: Ни хрена не заработало :( Наврал я. (+) |
|
|
Будем копать дальше... Есть еще идеи? У меня глупая наверно идея но все таки может: если он все отсылает на локальный интерфейс, тогда нельзя ли поправить таблицу роутинга чтоб пакеты идушие на локальный интерфейс с других машин перенапрвлялись бы на другой маршрут (на машину где squid)
P.S С роутинг знаю только по наслышке  |
|
Вернуться к началу |
|
 |
anthony
Зарегистрирован: 21.05.2002 Сообщения: 845 Откуда: Petrozavodsk
|
Добавлено: Ср Июл 17 2002 17:10 Заголовок сообщения: Re: Ни хрена не заработало :( Наврал я. (+) |
|
|
Слух, качни прогу redir и скомпиль. И будет оно тебе форвардить по отдельным портам на любую тачку. У меня так одно время почта работала и все было ОК. |
|
Вернуться к началу |
|
 |
Stas_Dragon
Зарегистрирован: 01.04.2002 Сообщения: 31 Откуда: Зеленоград
|
Добавлено: Ср Июл 17 2002 17:57 Заголовок сообщения: Re: Ни хрена не заработало :( Наврал я. (+) |
|
|
Воспользовался я поиском aport.ru, он нашел по слову redir до фига сылок, пролестал я страниц 20 но натыкался на команду для Linux redir и всякую другую муть но проги под FreeBSD я так и не нашел . Может она в портах есть? Если у Вас остался ее пакедж может скинете на мыло, или хоть точную сылку киньте я сам скачаю...
P.S Как насчет идей с таблицу роутинга поправить что вы о ней думаете? |
|
Вернуться к началу |
|
 |
anthony
Зарегистрирован: 21.05.2002 Сообщения: 845 Откуда: Petrozavodsk
|
Добавлено: Чт Июл 18 2002 00:29 Заголовок сообщения: Ответ на: "Re: Ни хрена не заработало :( ..- Stas_Dragon- 17-07-2002 18:57" Re: Ни хрена не зараб |
|
|
Таблица роутинга вещь хорошая, но коль с ней столько муд@ханий, то чуго возится? Поисковик - google.com, там ищи redir port forwarder, или че-то в ентом роде, можешь еще словечко download в строку поиска завернуть. Там tgz'ха с исходниками, makefile малехо напильником обработай и под фрю наверно оно скомпилится должно (сам я на линухе ее юзал). |
|
Вернуться к началу |
|
 |
vovik1980 Гость
|
Добавлено: Чт Июл 18 2002 11:27 Заголовок сообщения: Re: Я плюнул :) (+) |
|
|
>Когда прокси и фильтр на одной машине, то >все ОК Можите привести список правил, работающик в этом случае, а то у меня даже так не работает.... Спасибо! |
|
Вернуться к началу |
|
 |
AlexanderK Гость
|
Добавлено: Чт Июл 18 2002 12:18 Заголовок сообщения: Re: Я плюнул :) (+) |
|
|
>>Можите привести список правил, работающик в этом случае, а то у меня даже так не работает.... Ну так просто ipfw add fwd 10.10.10.1,3128 tcp from 10.10.10.2 to any 80
Тут 10.10.10.1 - это внутр. интерфейс рутера, 3128 - порт, на котором сидит прокси, а 10.10.10.2 - это адрес, хттп трафик которого надо завернуть на прокси. Прокси должен уметь быть transparent |
|
Вернуться к началу |
|
 |
vovik1980 Гость
|
Добавлено: Чт Июл 18 2002 12:39 Заголовок сообщения: Re: Я плюнул :) (+) |
|
|
Извините, что есть transparent? |
|
Вернуться к началу |
|
 |
AlexanderK Гость
|
Добавлено: Чт Июл 18 2002 13:41 Заголовок сообщения: http://lingvo.yandex.ru/cgi-bin/lingvo.p.. |
|
|
Ж |
|
Вернуться к началу |
|
 |
vovik1980 Гость
|
Добавлено: Чт Июл 18 2002 13:54 Заголовок сообщения: Re: http://lingvo.yandex.ru/cgi-bin/lingvo.p.. |
|
|
Вся ссылка влезла в тему? если нет, то дайте обычным текстом... |
|
Вернуться к началу |
|
 |
vovik1980 Гость
|
Добавлено: Чт Июл 18 2002 13:54 Заголовок сообщения: Re: http://lingvo.yandex.ru/cgi-bin/lingvo.p.. |
|
|
Вся ссылка влезла в тему? если нет, то дайте обычным текстом... |
|
Вернуться к началу |
|
 |
AlexanderK Гость
|
Добавлено: Чт Июл 18 2002 14:19 Заголовок сообщения: Я ща сдохну :) (+) |
|
|
лингво.яндех.ру - это переводчик. Заколоти туда слово "транспарент" и посмотри на перевод. Впрочем, можешь и не смотреть - в данном контексте это слово означает "прозрачный", т.е. незаметный для юзеров. Они ничего нигде не настраивают, а ты незаметненько весь трафик на прокси заворачиваешь. |
|
Вернуться к началу |
|
 |
|