LINUX.ORG.RU
ФорумAdmin

pf, nat и фильтрация


0

0

есть шлюз на freebsd с pf

конфиг

rl0 = 10.0.0.1 (представьте что это интернетовский адрес)
rl1 = 192.168.1.1

---
table users { 192.168.1.0/24 }
table no_acccess { 192.168.1.3 }
table local { 10.0.3.3 }

no nat on rl0 from <no_access> to !<local>
nat on rl0 from <users> to any -> (rl0)
---

вот по моим соображениям, если у юзера ip 192.168.1.3 - то он в инет выйти не может, но на ip 10.0.3.3 попадает

а tcpdump показывает обратное, юзер ломится в аську и там сидит =(

в чем моя ошибка?

anonymous

так тебе аську закрыть?

ICQ = "{ 192.168.1.3 }"

block in on $ext_if inet from { 205.188.0.0/16, 64.12.0.0/16 } to $ICQ block in on $int_if inet from $ICQ to { 205.188.0.0/16, 64.12.0.0/16 }

vovans ★★★★★
()

> а tcpdump показывает обратное, юзер ломится в аську и там сидит =(

tcpdump? Зачем? А так не пробовал?

pfctl -ss | grep "192.168.1.3"

Если у чела всё Ок и он сидит в аське, то увидишь что-то вроде:

self tcp 192.168.1.3:55171 -> 83.221.211.202:64284 -> 64.12.200.89:5190 TIME_WAIT:TIME_WAIT
self tcp 192.168.1.3:59972 -> 83.221.211.202:64490 -> 64.12.161.185:5190 TIME_WAIT:TIME_WAIT

vovans ★★★★★
()

и это... Родной фряшный нат не поднят? А то я как-то долго парился с правилами ната, а оказалось что ещё natd крутился ;) вот я матерился ;))

ps aux | grep nat

vovans ★★★★★
()
Ответ на: комментарий от vovans

natd не поднят, не нужен, все делает pfctl
фильтрация через block работает только для начинающихся коннектов

нашел выход из положения забирать nat на все сети кроме определенных, через no nat

всем спасибо за ответы

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.