The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"PF не пропускает почту"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"PF не пропускает почту"  
Сообщение от AlexanderZ email(ok) on 11-Фев-09, 18:18 
На шлюзе стоит FreeBSD 6.2, Squid 2.6, PF. Также стоят еще несколько программ (Apache, MySQL и т.д.). Работает вся система приемлимо, т.к. окончательная доработка займет кучу времени (только учусь).
Главная задача, чтобы интернетовский трафик учитывался(ограничивался) в squid, соответсвенно был поставлен PF чтобы перекрыть доступ ко всему остальному. Ознакомившись с мануалом по PF, но в основном опираясь на примеры в частности и с данного форума, составил следующий конфиг:

ext_if="xl0"
int_if="rl0"
icmp_types="echoreq"
mail_ports = "{25, 110}"

scrub in

nat on $ext_if from !($ext_if) to any -> ($ext_if)

no rdr on $int_if proto tcp from $int_if:network to $int_if port 22
no rdr on $int_if proto tcp from $int_if:network to $int_if port 88
no rdr on $int_if proto tcp from $int_if:network to $int_if port 82
no rdr on $int_if proto tcp from $int_if:network to $int_if port 3306


no rdr on $int_if proto tcp from $int_if:network to $int_if port 25
no rdr on $int_if proto tcp from $int_if:network to $int_if port 110

no rdr on $int_if proto tcp from any port $mail_ports to any port $mail_ports

no rdr on $int_if proto tcp from $int_if:network to $int_if port 139


rdr on $int_if proto tcp from $int_if:network to any -> $int_if port 8080

block in
pass out keep state
set skip on lo0
antispoof quick for {lo, $int_if}

pass in on $int_if proto tcp from $int_if:network to $int_if port 22 flags S/SA keep state

pass in on $int_if inet proto {tcp, udp} from $int_if:network to $int_if   port 8080 keep state
pass in on $ext_if inet proto {tcp, udp} from any           to $ext_if             keep state

#pass in on $int_if proto tcp from any to 192.168.0.100 port 8080
#pass out on $int_if proto tcp from 192.168.0.100 port 8080 to any

pass in on $int_if proto tcp from any to any port $mail_ports keep state


pass in on $int_if inet proto tcp from $int_if:network to $int_if port 3306 keep state
pass in on $int_if inet proto tcp from $int_if:network to $int_if port 88   keep state
pass in on $int_if inet proto tcp from $int_if:network to $int_if port 82   keep state

pass in on $int_if inet proto icmp from $int_if:network to $int_if icmp-type $icmp_types

Порты
8080 - squid
88, 82 - Apache
3306 - MySQL
Почта обрабатывается на рабочих машинах почтовыми клиентами. Соответственно при включенном PF идет сообщение "Сервер недоступен", все остальное работает нормально. При отключенном PF почта соответственно проходит "на ура". Подскажите, пожалуйста, в чем дело. Заранее благодарю всех откликнувшихся.

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "PF не пропускает почту"  
Сообщение от reader (ok) on 12-Фев-09, 11:41 
>[оверквотинг удален]
>
>no rdr on $int_if proto tcp from any port $mail_ports to any
>port $mail_ports
>
>no rdr on $int_if proto tcp from $int_if:network to $int_if port 139
>
>
>
>rdr on $int_if proto tcp from $int_if:network to any -> $int_if port 8080
>

вы заворачиваете весь tcp трафик на squid, а он вить HTTP-proxy и не предназначен для обработки другого.

>[оверквотинг удален]
>$icmp_types
>
>Порты
>8080 - squid
>88, 82 - Apache
>3306 - MySQL
>Почта обрабатывается на рабочих машинах почтовыми клиентами. Соответственно при включенном PF идет
>сообщение "Сервер недоступен", все остальное работает нормально. При отключенном PF почта
>соответственно проходит "на ура". Подскажите, пожалуйста, в чем дело. Заранее благодарю
>всех откликнувшихся.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "PF не пропускает почту"  
Сообщение от AlexanderZ email(??) on 12-Фев-09, 12:22 
>[оверквотинг удален]
>>port $mail_ports
>>
>>no rdr on $int_if proto tcp from $int_if:network to $int_if port 139
>>
>>rdr on $int_if proto tcp from $int_if:network to any -> $int_if port 8080
>>
>
>вы заворачиваете весь tcp трафик на squid, а он вить HTTP-proxy и
>не предназначен для обработки другого.
>

Но насколько я понял из документации по PF, данное правило:
no rdr on $int_if proto tcp from any port $mail_ports to any port $mail_ports
предотвращает перенапраление пакетов на 25 и 110 порту. Или я ошибаюсь

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "PF не пропускает почту"  
Сообщение от reader (ok) on 12-Фев-09, 14:02 
>[оверквотинг удален]
>>
>>вы заворачиваете весь tcp трафик на squid, а он вить HTTP-proxy и
>>не предназначен для обработки другого.
>>
>
>Но насколько я понял из документации по PF, данное правило:
>no rdr on $int_if proto tcp from any port $mail_ports to any
>port $mail_ports
> предотвращает перенапраление пакетов на 25 и 110 порту. Или я ошибаюсь
>

no c nat видел, c rdr не замечал.
проще прописать порты в rdr и попробовать чем гадать.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "PF не пропускает почту"  
Сообщение от AlexanderZ email(??) on 12-Фев-09, 16:44 
>>Но насколько я понял из документации по PF, данное правило:
>>no rdr on $int_if proto tcp from any port $mail_ports to any
>>port $mail_ports
>> предотвращает перенапраление пакетов на 25 и 110 порту. Или я ошибаюсь
>>
>
>no c nat видел, c rdr не замечал.
>проще прописать порты в rdr и попробовать чем гадать.

no с rdr видел и в man pf.conf в Translation Examples, поэтому так и написал. Да к тому же и другие порты (88, 82) не редиректятся. Но все-таки напишите, пожалуйста, что вы имели ввиду, "проще прописать порты в rdr"? А то вдруг я что-то не так делаю.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "PF не пропускает почту"  
Сообщение от AlexanderZ email(??) on 12-Фев-09, 18:14 
И еще, сейчас проверил. no rdr ... точно работает. Вероятно проблема в чем-то другом. У кого-нибудь есть какие-нибудь предположения?
Боюсь что недостаток опыта и знаний не позволит мне найти собственную ошибку, коли я ее допустил...


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "PF не пропускает почту"  
Сообщение от reader (ok) on 12-Фев-09, 20:33 
>И еще, сейчас проверил. no rdr ... точно работает. Вероятно проблема в
>чем-то другом. У кого-нибудь есть какие-нибудь предположения?
>Боюсь что недостаток опыта и знаний не позволит мне найти собственную ошибку,
>коли я ее допустил...

это уже хорошо, а DNS на клиенте отрабатывает?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "PF не пропускает почту"  
Сообщение от AlexanderZ email(??) on 13-Фев-09, 09:43 
>это уже хорошо, а DNS на клиенте отрабатывает?

Не совсем понял вопроса. Ведь клиент при отключенном PF нормально работает.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "PF не пропускает почту"  
Сообщение от reader (ok) on 13-Фев-09, 11:21 
>>это уже хорошо, а DNS на клиенте отрабатывает?
>
>Не совсем понял вопроса. Ведь клиент при отключенном PF нормально работает.

что же тут не понятного, правил в pf для DNS не видно и как он реализован вы не указали.
так же не понятно что значит "нормально работает", с отключением pf не будет и NATа или он вам не нужен?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру