Ustawienie wartości timeout w packet filter (dla tcp, udp i innych)

Każde połączenie sieciowe jest przetrzymywane w pamięci systemu przez określoną ilość czasu. W OpenBSD nie ma problemu aby ten czas zmniejszyć lub zwiększyć. Do tego używamy oczywiście wbudowanego packet filter. Optymalizacja tych wartości może pozytwnie wpłynąć na działanie całego systemu. Żeby zobaczyć wszystkie aktualne połączenia w systemie wpisujemy:

root@fw-m:/>pfctl -ss -v        
all tcp x.x.x.x -> y.y.y.y:80       FIN_WAIT_2:FIN_WAIT_2
   [2767833305 + 6944] wscale 8  [3518465835 + 66048] wscale 5
   age 00:05:28, expires in 00:00:19, 21:26 pkts, 1492:34161 bytes, rule 84

Przykładowe połączenie na porcie 80 z hostem y.y.y.y zostało zakończone i zostanie usunięte za 19 sekund. Wszystkie wartości timeout możemy zobaczyć używając polecenia pfctl.

root@fw-m:/>pfctl -st 
tcp.first                   120s
tcp.opening                  30s
tcp.established           86400s
tcp.closing                 900s
tcp.finwait                  45s
tcp.closed                   90s
tcp.tsdiff                   30s
udp.first                    60s
udp.single                   30s
udp.multiple                 60s
icmp.first                   20s
icmp.error                   10s
other.first                  60s
other.single                 30s
other.multiple               60s
frag                         30s
interval                     10s

Zmiana wartości timeout

Packet filter oferuje 4 gotowe zestawy ustawien. (aggressive, conservative, high-latency, normal), ale możemy też zmienić każdą wartość osobno. Jeśli chcemy użyć gotowego zestawu wystarczy, że w pliku pf.conf wpiszemy:

root@fw-m:/>cat /etc/pf.conf
    set optimization aggressive

a jeżel chcemy ustawić poszczególne wartości:

root@fw-m:/>cat /etc/pf.conf
    set timeout { tcp.first 60, tcp.closing 120, tcp.closed 45, tcp.finwait 30, tcp.established 28800 }
    set timeout { udp.first 30, udp.single 30, udp.multiple 30 }
    set timeout { other.first 30, other.single 30, other.multiple 30 }

Testujemy konfigurację i restart firewall’a

root@fw-m:/>pfctl -ng -f /etc/pf.conf
root@fw-m:/>pfctl -f /etc/pf.conf

I sprawdzamy czy nowe wartości zostały wczytane:

root@fw-m:/etc>pfctl -st   
tcp.first                    60s
tcp.opening                  30s
tcp.established           28800s
tcp.closing                 120s
tcp.finwait                  30s
tcp.closed                   45s
tcp.tsdiff                   30s
udp.first                    30s
udp.single                   30s
udp.multiple                 30s
icmp.first                   20s
icmp.error                   10s
other.first                  30s
other.single                 30s
other.multiple               30s
frag                         30s
interval                     10s

Zostaw komentarz


Podpowiedź - możesz użyć tych HTML tagów i atrybutów:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Obraz CAPTCHY

*