Показать полную графическую версию : PF и FreeBSD
paladinstar
23-07-2011, 11:05
Всем привет! Очень нужна помощь по такому вопросу. Мне по наследству досталось FreeBSD на которой был настроен PF. Так как я практически не знаю его начал изучать. Оказалось что он был настроен просто никак. Даже Block all не включен. Главная была задача настроить его по человечески + требование чтобы только определенные пк в сети могли выходить в интернет. Так как пк мало у всех закреплены статические ip.
PF.conf пример
ext_if="re1" #внешний интерфейс
int_if="re0" #внутренний интерфейс
my_lan="192.168.1.0/24"
my_pc="192.168.1.8" # пк которому разрешен выход в инет
set skip on lo0
scrub in all
nat on $ext_if from $my_lan to any -> ($ext_if)
block all
#далее опускаю пробросы rdr, правила фильтрации все коментирую оставляю только то что ниже:
pass in on $int_if from $my_pc to any
pass out on $int_if from any any
pass out on $ext_if from $my_pc to any
Почему с my_pc всё равно не пашет интернет??? Открывается только Яндекс всё остальное не открывается!!?!?!?!?!
Или можно как то другим методом?
Очень надеюсь на помощь!!!
contoso.com
23-07-2011, 13:49
необходимо анализировать ситуацию комплексно. Какие результаты возвращает утилиты ping, traceroute, telnet, nslookup....
pass out on $int_if from any any »
опечатка при наборе сообщения или копипаст с вашего роутера?
pass out on $ext_if from $my_pc to any »
исходящие разрешены, а входящие?
paladinstar
23-07-2011, 15:32
В первом случае опечатка
pass out on $int_if from any to any
Как лудше для входящий написать?
Я для входящих только ssh и rdp разрешения писал, из дома чтобы ходить. Ведь если так как сейчас, то должно срабатывать keep state?
Настроено было так
внешний интерфейс и основной шлюз разные ip. Когда пингую яндекс например то пинги идут через внутренний интерфейс, потом основной шлюз и наружу. Другие сайты не пингуюся вообще.
contoso.com
23-07-2011, 17:20
Так как я практически не знаю его начал изучать. »
Как лудше для входящий написать? »
вот и скажите нам :)
Я для входящих только ssh и rdp разрешения писал, из дома чтобы ходить. »
для этого лучше все же впн-сервер организовать.имхо.
Когда пингую яндекс например то пинги идут через внутренний интерфейс, потом основной шлюз и наружу. Другие сайты не пингуюся вообще. »
необходимо анализировать ситуацию комплексно. Какие результаты возвращает утилиты ping, traceroute, telnet, nslookup.... ?»
приведите здесь результаты ping ya.ru, tracert ya.ru, telnet ya.ru 80, nslookup ya.ru и тоже самое, для любого другого ресурса, к которому нет доступа.
Hangsman
24-07-2011, 15:04
На ПК NAT есть?
pass out on $ext_if from $my_pc to any »
Тут пакеты идут с ИП уже не с тем который на внутреннем интерфейсе, а с тем который на внешем, то есть само правило никак не влияет на работу
+ самый большой всех этих правил - отсутсвие ключевого слова quick, без которого эти все правила безсмысленны
доджно быть что-то типа такого
pass out quick on $ext_if from my_out_ip to any keep state
my_out_ip - это внешний ип-адрес сервера
contoso.com
25-07-2011, 09:14
доджно быть что-то типа такого
pass out quick on $ext_if from my_out_ip to any keep state »
Естественно, что исходящие с самого сервера должны быть разрешены, частично, либо полностью - не суть. Смысл quick исключить прохождение пакета по списку правил, следующим за текущим правилом. Соответственно надо помещать это правило в самом начале списка фильтрации. Иначе, если правило находится в конце, параметр quick не влияет ни на что.
paladinstar
25-07-2011, 21:00
Буду пробовать, пока некогда было протестить
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.