Добрый день! помогите пожалуйста!!! уже неделю бьюсь все бестолку, перечитал уже маны, необходимо выпустить в инет один комп по IP в обход squid, есть правила:nat on $EXT_IF from 192.168.0.100 to any -> $EXT_IP
pass out on $EXT_IF from 192.168.0.100 to any keep state
Буду очень признателен за помощь!
> Добрый день! помогите пожалуйста!!! уже неделю бьюсь все бестолку, перечитал уже маны,
> необходимо выпустить в инет один комп по IP в обход squid,
> есть правила:
> nat on $EXT_IF from 192.168.0.100 to any -> $EXT_IP
> pass out on $EXT_IF from 192.168.0.100 to any keep state^^^^^^^^^^^^
Ваша ошибка в том, что вы указали адрес, а надо указать внешний интерфейс. У вас НАТ, и в этом месте не фигурирует реальный адрес отправителя (192.168.0.100).
И убедитесь, что включен форвардинг net.inet.ip.forwarding: 1> Буду очень признателен за помощь!
set state-policy if-bound
nat on $ext_if inet from 192.168.0.100 to !(self) -> ($ext_if)
block in
block outА дальше открываете "окна" в зависимости от ваших требований. Учтите, что PF - это statefull firawall, поэтому явно указывать обратный маршрут не нужно.
pass out on $ext_if inet from $ext_if to any
# Эти 2 правила для сквида на внутр. интерфейсе. Можно задать более жесткие условия,
# указав протокол и порт. Желательно.
pass in quick on $int_if inet from $int_if:network to $int_if
pass out quick on $int_if inet from $int_if to $int_if:network
Спасибо! сейчас буду пробовать!
Все сделал как вы сказали, но не работает, вот часть конфига, может я опять чтото напутал?:#HOSTNEW
set state-policy if-bound
nat on $EXT_IF inet from 192.168.0.100 to !(self) -> ($EXT_IF)block in all
block out allblock in quick on $EXT_IF from any to $LOCALHOST
block in on $EXT_IF from <private> to any
block in quick on $EXT_IF from {<portscanofly>,<portscanfile> }# I N T E R N A L T R A F F I C
#HOSTNEW_SQUID
pass out on $EXT_IF inet from $EXT_IF to any
pass in quick on $INT_IF inet from $INT_IF:network to $INT_IF
pass out quick on $INT_IF inet from $INT_IF to $INT_IF:network
Один свой косяк нашел, перенес параметр set state-policy if-bound перед scub, но все равно не работает...
> Все сделал как вы сказали, но не работает, вот часть конфига, может
> я опять чтото напутал?:
> #HOSTNEW
> set state-policy if-bound
> nat on $EXT_IF inet from 192.168.0.100 to !(self) -> ($EXT_IF)
> block in all
> block out all
> block in quick on $EXT_IF from any to $LOCALHOST
> block in on $EXT_IF from <private> to any
> block in quick on $EXT_IF from {<portscanofly>,<portscanfile> }А это зачем? Первое правило заменяется antispoof quick on {lo $int_if}
>
>
>
> # I N T E R N A L
> T R A F F I C
> #HOSTNEW_SQUID
> pass out on $EXT_IF inet from $EXT_IF to any
> pass in quick on $INT_IF inet from $INT_IF:network to $INT_IF
> pass out quick on $INT_IF inet from $INT_IF to $INT_IF:networktcpdump'ом смотрите где пакеты не проходят. Вообщем, почитайте еще мануалко.
Мне это все хозяйство по наследству досталось, неделю читал, время поджимает, поэтому и спрашиваю, видимо я чего то недогоняю.