В rc.conf:
Код: Выделить всё
#Network internet
ifconfig_bge0="inet 1.1.1.1 netmask 255.255.255.252"
defaultrouter="1.1.1.2"
#Network local
ifconfig_em0="192.168.1.17 netmask 255.255.255.240"
gateway_enable="YES"
#Packet Filter
pf_enable="YES"
pf_rules="/etc/pf.conf"
pf_flags=""
pflog_enable="YES"
pflog_logfile="/var/log/pflog"
pflog_flags=""
Еще и ядро откомпилировал:
Код: Выделить всё
device pf
device pflog
device pfsync
Один из самых простых примеров который можно найти в интернете:
Код: Выделить всё
ext_if = "ep0" # macro for external interface - use tun0 for PPPoE
int_if = "ep1" # macro for internal interface
localnet = $int_if:network
# ext_if IP address could be dynamic, hence ($ext_if)
nat on $ext_if from $localnet to any -> ($ext_if)
block all
pass inet proto tcp from { lo0, $localnet } to any keep state
Код: Выделить всё
ext_if=”bge0” # смотрит в инет
int_if=”em0” # смотрит в локалку
lan_net=”192.168.1.16/28”
set skip on $int_if
set block-policy return
nat on $exit_if from $lan_net to any ? $ext_if
block all
pass inet from $lan_net to any keep state
Код: Выделить всё
Ошибка 105 (net::ERR_NAME_NOT_RESOLVED): Не удается преобразовать DNS-адрес сервера
named.conf:
Код: Выделить всё
listen-on { 192.168.1.17; };
forwarders {
222.222.222.222;
dns сервер провайдера;
};
forward only;
Код: Выделить всё
listen-on { any; }
Код: Выделить всё
named_enable="YES"
В pf.conf добавляем
Код: Выделить всё
pass proto { tcp, udp } from $ext_if to any port domain keep state
Код: Выделить всё
Ошибка 101 (net::ERR_CONNECTION_RESET): Соединение сброшено
Стоит изменить на
Код: Выделить всё
pass proto { tcp, udp } from $ext_if to any port { domain, http, и т.д. } keep state
Получается запись вида
Код: Выделить всё
pass inet from $lan_net to any keep state
Но раз чуть ли не в каждой статье подобные примеры
Код: Выделить всё
ext_if = "ep0" # macro for external interface - use tun0 for PPPoE
int_if = "ep1" # macro for internal interface
localnet = $int_if:network
# ext_if IP address could be dynamic, hence ($ext_if)
nat on $ext_if from $localnet to any -> ($ext_if)
block all
pass inet proto tcp from { lo0, $localnet } to any keep state