Автор Тема: pf and nat  (Прочетена 2208 пъти)

prilep

  • Напреднали
  • *****
  • Публикации: 94
    • Профил
pf and nat
« -: Dec 11, 2004, 00:23 »
Използвам FreeBSD 5.3. Искам да споделя интернета с локалната мрежа използвайки pf.  '<img'>  Проблема е че не се получава. Ето това е conf файла който се зарежда от pf:
# macros
ext_if = "tun0"

# nat
nat pass on $ext_if from rl0:network -> $ext_if

# setup a default policy
pass all

Ще се радвам ако някои ми посочи къде бъркам.
Благодаря

P.S. Така и неуспях да намеря някакъв лог. При стартирането на pflogd получавам следното:

Примерен код
Dec 11 00:08:00 pflogd[90098]: Failed to initialize: BIOCSETIF: pflog0: D
evice not configured
Dec 11 00:08:00 pflogd[90098]: Exiting, init failure
Активен

Powered By DomashnaGROZDOVA & ShopskaSalata

NINJ4

  • Напреднали
  • *****
  • Публикации: 35
    • Профил
pf and nat
« Отговор #1 -: Dec 11, 2004, 12:17 »
относно логването: погледни в /etc/defaults/rc.conf , секция Network configuration sub-section , firewall_logging= . По подразбиране е NO (при мен).
Дай един изход от ifconfig и .conf-a

намерих и някакъв линк: http://www.allunix.org/_pf_or_....-a.html  , ама не мисля че това ти е проблема
Активен

n3c

  • Напреднали
  • *****
  • Публикации: 97
    • Профил
pf and nat
« Отговор #2 -: Dec 11, 2004, 17:32 »
За NAT:
правилото ти трябва да е:

nat pass on $ext_if from <network> to any -> $ext_if

Наличието на думичката "pass" прескача филтрирането на трафика през firewall-a, отсъствието означава, че трафика се филтрира на базата на правилата (rules) по-долу. С твоя списък правила можеш спокойно да я махнеш. <network> се замества с IP-то/тата на межата, която ще е зад NAT-а или с CIDR нотацията му/им (192.168.1.0/24 примерно). NAT правилата много приличат на rules правилата - казваш от къде за къде да се пуска трафика, а след "->" с какъв изходен адрес да е пропуснатия трафик (повече).

За логването:
Само лог файл ли нямаш или изобщо не ти работи pf? Провери с командите:

/etc/rc.d/pf rcvar
и
/etc/rc.d/pflog rcvar

Трябва да получиш отговори съответно:

$pf_enable=YES
$pflog_enable=YES

Ако отговорите са NO, трябва да пуснеш pf и pflog като укажеш начално стартиране в /etc/rc.conf като добавиш редовете:

pf_enable="YES"
pflog_enable="YES"

За повече настройки погледни /etc/defaults/rc.conf и потърси pf_ и pflog параметрите (има обяснения кое за какво е).

Цитат
относно логването: погледни в /etc/defaults/rc.conf , секция Network configuration sub-section , firewall_logging= .


NINJ4: firewall_logging= се отнася за ipfw и няма нищо общо с pf '<img'>. Както знаете във FreeBSD има избор между три отделни firewall-а - ipfw/ipfw2, ipf (ipfilter) и pf.

След успешното активиране на pf и pflog трябва да имаш две нови устройства в изхода от командата ifconfig - pflog0 и pfsync0. По подразбиране pflog логва във /var/log/pflog, което може да се промени в /etc/rc.conf (виж /etc/defaults/rc.conf и потърси опцията pflog_logfile=).

Успех!
Активен

Do you UNIX?

NINJ4

  • Напреднали
  • *****
  • Публикации: 35
    • Профил
pf and nat
« Отговор #3 -: Dec 11, 2004, 19:23 »
n3c: така както го казваш изглежда че си прав  '<img'>  опитвах се да помогна само
Активен

prilep

  • Напреднали
  • *****
  • Публикации: 94
    • Профил
pf and nat
« Отговор #4 -: Dec 12, 2004, 14:05 »
Благодаря за изчерпателните отговори!
Проблема с лога го оправих като прекомпилирах ядрото с
device          pflog
Преди това ми липсваше следното:
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33208
Ната също работи вече - там бях забравил pf_enable="YES"
 '<img'>
Активен

Powered By DomashnaGROZDOVA & ShopskaSalata