Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок
Модераторы: vadim64, terminus
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
Phantomrat
- рядовой
- Сообщения: 13
- Зарегистрирован: 2013-07-13 16:16:07
Непрочитанное сообщение
Phantomrat » 2013-07-13 16:23:28
Вопрос вот в чем взялся копаться в PF решил настроить по мануалам с этого сайта но есть проблема, машины которые сидят в trust_lan не видят интернета и решить не могу вот и прошу помощи
вот 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 раз.
Причина: Автору. пожалуйста, выбирайте соответствующий раздел форума, оформляйте сообщение по человечески.
Phantomrat
-
Хостинг HostFood.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
Непрочитанное сообщение
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
-
mikie
- мл. сержант
- Сообщения: 84
- Зарегистрирован: 2012-11-21 18:33:03
Непрочитанное сообщение
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)
mikie
-
Dmitriy_3206
- проходил мимо
Непрочитанное сообщение
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
Dmitriy_3206
-
Phantomrat
- рядовой
- Сообщения: 13
- Зарегистрирован: 2013-07-13 16:16:07
Непрочитанное сообщение
Phantomrat » 2013-07-14 12:57:43
Перепробовал варианты не спасло, айпишники локалки компы получают, а все что за фрей начиная с днс провайдера в мире не видят.
Phantomrat
-
Dmitriy_3206
- проходил мимо
Непрочитанное сообщение
Dmitriy_3206 » 2013-07-14 12:59:49
Ну а при правиле nat и плюс pass out all локалка то у вас ходит?
Может у вас ip.forwarding не включён
Dmitriy_3206
-
Phantomrat
- рядовой
- Сообщения: 13
- Зарегистрирован: 2013-07-13 16:16:07
Непрочитанное сообщение
Phantomrat » 2013-07-14 13:20:41
Судя по всему стоит так как sysctl net.inet.ip.forwarding=1 изменила значение с 1 на 1...(И как факт если из внешнего мира подключиться по VPN к фряхе а далее открыть рдп к машине которая в локалке за фряхой то все ок)
Phantomrat
-
Phantomrat
- рядовой
- Сообщения: 13
- Зарегистрирован: 2013-07-13 16:16:07
Непрочитанное сообщение
Phantomrat » 2013-07-14 13:39:53
Проверил tcpdump'ом с интерфейса из локалки пакеты выходят например на 8.8.8.8 но обратно не приходят:(хотя опция gateway так же активна.
Phantomrat
-
Dmitriy_3206
- проходил мимо
Непрочитанное сообщение
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)
Ну и проверить что в правилах получилось
Dmitriy_3206
-
Phantomrat
- рядовой
- Сообщения: 13
- Зарегистрирован: 2013-07-13 16:16:07
Непрочитанное сообщение
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
Phantomrat
-
Dmitriy_3206
- проходил мимо
Непрочитанное сообщение
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
.............................................
Dmitriy_3206
-
Dmitriy_3206
- проходил мимо
Непрочитанное сообщение
Dmitriy_3206 » 2013-07-14 15:33:50
Ну так проверте командой
pfctl -nf /etc/pf.conf
и загрузите
pfctl -f /etc/pf.conf
а вот перегружал командой
pfctl -R -f /etc/pf.conf загрузить только правила фитрации
то у меня пустой набор получался
Dmitriy_3206
-
Phantomrat
- рядовой
- Сообщения: 13
- Зарегистрирован: 2013-07-13 16:16:07
Непрочитанное сообщение
Phantomrat » 2013-07-15 8:26:53
Все, спасибо разобрался проблема была в одной строке в правиле, поэтому правила не включались ЗЫ логи рулят). Ладно всем спасибо:)
Phantomrat