Запутался с взаимодействием ipnat и ipf и squid(FreeBSD 6.0)

На доскональное знание данной темы, не может претендовать, пожалуй ни один спец, из ныне живущих на земле. ;-)
Так поможем друг другу.

Модераторы: Trinity admin`s, Free-lance moderator`s

Ответить
Аватара пользователя
Zorn
Advanced member
Сообщения: 53
Зарегистрирован: 30 сен 2005, 14:33
Откуда: Санкт-Петербург

Запутался с взаимодействием ipnat и ipf и squid(FreeBSD 6.0)

Сообщение Zorn » 14 апр 2006, 14:22

Есть гейт, на нам будет dns, почтовый релей (sendmail) и прокся (squid), апач, и фтп ресурс.
Решил ipf настроись жёстко. На внешнем интерфейсе решил зашарить все, оставить только порты ssh, smtp, 80, 8080, 21 и для пинга icmp-type 8. :spy:
Так вот, если я хочу ipnat'ом редиректить пакеты пришедшие на некоторые порты во внутреннюю сеть ipf их будет резать? И там же гемор какой-то с фтп, с активным и пассивным режимом?
И это ведь не повлияет на squid, он же сможет порты открывать любые(всмысле разрешенные в squid.conf)?
Короче, я запутался и на меня напал тупняк, хелп!  :oops:
:to_become_senile:
Я решил жить вечно, пока всё идёт хорошо...

smb-
Junior member
Сообщения: 19
Зарегистрирован: 12 янв 2006, 20:20

Re: Запутался с взаимодействием ipnat и ipf и squid....

Сообщение smb- » 14 апр 2006, 14:54

Zorn писал(а):Есть гейт, на нам будет dns, почтовый релей (sendmail) и прокся (squid), апач, и фтп ресурс.
Решил ipf настроись жёстко. На внешнем интерфейсе решил зашарить все, оставить только порты ssh, smtp, 80, 8080, 21 и для пинга icmp-type 8. :spy:
Так вот, если я хочу ipnat'ом редиректить пакеты пришедшие на некоторые порты во внутреннюю сеть ipf их будет резать? И там же гемор какой-то с фтп, с активным и пассивным режимом?
И это ведь не повлияет на squid, он же сможет порты открывать любые(всмысле разрешенные в squid.conf)?
Короче, я запутался и на меня напал тупняк, хелп!  :oops:
:to_become_senile:
Ты уж разберись как отфильтровал :)
Обычно фильтруют на входящие, default=deny all, перед этим - разрешающие правила (ssh, smtp, 80, 8080, 21.....).....FTP работать будет, но в пассиве.....

Как я понимаю, ipf успеет порезать пакеты до ipnat, ибо коннект же снаружи всё равно будет идти к определенному порту на внешнем интерфейсе, и только потом перекинется во внутреннюю сеть...

