проблемы с ipfw

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
DnDwarf
рядовой
Сообщения: 29
Зарегистрирован: 2008-10-19 13:30:59

проблемы с ipfw

Непрочитанное сообщение DnDwarf » 2008-11-03 19:47:36

Добрый вечер, раньше работал с iptables, и не возникало никаких проблем, вот теперь необходимо стало вникнуть и настроить ipfw и возникли проблемы, хочу попросить у Вас помощи. решил набросить небольшой конфиг для организации чисто просто прозрачного прокси без нат для начала, и все равно чтото не работает хотя конфиг донельзя прост должен быть, подскажите пожалуйста что не так делаю. сеть простейшая, все машины находятся в подсети 192.168.0.0/24. 125ая машина - ipfw, 100ая машина клиент для прокси и 192.168.0.1ая - dlink шлюз для фряхи 125ой. Соответственно на 100ой машине шлюзом выставлена 125ая. Для простоты днской для 100ой машины прописан dlink шлюз из той же подсети.
Вот пример конфига:

Код: Выделить всё

#!/bin/sh
ipfw='/sbin/ipfw -q'
ournet='192.168.0.1/24'
ifuser='rl0'
${ipfw} flush
${ipfw} add 100 check-state
${ipfw} add 200 deny icmp from any to any in icmptype 5,9,13,14,15,16,17
${ipfw} add 300 allow ip from any to any via lo
${ipfw} add 310 allow ip from me to not ${ournet} keep-state out via ${ifuser}  
${ipfw} add 350 allow ip from me to ${ournet}
${ipfw} add 360 allow ip from ${ournet} to me via ${ifuser}
${ipfw} add 400 allow ip from any to me 21,22,25,80,110,3128
${ipfw} add 450 forward 127.0.0.1,3128 tcp from 192.168.0.100 to any http out via ${ifuser}   
${ipfw} add 500 allow ip from 192.168.0.100 to not me in via ${ifuser} 
${ipfw} add 65535 deny ip from any to any
Так что по логике если ктото на 100ой машине захочет пойти на ya.ru то он сначала стукнется на днс, получит от dlinka ответ и пошлет пакет на юникс с адресом получателя www.ya.ru порт 80, и соответственно этот пакет подпадает под правило 500 и должен быть пропущен, дальше вроде как он должен попасть в маршрутизацию и пойти на выход интерфейса ifuser где его и должно поймать правило 450 и перебросить на сквид, ну а дальше обмен данными между фрей и 100кой разрешен и обмен данными между фрей и внешним миром собссна тоже, только вот ничего не работает и в логах сквида нет запроса, хотя сегодня когда по другому настраивал ipfw запрос на сквид шел, но в его логах стояла ошибка вида:

Код: Выделить всё

1225694182.855      0 192.168.0.100 TCP_DENIED/400 1890 GET error:invalid-request - NONE/- text/html
Очень жду вашей помощи чтобы разобраться, заранее спасибо!

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: проблемы с ipfw

Непрочитанное сообщение dikens3 » 2008-11-03 20:35:00

Зачем изобретать велосипед.

1. Проще правила для первого раза.
2. fwd 127.0.0.1 делай на входе, а не выходе.
3. Squid должен быть настроен на работу в прозрачном режиме.
4. SSL(https) работать не будет.

Код: Выделить всё

${ipfw} add allow ip from any to any via lo
${ipfw} add fwd 127.0.0.1,3128 tcp from 192.168.0.100 to any 80 in via ${ИНТЕРФЕЙС_LAN}
${ipfw} add allow ip from any to any
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.