Я использую веб-сервер и почтовый сервер на FreeBSD 9.1. Система установлена на KVM vServer. Все работает нормально - пока не включу pf (4). Мой блог становится чрезмерно медленным. То же самое со всем остальным трафиком, но это не так сильно раздражает.
Так что было бы здорово, если бы кто-нибудь сказал мне, в чем может быть проблема.
Заранее спасибо!
Тест с помощью benchmarks / iperf возвращает следующие результаты:
Отключено ПФ:
Client connecting to 109.193.XXX.XXX, TCP port 5001
TCP window size: 32.5 KByte (default)
------------------------------------------------------------
[ 3] local 46.38.XXX.XXX port 31302 connected with 109.193.XXX.XXX port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 15.1 MBytes 12.6 Mbits/sec
Включен pf:
------------------------------------------------------------
Client connecting to 109.193.XXX.XXX, TCP port 5001
TCP window size: 32.5 KByte (default)
------------------------------------------------------------
[ 3] local 46.38.XXX.XXX port 61377 connected with 109.193.XXX.XXX port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-18.1 sec 128 KBytes 58.1 Kbits/sec
Это мой pf.conf:
### INTERFACES ###
if = "{ em0 }"
### SETTINGS ###
set block-policy drop
### PORTS ###
tcp_pass = "{ 25 80 465 993}"
udp_pass = "{ 25 80 465 993}"
icmp_types = "echoreq"
### NORMALISATION ###
scrub in all
antispoof for $if
### RULES ###
block all
pass in on $if proto tcp from any to any port $tcp_pass flags S/SA keep state
pass in on $if proto udp to any port $udp_pass keep state
pass out quick all keep state
# PING #
pass in on $if inet proto icmp all icmp-type $icmp_types keep state
# TRACEROUTE #
pass in on $if inet proto udp from any to any port 33433 >< 33626 keep state
Это rc.conf: ... pf_enable = "YES" pf_rules = "/ etc / pf.conf" pflog_enable = "YES" pflog_logfile = "/ var / log / pflog" ...
Ветка 9.0 кажется особенно чувствительной к странным конфигурациям, в которых задействована разгрузка сегментации TCP. Это можно «исправить», отключив TSO:
ifconfig em0 -tso