для теста работы port-mapping-а можно поюзать rinetd, он делает банальный маппинг...Правда, работает в userland, разумеется, поэтому лучше ipnat - но для тестов и оный пойдет :)

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Re: Запутался с взаимодействием ipnat и ipf и squid(FreeBSD

Сообщение Stranger03 » 14 апр 2006, 15:02

Когда на внутренний интерфейс приходит пакет, то как правило отрабатывают два правила:
1. входящий запрос
2. исходящий ответ
Пример:

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

/sbin/ipfw add 1208 pass tcp from 192.168.0.0/24 to any 25,110
/sbin/ipfw add 1209 pass tcp from any 25,110 to 192.168.0.0/24 established
Таких правил на роутере с двумя интерфейсами должно быть 4-е. То есть приходит запрос из внутренней сети, попадает на обработку на внутреннем интерфейсе, потом пакет уходит на внешний интерфейс. А наружу пакет уже уходит от имени и адреса внешнего интерфейса. И так далее.

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Re: Запутался с взаимодействием ipnat и ipf и squid(FreeBSD

Сообщение Stranger03 » 14 апр 2006, 15:03

А для редиректа портов во фре есть такая штука в портах rinetd, очень удобная вещь, маленькая и простая как карандаш.

Аватара пользователя
Zorn
Advanced member
Сообщения: 53
Зарегистрирован: 30 сен 2005, 14:33
Откуда: Санкт-Петербург

Сообщение Zorn » 14 апр 2006, 15:31

понял! Значит те порты, с которые я буду редиректить пакеты придётся дополнительно расшарить в ipf.
я пока говорю только про входящие пакеты на внешний интерфейс , а остальные пусть будут allow all.
Вообще главное зашарить порты in внешний_интерфейс и in внутренний (что в локальную сеть смотрит)?
А для named надо что-то шарить?
Я решил жить вечно, пока всё идёт хорошо...

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Сообщение Stranger03 » 14 апр 2006, 15:45

Zorn писал(а):Вообще главное зашарить порты in внешний_интерфейс и in внутренний (что в локальную сеть смотрит)?
А для named надо что-то шарить?
А что значит шарить? Зачем? Если речь про то, чтобы сделать дырку с внешнего интерфейса на внутренний - то это проброс порта. А что такое шаринг - я не знаю.

Аватара пользователя
Zorn
Advanced member
Сообщения: 53
Зарегистрирован: 30 сен 2005, 14:33
Откуда: Санкт-Петербург

Сообщение Zorn » 14 апр 2006, 16:00

я имею ввиду я открыл некоторые порты, а для всего ослального сделал
block in log first quick on внешний_интерфейс all
Так вот, для named мне тоже что-то открыть нужно?
Я решил жить вечно, пока всё идёт хорошо...

yvg
member
Сообщения: 21
Зарегистрирован: 07 сен 2005, 17:33
Контактная информация:

замечание по поводу rinetd

Сообщение yvg » 17 апр 2006, 18:59

это хорошо работает, только в том случае, если прикладной программе (на том адресе, куда редиректят) не надо анализировть ip отправителя. иначе всегда будем видеть ip шлюза.
чтобы это работало корректно должна быть строка NATD вида:
/sbin/natd -a [внешний адрес]:[порт] -port [порт NATD] -m -s -u -log_denied -redirect_port tcp [внутренний адрес]:[порт] [внешний адрес]:[порт]

подробности на man natd

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Сообщение Stranger03 » 19 апр 2006, 16:17

Zorn писал(а):Так вот, для named мне тоже что-то открыть нужно?
Named чего и куда? Кто должен иметь право запроса? Есть ли на сервере named? Настроен ли он на форвард запросов? Должен ли пользователь иметь резолвинг или для него достаточно прокси?
Если очень хорошо подумать головой, то в моем примере можно понять схему потока запросов и ответов. Из нее можно понять, как написать свои правила.

Andrey Y. Ostanovsky
Advanced member
Сообщения: 103
Зарегистрирован: 04 окт 2004, 15:07

Re: Запутался с взаимодействием ipnat и ipf и squid(FreeBSD

Сообщение Andrey Y. Ostanovsky » 04 май 2006, 14:20

Stranger03 писал(а):А для редиректа портов во фре есть такая штука в портах rinetd, очень удобная вещь, маленькая и простая как карандаш.
Во фре - есть штатный natd.:) Гораздо прямее rinetd, после котого, например, приложению не видно src-адреса с которого пришел пакет.

Andrey Y. Ostanovsky
Advanced member
Сообщения: 103
Зарегистрирован: 04 окт 2004, 15:07

Re: Запутался с взаимодействием ipnat и ipf и squid(FreeBSD

Сообщение Andrey Y. Ostanovsky » 04 май 2006, 14:23

Zorn писал(а):Решил ipf настроись жёстко.
Прежде, чем принимать такое ответственное решение - полезно прочитать хотя бы содержимое файла /etc/rc.firewall - там все достаточно подробно прокомментировано. Ну и неплохо ознакомиться с манами на ipfw, pf.conf, pfctl, tcpdump.

Ответить

Вернуться в «Серверы - ПО, Unix подобные системы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 9 гостей