PF вопрос)

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Phantomrat
рядовой
Сообщения: 13
Зарегистрирован: 2013-07-13 16:16:07

PF вопрос)

Непрочитанное сообщение Phantomrat » 2013-07-13 16:23:28

Вопрос вот в чем взялся копаться в PF решил настроить по мануалам с этого сайта но есть проблема, машины которые сидят в trust_lan не видят интернета и решить не могу вот и прошу помощи :oops:

вот pf.conf

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

nt_if="re1"
ext_if="re0"
trust_lan="{ 10.1.1.0/24 }"
icmp_types="{ echoreq, unreach}"



set block-policy return
set skip on lo0
set skip on $int_if

                                                           
scrub in all            
                                                           
nat on $ext_if from $trust_lan to any -> ($ext_if)         
                                                           
antispoof quick for $ext_if                                
                                                           
block all                                                                         
                                                           
pass out on $ext_if from $ext_if to any keep state         
pass out on $ext_if from $trust_lan to keep state
pass out on $ext_if from $trust_lan to &ext_if keep state

pass log inet proto icmp all icmp-type $icmp_types
Последний раз редактировалось f_andrey 2013-07-13 16:51:44, всего редактировалось 1 раз.
Причина: Автору. пожалуйста, выбирайте соответствующий раздел форума, оформляйте сообщение по человечески.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

mikie
мл. сержант
Сообщения: 84
Зарегистрирован: 2012-11-21 18:33:03

Re: PF вопрос)

Непрочитанное сообщение mikie » 2013-07-13 18:57:41

эти правила совсем не понятны..

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

pass out on $ext_if from $ext_if to any keep state         
pass out on $ext_if from $trust_lan to keep state
pass out on $ext_if from $trust_lan to &ext_if keep state
удалите их

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

pass out on $ext_if from $trust_lan to any keep state
это правило разрешит исходящий трафик из внутренней сети через внешний интерфейс

mikie
мл. сержант
Сообщения: 84
Зарегистрирован: 2012-11-21 18:33:03

Re: PF вопрос)

Непрочитанное сообщение mikie » 2013-07-13 19:07:41

Следующее
Если хотите работать в браузере из $trust_lan то нужно разрешить входящий трафик на 80-й порт внешнего интерфейса $ext_if
приверно так

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

pass in on $ext_if proto tcp from any to ($ext_if) port 80 keep state
немного поясню, proto tcp - уточнение протокола для 80-го порта, ($ext_if) в скобочках на случай если внешний интерфейс получает адрес динамически(DHCP)

Dmitriy_3206
проходил мимо

Re: PF вопрос)

Непрочитанное сообщение Dmitriy_3206 » 2013-07-14 11:02:47

Правило NAT выполняется первым. И дальнейшая фильтрация происходит уже с адресом источника внешнего интерфейса.
Т.е. Вашего правила

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

pass out on $ext_if from $ext_if to any keep state  
достаточно.
А "не работает интернет" как вы выяснили?
ВЫ пинговали, проверяли работу ДНС?
На своей машине FreeBSD пропингуйте свой DG и DNS
проверте сначала с FreeBSD работу DNS
потом с клиента за FreeBSD пропингуйте шлюз за FreeBSD (машину провайдера)
проверте работу DNS

Phantomrat
рядовой
Сообщения: 13
Зарегистрирован: 2013-07-13 16:16:07

Re: PF вопрос)

Непрочитанное сообщение Phantomrat » 2013-07-14 12:57:43

Перепробовал варианты не спасло, айпишники локалки компы получают, а все что за фрей начиная с днс провайдера в мире не видят.

Dmitriy_3206
проходил мимо

Re: PF вопрос)

Непрочитанное сообщение Dmitriy_3206 » 2013-07-14 12:59:49

Ну а при правиле nat и плюс pass out all локалка то у вас ходит?
Может у вас ip.forwarding не включён

Phantomrat
рядовой
Сообщения: 13
Зарегистрирован: 2013-07-13 16:16:07

Re: PF вопрос)

Непрочитанное сообщение Phantomrat » 2013-07-14 13:14:03

Поставил nat и pass out all, ситация не изменилась)))полез смотреть форвард...

Phantomrat
рядовой
Сообщения: 13
Зарегистрирован: 2013-07-13 16:16:07

Re: PF вопрос)

Непрочитанное сообщение Phantomrat » 2013-07-14 13:20:41

Судя по всему стоит так как sysctl net.inet.ip.forwarding=1 изменила значение с 1 на 1...(И как факт если из внешнего мира подключиться по VPN к фряхе а далее открыть рдп к машине которая в локалке за фряхой то все ок)

