Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по FreeBSD » FreeBSD - Настройка Прокси (SQUID) с PF + DHCP relay (FreeBSD 8.1)

Ответить
Настройки темы
FreeBSD - Настройка Прокси (SQUID) с PF + DHCP relay (FreeBSD 8.1)

Аватара для ilka

Новый участник


Сообщения: 43
Благодарности: 4

Профиль | Отправить PM | Цитировать


Изменения
Автор: ilka
Дата: 04-12-2010
Доброй ночи, коллеги.
Уже неделю бьюсь и совсем запутался(

Ситуация следующего характера:

Имеется кусок сети, в которой интернет раздает Cisco (VPN+DNS+DHCP). Она же является одним из нескольких звеньев территориально-распределенной сети офисов.
В обсуждаемом офисе у кого-то из сотрудников возник мозговой коллапс и сударь принялся качать дикое кол-во инет трафика (оплата по счетам за интернет выросла аж в 15-20 раз.) Было принято решение поднять SQUID+PF+SAMS с NCSA аутентификацией.
Т.к. данный прокси встанет в разрыв сети (между Cisco и клиентами), то возникает проблема в получении клиентами ip-адреса от цисковского DHCP (это критично!). Тут было решено воспользоваться пакетом из портов "dhcprelay".



Итак получил две проблемы:
1. Настройка PF.
Поскольку никакая безопасность не требуется (Cisco хватает), PF должен быть просто открыт для исходящих и входящих пакетиков.
Но возникает вопрос... а правильно ли настроен PF?...

Код: Выделить весь код
BSDproxy# cat /etc/pf.conf

ext_if="sk0"
int_if="rl0"
internal_net="10.1.1.0/24"
proxy_if="lo0"
proxy_port="3128"

rdr on $int_if proto tcp from $internal_net to any port www -> 127.0.0.1 port 3128
nat on $ext_if from $ext_if to any -> ($ext_if)
nat on $ext_if from $int_if to any -> ($ext_if)
nat on $ext_if from $int_if:network to any -> ($ext_if)
nat on $int_if from $ext_if to any -> ($int_if)
nat on $int_if from $ext_if:network to any -> ($int_if)

pass in all keep state
pass out all keep state
2. Если же с PF все ок.....в чем не уверен...
Не отрабатывает DHCPrelay
.....в упор нигде не нашел нормального описания как сие чудо настроить ....man dhcprelay - нет такого.
Единственное о чем говорится - это при установке в /etc/rc.conf нужно добавить три строки: привожу вывод rc.conf

Код: Выделить весь код
BSDproxy# cat /etc/rc.conf

gateway_enable="YES"
defaultrouter="10.1.1.1"
hostname="BSDproxy"
ifconfig_sk0="DHCP"
ifconfig_rl0="inet 10.1.1.241 netmask 255.255.255.0"
sshd_enable="YES"
pf_enable="YES"
pf_rules="/etc/pf.conf"
pf_flags=""
pflog_enable="YES"
pflog_logfile="/var/log/pflog"
pflog_flags=""
dhcprelay_enable="YES"
dhcprelay_server="10.1.1.1"
dhcprelay_ifaces="sk0"
Заранее большое спасибо за любую помощь или совет (ссылку)!!!

-------
...пользуясь моментом...хочу передать привет друзьям...которые тоже пользуются ...моментом)))


Отправлено: 02:42, 04-12-2010

 

Пользователь


Сообщения: 85
Благодарности: 2

Профиль | Отправить PM | Цитировать


на данном этапе что у Вас работает , а что нет?

впрочем, почитайте эту статью хттп://www.opennet.ru/base/sec/pf_openbsd_altq.txt.html. возможно что то прояснит...

Отправлено: 13:36, 07-12-2010 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для ttys

Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Цитата ilka:
Господа форумчане... рабочий ли такой вариант pf.conf?
Помогите совладать с PF!
Код:
BSDproxy# cat /etc/pf.conf
ext_if="sk0"
int_if="rl0"
internal_net="10.1.1.0/24"
rdr on $int_if proto tcp from $internal_net to any port 80 -> 127.0.0.1 port 3128
nat on $ext_if from $ext_if to any -> ($ext_if)
nat on $ext_if from $int_if to any -> ($ext_if)
nat on $ext_if from $int_if:network to any -> ($ext_if)
pass in all
pass out all keep state
-------
...пользуясь моментом...хочу передать привет друзьям...которые тоже пользуются ...моментом))) »
оО
хрени подобной не видел ещё ни разу
пиши, что надо, на жабу: dtulyakov@xmpp.ru, ttys@ttys.org.ua, я тебе с правилами помогу

ЗЫ: нат в PF настраивается в одну строчку

Отправлено: 00:27, 01-02-2011 | #12


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Господа, прошу не пинать, пишу на форумах впервые!! Разбирался бы сам, курил маны, но время жмет очень сильно! Проблема состоит в следующем: в учреждении есть сеть 192.168.50.0/24, есть домен на в2к3. Все это дело рвется в инет через шлюз. вот собственно понеслось!

на чем все крутится -->

FreeBSD proxy.mmuftp.local 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Jul 19 02:55:53 UTC 2010 root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386

