Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

С шлюза где стоит FreeBSD+NAT+IPFW зафорварденные (forward) пакеты исчезают в неизвестном направлении, в чем волшебство, подска

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Unix
Предыдущая тема :: Следующая тема  
Автор Сообщение
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 добавить по вкусу.
На прокси то же самое!!!
И все!!! Smile
У меня заработало, я проверил только что Smile
Вернуться к началу
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 С роутинг знаю только по наслышке Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
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 я так и не нашел Sad. Может она в портах есть? Если у Вас остался ее пакедж может скинете на мыло, или хоть точную сылку киньте я сам скачаю...

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    Заголовок сообщения: Я ща сдохну :) (+) Ответить с цитатой

лингво.яндех.ру - это переводчик.
Заколоти туда слово "транспарент" и посмотри на перевод.
Впрочем, можешь и не смотреть - в данном контексте это слово означает "прозрачный", т.е. незаметный для юзеров. Они ничего нигде не настраивают, а ты незаметненько весь трафик на прокси заворачиваешь.
Вернуться к началу
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Unix Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...