Назад | Перейти на главную страницу

Конфигурация сервера брандмауэра pf

Я пытаюсь настроить брандмауэр для сервера, на котором размещены http, smtp и ssh на настраиваемом порту.

Когда я инициализирую pf, я получаю сообщение об ошибке в командной строке:

No ALTQ support in kernel

и мое ssh-соединение зависает

config:

[\u@vader:/root] # cat /home/pf.conf
local_host="108.61.175.20"
table <blockedips> persist file "/etc/blocked_ips.conf"
#interface="vtnet0"
icmp_types="echoreq"
ext_if="vtnet0"
# Custom port for ssh
SSH_CUSTOM = 22222

scrub in on $ext_if all fragment reassemble

set skip on lo0
#set skip on lo1

antispoof for $ext_if

# --- EXTERNAL INTERFACE
# --- INCOMING -------------------------------------------------------------------

# --- TCP
pass in  quick on $ext_if inet proto tcp from any to $ext_if  port http
pass in  quick on $ext_if inet proto tcp from any to $ext_if  port https
pass in  quick on $ext_if inet proto tcp from any to $ext_if  port $SSH_CUSTOM

# --- for authoritative DNS server
#pass in  quick on $ext_if inet proto udp from any to $ext_if  port domain

# --- UDP
# --- for authoritative DNS server
#pass in  quick on $ext_if inet proto udp from any to $ext_if  port domain

# --- ICMP
pass in  quick on $ext_if inet proto icmp from any to $ext_if icmp-type $icmp_types

# --- EXTERNAL INTERFACE
# --- OUTGOING --------------------------------------------------------------------

anchor TMP

# --- TCP
pass  out quick log on $ext_if inet proto tcp from $ext_if to any port smtp
pass  out quick     on $ext_if inet proto tcp from $ext_if to any port domain
pass  out quick     on $ext_if inet proto tcp from $ext_if to any port http
pass  out quick     on $ext_if inet proto tcp from $ext_if to any port https
pass  out quick     on $ext_if inet proto tcp from $ext_if to any port whois
pass  out quick     on $ext_if inet proto tcp from $ext_if to any port $SSH_CUSTOM

# --- UDP
pass  out quick on $ext_if inet proto udp from $ext_if to any port domain
pass  out quick on $ext_if inet proto udp from $ext_if to any port ntp

# --- ICMP
pass  out quick on $ext_if inet proto icmp  from $ext_if to any

# ------------------------------------------------------
# --- DEFAULT POLICY
# ------------------------------------------------------
block log all

# ----- end of pf.conf

Как настроить базовый сервер pf fw для разрешения входящего трафика www, smtp и настраиваемого порта ssh? Мне нужна таблица блоков, аналогичная той, что в конфиге.

Это сообщение является нормальным, поскольку ALTQ не скомпилирован в стандартное ядро ​​FreeBSD. Если вам не нужно использовать ALTQ, это не имеет значения.

Запуск брандмауэра прерывает все текущие подключения, включая сеанс ssh, который перестает отвечать. Просто откройте другой терминал и снова войдите в систему. Исходный сеанс в конечном итоге истечет.

Рекомендуется настроить задание cron на отключение PF примерно через десять минут, чтобы вы могли снова войти в систему, если ошиблись, пока не убедитесь, что настройки верны.