стоит squid + sams т.е. весь трафик идет через проксю! на этом моменте все работает отлично, но встала задача прокинуть порты для рдп и хамача!! + в дальнейшем смтп и поп3. Почитав инфу, решил поставить pf..т.к. в ядро он не вкомпилен, запускаю его модулем!

конфиг rc.conf
[CUT="rc.conf"]
keymap="ru.koi8-r"
sshd_enable="YES"
ifconfig_rl1="inet 192.168.1.4 netmask 255.255.255.0"
defaultrouter="192.168.1.1"
ifconfig_rl0="inet 192.168.50.2 netmask 255.255.255.0"
hostname="proxy.mmuftp.local"
apache22_enable="YES"
squid_enable="YES"
mysql_enable="YES"
sams_enable="YES"
inetd_enable="YES"
pf_enable="YES"
gateway_enable="YES"
pf_rules="/etc/pf.conf"
pflog_enable="YES"
pflog_logfile="/var/log/pf.log"
[/CUT]

[CUT="1"]ext_if="rl1"
int_if="rl0"
internal_net="192.168.50.0/24"

nat on $ext_if inet proto tcp from $internal_net port {smtp, pop3} to any port {smtp, pop3} -> ($ext_if)
nat on $ext_if inet proto tcp from $internal_net port 3389 to any port 3389 -> ($ext_if)
nat on $ext_if from $internal_net to any -> ($ext_if)
rdr on $int_if proto tcp from $internal_net to any port 80 -> 127.0.0.1 port 3128
pass out
[/CUT]

если делаю так, то перестает работать даже сквид! если же убрать из rc.conf строку gateway_enable="YES" то в инет пускает, но порты все равно не прокидываются
pf вижу впервые, документацию почитал, но честно говоря вник не особо, а времени экспериментировать нет, да и возможности тоже. Может у кого есть рабочий конфиг, киньте plz, а я дальше буду читать инфу и вникать! спасибо!

P.S. в логах pf одна строка, и то непонятной кодировки. вообщем не читаема!

Отправлено: 23:35, 16-02-2011 | #13


Аватара для dmitryst

Ветеран


Сообщения: 7114
Благодарности: 886

Профиль | Отправить PM | Цитировать


Оригинал мануала pf от создателей OpenBSD

-------
Осваиваю FreeBSD


Отправлено: 23:41, 16-02-2011 | #14


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Я так предполагаю, что это то что нужно!

rdr on $int_if proto tcp from $int_net to $ext_if port 3389 -> \
$server
no nat on $int_if proto tcp from $int_if to $int_net
nat on $int_if proto tcp from $int_net to $server port 3389 -> \
$int_if


Только все равно остается непонятным тот факт, что при строке gateway_enable="YES" в rc.conf пропадает полностью инет в локалке, а нат не появляется! т.к. я не могу сейчас могу попасть на серв только по ссш, то рисковать с правилами не хочу!

Отправлено: 00:14, 17-02-2011 | #15


Аватара для ttys

Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Цитата santi11:
стоит squid + sams т.е. весь трафик идет через проксю! на этом моменте все работает отлично, но встала задача прокинуть порты для рдп и хамача!! + в дальнейшем смтп и поп3. Почитав инфу, решил поставить pf..т.к. в ядро он не вкомпилен, запускаю его модулем!

nat on $ext_if from $internal_net to any -> ($ext_if)
»
исходя из правила весь трафик должен идти через нат а не через прокси
сделай так:
Код: Выделить весь код
nat pass proto tcp from $internal_net port {smtp, pop3} to any port {smtp, pop3} -> ($ext_if)
nat pass proto tcp from $internal_net port 3389 to any port 3389 -> ($ext_if)
#nat on $ext_if from $internal_net to any -> ($ext_if)
rdr pass proto tcp from $internal_net to any port 80 -> 127.0.0.1 port 3128
ЗЫ по поводу ssh есть куча статей в том числе и я публиковал
для openbsd
для freebsd
ЗЗЫ
Код: Выделить весь код
nat pass proto tcp from $internal_net port {smtp, pop3} to any port {smtp, pop3} -> ($ext_if)
если ип статический могут быть проблемы с попаданием в блек листы спама


Цитата santi11:
Я так предполагаю, что это то что нужно!
rdr on $int_if proto tcp from $int_net to $ext_if port 3389 -> \
$server
no nat on $int_if proto tcp from $int_if to $int_net
nat on $int_if proto tcp from $int_net to $server port 3389 -> \
$int_if »
нет это не то что нужно
хотя не совсем ясно что конкретно нужно? нафига rdp порт сначала редиректить потом натить???

Отправлено: 09:09, 17-02-2011 | #16



Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по FreeBSD » FreeBSD - Настройка Прокси (SQUID) с PF + DHCP relay (FreeBSD 8.1)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Redhat/Fedora - ошибка в прозрачном прокси squid kozyr76 Общий по Linux 3 06-12-2012 13:04
FreeBSD - Авторизация в AD на прокси squid EndErr Общий по FreeBSD 0 17-07-2010 18:10
Cisco - Помогите настроить DHCP-relay Gudy Сетевое оборудование 0 28-03-2008 16:08
FreeBSD - Установка FreeBSD и настройка SQUID ForGroin Общий по FreeBSD 3 28-01-2008 00:02
проблема squid/dhcp freeBSD Borro Общий по FreeBSD 6 12-09-2005 16:42




 
Переход