Phantomrat
рядовой
Сообщения: 13
Зарегистрирован: 2013-07-13 16:16:07

Re: PF вопрос)

Непрочитанное сообщение Phantomrat » 2013-07-14 13:39:53

Проверил tcpdump'ом с интерфейса из локалки пакеты выходят например на 8.8.8.8 но обратно не приходят:(хотя опция gateway так же активна.

Dmitriy_3206
проходил мимо

Re: PF вопрос)

Непрочитанное сообщение Dmitriy_3206 » 2013-07-14 13:42:25

А Free нормально ping на внешний ресурс?

Выглядит будто у Вас nat не работает. (раз Вы убедились что forwarding работает)
У Вас в первом посте первая строчка просто не скопировалась полностью?

Я Nat раньше писал так:

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

nat on $ext_if inet from ! $ext_if  to any -> ($ext_if) 
Ну и проверить что в правилах получилось

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

pfctl -s all | less

Phantomrat
рядовой
Сообщения: 13
Зарегистрирован: 2013-07-13 16:16:07

Re: PF вопрос)

Непрочитанное сообщение Phantomrat » 2013-07-14 13:57:09

Ping с фри в мир уходят нормально порты обновляются и тд и тп.
вот что выдала команда "pfctl -s all | less"

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

No ALTQ support in kernel
ALTQ related functions disabled
FILTER RULES:

INFO:
Status: Enabled for 0 days 00:01:37           Debug: Urgent

State Table                          Total             Rate
  current entries                        0               
  searches                             192            2.0/s
  inserts                                0            0.0/s
  removals                               0            0.0/s
Counters
  match                                192            2.0/s
  bad-offset                             0            0.0/s
  fragment                               0            0.0/s
  short                                  0            0.0/s
  normalize                              0            0.0/s
  memory                                 0            0.0/s
  bad-timestamp                          0            0.0/s
  congestion                             0            0.0/s
  ip-option                              0            0.0/s
  proto-cksum                            0            0.0/s
  state-mismatch                         0            0.0/s
  state-insert                           0            0.0/s
  state-limit                            0            0.0/s
  src-limit                              0            0.0/s
  synproxy                               0            0.0/s

TIMEOUTS:
tcp.first                   120s
tcp.opening                  30s
tcp.established           86400s
tcp.closing                 900s
tcp.finwait                  45s
tcp.closed                   90s
tcp.tsdiff                   30s
udp.first                    60s
udp.single                   30s
udp.multiple                 60s
icmp.first                   20s
icmp.error                   10s
other.first                  60s
other.single                 30s
other.multiple               60s
frag                         30s
interval                     10s
adaptive.start             6000 states
adaptive.end              12000 states
src.track                     0s

LIMITS:
states        hard limit    10000
src-nodes     hard limit    10000
frags         hard limit     5000
tables        hard limit     1000
table-entries hard limit   200000

OS FINGERPRINTS:
700 fingerprints loaded

Dmitriy_3206
проходил мимо

Re: PF вопрос)

Непрочитанное сообщение Dmitriy_3206 » 2013-07-14 14:16:34

Ну вот и показывает что у вас нет правил вообще. Вывод у меня на машине:

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

TRANSLATION RULES:
nat on age0 inet from <all_hosts> to any -> (age0) port 1024:65535 round-robin
rdr pass on tun0 inet proto tcp from <trust_net> to 10.20.25.1 port = rdp -> 192.168.244.100

FILTER RULES:
scrub all random-id fragment reassemble
anchor "int_tun/*" all
.............................................

Phantomrat
рядовой
Сообщения: 13
Зарегистрирован: 2013-07-13 16:16:07

Re: PF вопрос)

Непрочитанное сообщение Phantomrat » 2013-07-14 14:30:03

Хм...а как такое возможно? Если правила в pf описаны и rc.conf есть строки:

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

pf_enable="YES"
pf_rules="/etc/pf.conf"

Dmitriy_3206
проходил мимо

Re: PF вопрос)

Непрочитанное сообщение Dmitriy_3206 » 2013-07-14 15:33:50

Ну так проверте командой
pfctl -nf /etc/pf.conf
и загрузите
pfctl -f /etc/pf.conf

а вот перегружал командой
pfctl -R -f /etc/pf.conf загрузить только правила фитрации
то у меня пустой набор получался

Phantomrat
рядовой
Сообщения: 13
Зарегистрирован: 2013-07-13 16:16:07

Re: PF вопрос)

Непрочитанное сообщение Phantomrat » 2013-07-15 8:26:53

Все, спасибо разобрался проблема была в одной строке в правиле, поэтому правила не включались ЗЫ логи рулят). Ладно всем спасибо:)