OpenBSD pf Filtragem de saída

0

Eu estou tentando construir um pf.conf simples que inclui o NAT que permite o tráfego fora da rede de todos os sistemas em uma série selecionada de portas. Na minha configuração básica eu tenho um servidor interno que hospeda HTTP / HTTPS, que será acessível a partir do exterior através do IP NAT. Do lado de dentro, eu gostaria apenas que os clientes deixassem a rede em DNS / HTTP / HTTPS.

int_if="eth0"
ext_if="eth1"
localnet=$int_if:network

nat on $ext_if from $localnet to any -> ($ext_if)
comp1="172.16.0.1"
rdr on $ext_if proto tcp from any -> $comp1 port http
rdr on $ext_if proto tcp from any -> $comp1 port https

client_out_tcp = "{ http, https}"
client_out_udp = "{ 53 }"
pass inet proto tcp from $localnet to port $client_out_tcp
pass inet proto tcp from $localnet to port $client_out_udp

Com essa configuração, meu servidor é contatado nas portas adequadas, como eu projetei, no entanto, meus clientes podem sempre deixar a rede, não importa o que aconteça.

    
por Blackninja543 02.01.2014 / 23:55

1 resposta

0

A ação padrão é passar o pacote se nenhuma regra for correspondida.

Se você não quiser isso, a primeira regra de filtragem de pacotes deverá ser

block all

Se você quiser regular o tráfego de saída, você deve especificá-lo como tal:

# Block by default. (pass rules should follow later).
block out log on $ext_if all label "outblock"
# What to pass
client_out_tcp = "{ http, https}"
client_out_udp = "{ 53 }"
pass out inet proto tcp from $localnet to port $client_out_tcp
pass out inet proto tcp from $localnet to port $client_out_udp
    
por 24.01.2014 / 11:04