The OpenNET Project / Index page

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

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

"pf пропускает весь трафик от локальной сети"  +/
Сообщение от wsnet (ok) on 07-Дек-10, 23:33 
Ребята сильно не пинайте начинающего.

Вообщем сделал такой конфиг:
int_if="em1"  #внутренний интерфейс в мою локальную сеть
ext_if="tun0" # виртульный интерфейс после поднятия pptp
lannet="192.168.0.0/24" #внутренняя  моя локалка
comp="192.168.0.10"

allow_service="{http,https,smtp,pop3,domain}"

set skip on lo0
set skip on $int_if

scrub in all

nat on $ext_if from $int_if:network to any -> ($ext_if)
#rdr pass on $ext_if proto tcp from any to ($ext_if) port rdp -> $comp port rdp
#rdr pass on $ext_if proto tcp from any to ($ext_if) port rdp -> $comp

block all

pass quick proto tcp from any to any port 1723
pass quick proto gre all

pass out on $ext_if proto {tcp,udp} from (self) to any port domain keep state
pass out on $ext_if proto tcp from (self) to any port http keep state

#pass out on $ext_if proto {tcp,udp} from $lannet to any port $allow_service kee
pass inet proto icmp all

В чем смысл, а точнее в чем его нет.

Данный конфиг пропускает пакеты от всех клиентов моей локалки.
Хотя по конфигу он должен пропускать исходящие пакеты непосредственно с машины - шлюза.

Что не так можете пояснить?
Да еще читал что такая роблема может иметь место когда интерфейс внешний виртуальный и IP адрес динамический - у меня все именно так. Для этого внешний интерфейс $ext_if я поставил в скобки

Ответить | Правка | Cообщить модератору

Оглавление

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


1. "pf пропускает весь трафик от локальной сети"  +/
Сообщение от co6aka (ok) on 08-Дек-10, 02:06 
Дайте вывод:
#ifconfig -a
#route -rn
#pfctl -sn
#pfctl -sr

ps: http://www.openbsd.org/faq/pf/ru/index.html
http://www.openbsd.org/faq/pf/index.html

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "pf пропускает весь трафик от локальной сети"  +/
Сообщение от dm (ok) on 08-Дек-10, 03:19 

pfctl -f /etc/pf.conf ?
pfctl -e  ?
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "pf пропускает весь трафик от локальной сети"  +/
Сообщение от mef (ok) on 08-Дек-10, 10:40 
> Данный конфиг пропускает пакеты от всех клиентов моей локалки.
> Хотя по конфигу он должен пропускать исходящие пакеты непосредственно с машины -
> шлюза.

Напиши подробнее, что и куда должно пропускаться и что не должно.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "pf пропускает весь трафик от локальной сети"  +/
Сообщение от sage444 (ok) on 08-Дек-10, 10:50 
> set skip on $int_if

если $int_if пропускаете то конечно все будет пропускаться ;)

> nat on $ext_if from $int_if:network to any -> ($ext_if)

а потом все натите

> Данный конфиг пропускает пакеты от всех клиентов моей локалки.

так и должен пропускать
> Хотя по конфигу он должен пропускать исходящие пакеты непосредственно с машины -
> шлюза.

а что разве не пропускает?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "pf пропускает весь трафик от локальной сети"  +/
Сообщение от guest email(??) on 08-Дек-10, 10:54 
>set skip on $int_if

Читайте этот кусочек мана до полного понимая.
     set skip on <ifspec>
             List interfaces for which packets should not be filtered.
             Packets passing in or out on such interfaces are passed as if pf
             was disabled, i.e. pf does not process them in any way.  This can
             be useful on loopback and other virtual interfaces, when packet
             filtering is not desired and can have unexpected effects.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "pf пропускает весь трафик от локальной сети"  +/
Сообщение от wsnet (ok) on 08-Дек-10, 11:26 
Да верно все, я сглупил конечно же.

Подскажите а как тогда переделать мой конфиг, чтобы допустим пользователи локалки ходил по http а шлюз - машина с pf имел доступ только во внешний мир по smtp, но если можно отключив фильтрацию на внутреннем интерфейсе ?

Это реально вообще сделать, если да подскажите как ?

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "pf пропускает весь трафик от локальной сети"  +/
Сообщение от sage444 (ok) on 08-Дек-10, 11:29 
> если можно отключив фильтрацию на
> внутреннем интерфейсе ?

а в чем смысл ?

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "pf пропускает весь трафик от локальной сети"  +/
Сообщение от guest email(??) on 08-Дек-10, 11:36 
> Это реально вообще сделать, если да подскажите как ?

Не очень понял вашу хотелку...
Условия:
все запрещено.
трафик локальной сети ходит через шлюз и не фильтруется
из локальной сети в мир разрешен только www. (а как быть скажем с dns???)
непосредственно со шлюза разрешен только исходящий smtp

все так?

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

9. "pf пропускает весь трафик от локальной сети"  +/
Сообщение от wsnet (ok) on 08-Дек-10, 12:10 
>> Это реально вообще сделать, если да подскажите как ?
> Не очень понял вашу хотелку...
> Условия:
> все запрещено.
> трафик локальной сети ходит через шлюз и не фильтруется
> из локальной сети в мир разрешен только www. (а как быть скажем
> с dns???)
> непосредственно со шлюза разрешен только исходящий smtp
> все так?

Да + днс от шлюза и от локалки конечно разрешены.

Все так.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "pf пропускает весь трафик от локальной сети"  +/
Сообщение от guest email(??) on 08-Дек-10, 12:36 
Как то так


nat pass on $ext_if inet proto tcp from ($int_if:network) to any port www -> ($ext_if:0)
# для DNS лучше не any, а ip DNS серверов провайдера. А еще лучше поднять свой на шлюзе.
nat pass on $ext_if inet proto {tcp,udp} from ($int_if:network) to any port domain -> ($ext_if:0)

block all
pass out on $ext_if inet proto tcp from self to any port smtp
pass out on $ext_if inet proto {tcp,udp} from self to any port domain

pass on $int_if from ($int_if:network) to ($int_if:network)
pass in on $int_if inet proto tcp from ($int_if:network) to any port www
pass in on $int_if inet proto {tcp,udp} from ($int_if:network) to any port domain

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

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

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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