FreeBSD pf Egress Filtering

Я пытаюсь создать простой файл pf.conf, который включает NAT, позволяющий трафику выходить из сети со всех систем на выбранной серии портов. В моей базовой конфигурации у меня есть внутренний сервер, на котором размещены HTTP/HTTPS, которые будут доступны извне через IP-адрес с NAT. Изнутри я хотел бы, чтобы клиенты выходили из сети только по 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

В этой конфигурации мой сервер подключен к соответствующим портам, как я спроектировал, однако мои клиенты всегда могут покинуть сеть, несмотря ни на что.

1 ответ

Решение

Это потому, что вы не блокируете исходящий трафик по умолчанию в вашей локальной сети.

Попробуйте использовать что-то в этом роде:

block out from $localnet to any
pass inet proto tcp from $localnet to port $client_out_tcp
pass inet proto tcp from $localnet to port $client_out_udp
Другие вопросы по тегам