- /proc/sys/net/ipv4/icmp_destunreach_rate
Jeśli kernel zdecyduje, że nie może dostarczyć pakietu odrzuci go i wyśle źródle
pakietu informacje w postaci ICMP by je o tym powiadomić.
- /proc/sys/net/ipv4/icmp_echo_ignore_all
Nie reaguj w ogóle na pakiety ICMP echo. Nie ustawiaj tego domyślnie, chyba
że jesteś używany jako przekaźnik w atakach DoS.
- /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts [użyteczne]
Jeśli pingujesz adres rozgłoszeniowy spodziewasz się odpowiedzi od wszystkich
komputerów. Jest to wygodne narzędzie DoS, ustawienie w tym pliku wartości `1'
powoduje, że rozgłaszane wiadomości ICMP echo są ignorowane.
- /proc/sys/net/ipv4/icmp_echoreply_rate
Częstotliwość z jaką kernel wysyła odpowiedzi na ping pod określony adres
przeznaczenia.
- /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
Ustaw by ignorować błędy ICMP spowodowane przez komputery źle reagujące na
ramki, które uważają za adresy rozgłoszeniowe.
- /proc/sys/net/ipv4/icmp_paramprob_rate
Mało znana wiadomość ICMP wysyłana w odpowiedzi na pakiet z uszkodzonym
nagłówkiem IP lub TCP.
- /proc/sys/net/ipv4/icmp_timeexceed_rate
Znany powód występowania `solarisowej gwiazdki w środku' w przypadku wykonywania
traceroute. Ogranicza liczbę wiadomości ICMP Przekroczono Czas.
- /proc/sys/net/ipv4/igmp_max_memberships
Maksymalna liczba nasłuchujących gniazd IGMP na maszynie. FIXME: Czy faktycznie?
- /proc/sys/net/ipv4/inet_peer_gc_maxtime
FIXME: Dodać trochę wyjaśnień do mechanizmu przechowywania informacji?
Minimalny interwał pomiędzy `zbieraniem śmieci'. Interwał mierzony jest tylko
gdy wolna jest mała część puli pamięci.
- /proc/sys/net/ipv4/inet_peer_gc_mintime
Minimalny interwał pomiędzy `zbieraniem śmieci'. Ten interwał mierzony
jest tylko gdy wolna jest duża część puli pamięci. Mierzony w `jiffies'.
- /proc/sys/net/ipv4/inet_peer_maxttl
Maksymalny czas życia wpisów. Nieużywane wpisy wygasają po upływie określonego
czasu lub gdy nie ma pamięci w puli (tzn. gdy liczba wpisów w puli jest już
bardzo mała). Mierzony w `jiffies'.
- /proc/sys/net/ipv4/inet_peer_minttl
Minimalny czas życia wpisów. Powinien być na tyle duży, by obejmować czas
potrzebny na składanie fragmentów. Czas ten jest gwarantowany, jeśli wielkość
puli jest mniejsza niż wartość `inet_peer_threshold'. Mierzony w `jiffies'.
- /proc/sys/net/ipv4/inet_peer_threshold
Przybliżona wielkość archiwum INET. Poczynając od tego progu, wpisy będą
wyrzucane agresywniej. Próg określa również czasy życia wpisów dla interwałów
zbierania śmieci. Czym więcej wpisów, mniejszy czas TTL i interwał
zbierania śmieci.
- /proc/sys/net/ipv4/ip_autoconfig
Plik zawiera wartość `1' jeśli konfiguracja IP odbywa się za pomocą protokołu
RARP, BOOTP, DHCP lub podobnego. W innym wypadku zawiera zero.
- /proc/sys/net/ipv4/ip_default_ttl
Czas życia (TTL) pakietów. Ustawiony na bezpieczną wartość `64'. Podnieś, jeśli
masz dużą sieć i raczej nie baw się tym parameterm - pętle routingu potrafią
wyrządzić wiele kłopotu. Czasami nawet warto obniżyć tą wartość.
- /proc/sys/net/ipv4/ip_dynaddr
Musisz ustawić tu `1' jeśli korzystasz z połączeń zestawianych na żądanie i
masz przydzielany dynamiczny adres interfejsu. Po tym, jak podniesiony zostanie
interfejs, gniazda TCP nie otrzymają odpowiedzi dopóki nie skojarzone zostaną
z odpowiednim adresem. Rozwiązuje to problem w przypadku, gdy pierwsze
nawiązanie połączenia nie podnosi interfejsu a np. drugie pomaga.
- /proc/sys/net/ipv4/ip_forward
Czy kernel ma przekazywać pakiety. Domyślnie wyłączone.
- /proc/sys/net/ipv4/ip_local_port_range
Zakres portów lokalnych przeznaczonych dla połączeń wychodzących. Domyślnie
całkiem mały, od 1024 do 4999.
- /proc/sys/net/ipv4/ip_no_pmtu_disc
Ustaw `1' w tym pliku jeśli chcesz wyłączyć rozpoznawanie MTU ścieżki
(ang. "Path MTU Discovery", PMTUD) - techniki pozwalającej określić
`Maksymalną Jednostkę Transmisji' (ang. "Maximum Transfer Unit")
możliwą na twojej trasie. Zajrzyj również do tego rozdziału
Cookbook.
- /proc/sys/net/ipv4/ipfrag_high_thresh
Maksymalna ilość pamięci przeznaczona na fragmenty IP. Jeśli zaalokowano już
`ipfrag_high_thresh' bajtów do tego celu, funkcja obsługująca defragmentację
będzie odrzucać nowe fragmenty aż osiągnięty zostanie poziom wartości
`ipfrag_low_thresh'.
- /proc/sys/net/ipv4/ip_nonlocal_bind
Ustaw w tym pliku `1' jeśli chcesz, by aplikacje mogły bindować się do adresów
nie istniejących na żadnym urządzeniu w twoim systemie. Może to być użyteczne,
jeśli komputer jest podłączony do dynamicznego łącza, więc dobrze byłoby
gdyby usługi mogły startować i bindować się do określonych adresów gdy łącze
jest nieczynne.
- /proc/sys/net/ipv4/ipfrag_low_thresh
Minimalna ilość pamięci używana do składania fragmentów IP.
- /proc/sys/net/ipv4/ipfrag_time
Czas w sekundach, przez który fragmenty IP są przetrzymywane w pamięci.
- /proc/sys/net/ipv4/tcp_abort_on_overflow
Wartość logiczna kontrolująca zachowanie w przypadku dużej ilości połączeń
przychodzących. Jeśli ustawiona na `1' powoduje, że kernel aktywnie wysyła
pakiety RST gdy usługa jest przeładowana.
- /proc/sys/net/ipv4/tcp_fin_timeout
Czas przez który utrzymywać gniazdo w stanie FIN-WAIT-2 jeśli zostało zamknięte
przez drugą stronę. Mogło dojść do awarii lub w ogóle zniknięcia z sieci i
nigdy nie doczekamy się końca sesji. Domyślnie wynosi 60 sekund. W kernelach 2.2
używano wartości 180 sekund, więc możesz chcieć tak ustawić swoje jądro, ale
pamiętaj, że jeśli twój komputer jest np. przeładowanym serwerem WWW ryzykujesz
przeładowanie pamięci kilotonami martwych gniazd. Co prawda gniazda w stanie
FIN-WAIT-2 są mniej groźne niż w stanie FIN-WAIT-1 ponieważ zabieraja tylko po
1.5kB pamięci, ale generalnie żyją zwykle dłużej. Zajrzyj również do opisu
`tcp_max_orphans'.
- /proc/sys/net/ipv4/tcp_keepalive_time
Jak często TCP wysyła wiadomości `keepalive', jeśli włączono tą
funkcję - domyślnie co 2 godziny.
- /proc/sys/net/ipv4/tcp_keepalive_intvl
Jak często retransmitowane są wiadomości `keepalive', jeśli nie zostaną
potwierdzone - domyślnie co 75 sekund.
- /proc/sys/net/ipv4/tcp_keepalive_probes
Jak wiele wiadomości `keepalive' zostanie wysłanych, zanim kernel zdecyduje,
że połączenie zostało przerwane - domyślnie 9. Pomnożone przez wartość
`tcp_keepalive_intvl' pozwala obliczyć przez jak długi czas połaczenie może nie
przekazywać pakietów po wysłaniu pierwszej wiadomości `keepalive'.
- /proc/sys/net/ipv4/tcp_max_orphans
Maksymalna ilość gniazd TCP utrzymywanych przez system, nie dołączonych do
żadnego uchwytu pliku użytkownika. Jeśli wartość ta zostanie przekroczona,
osierocone połączenia są resetowane i wysyłane jest ostrzeżenie. Limit istnieje
tylko po to, by zapobiec prostym atakom DoS, nie możesz polegać tylko na nim,
lub zbyt go obniżyć, a raczej powinieneś nawet go zwiększyć (być może po
zwiększeniu pamięci), jeśli warunki sieciowe wymagają więcej niż domyślna
wartość. To usługi powinny zajmować się śledzeniem i eliminowaniem takich
stanów bardziej agresywniej. Pozwól sobie przypomnieć ważną informację:
każde osierocone gniazdo to stracone około 64K pamięci, której nie można
wyrzucić do pliku wymiany.
- /proc/sys/net/ipv4/tcp_orphan_retries
Jak wiele razy próbować ponowić próbę, zanim połączenie TCP zostanie zabite po
naszej stronie. Domyślna wartość `7' odpowiada około ~50 sekundom - 16 minutom
w zależności od RTO. Jeśli masz przeładowaną maszynę powinieneś rozważyć
obniżenie tej wartości, ponieważ gniazda mogą zająć wiele zasobów.
- /proc/sys/net/ipv4/tcp_max_syn_backlog
Maksymalna ilość pamiętanych żądań połączeń, które nadal nie zostały potwierdzone
przez klienta. Domyślna wartość 1024 jest właściwa dla systemów z pamięcią
powyżej 128MB, a 128 jest dobre dla komputerów z mniejszą ilością pamięci.
Jeśli masz przeładowany serwer spróbuj zwiększyć tą wartość. Uwaga! Jeśli
ustawisz ją na więcej niż 1024, lepiej będzie zmienić również TCP_SYNQ_HSIZE w
pliku include/net/tcp.h by utrzymać zależność
TCP_SYNQ_HSIZE*16<=tcp_max_syn_backlog i przekompilować kernel.
- /proc/sys/net/ipv4/tcp_max_tw_buckets
Maksymalna ilość gniazd w stanie TIMEWAIT utrzymywana w danym momencie przez
system. Jeśli ta wartość zostanie przekroczona, gniazdo jest niszczone i
generowane jest ostrzeżenie. Limit istnieje tylko po to, by zapobiec prostym
atakom DoS, nie możesz polegać tylko na nim, lub zbyt go obniżyć (być może po
zwiększeniu pamięci), jeśli warunki sieciowe wymagają więcej niż domyślna
wartość.
- /proc/sys/net/ipv4/tcp_retrans_collapse
Włączenie błędu, który może być konieczny do obsłużenia innego błędu w
rzypadku pracy z niektórymi uszkodzonymi drukarkami. W czasie retransmisji
pakietów powoduje wysyłanie większych pakietów by niektóre stosy TCP prawidłowo
je rozpoznały.
- /proc/sys/net/ipv4/tcp_retries1
Jak wiele razy próbować, zanim stwierdzimy że coś jest nie tak i należy to
zgłosić do warstwy sieciowej. Minimalną wartością zalecaną w RFC jest `3' i
jest to wartość domyślna. Odpowiada ~3 sekundom - 8 minutom w zależności od
RTO.
- /proc/sys/net/ipv4/tcp_retries2
Jak wiele razy próbować przed zabiciem żywej sesji TCP.
RFC1122 mówi, że
limit ten powinien wynosić więcej niż 100 sekund, ale jest to za mało. Domyślną
wartością jest 15, co odpowiada ~13-30 minutom w zależności od RTO.
- /proc/sys/net/ipv4/tcp_rfc1337
Ta wartość logiczna włącza poprawki opisane w RFC 1337 związane z
niebezpieczeństwami ginięcia gniazd w stanie time-wait. Jeśli zostanie
ustawiona, kernel odrzuca pakiety RST dla gniazd w stanie time-wait.
Domyślnie wyłączone (`0').
- /proc/sys/net/ipv4/tcp_sack
Użyj selektywnego ACK, co może pomóc stwierdzić, że brakuje pewnych
pakietów - a w związku z tym wspomóc proces odzyskiwania zasobów.
- /proc/sys/net/ipv4/tcp_stdurg
Użyj interpretacji wymagań w stosunku do hosta dla wskaźnika pilnych danych.
Większość komputerów używa starej implementacji BSD, więc jeśli ją włączysz,
Linux może nie móc się z nimi komunikować. Domyślnie wyłączone (`0').
- /proc/sys/net/ipv4/tcp_syn_retries
Ilość pakietów SYN, które wyśle kernel zanim się podda podczas kreowania
nowego połączenia.
- /proc/sys/net/ipv4/tcp_synack_retries
By otworzyć zdalne połączenie, kernel wysyła pakiet z ustawioną flagą SYN i
ACK wskazującą na poprzedni, tak by go potwierdzić. Jest to część druga
trzy-stopniowego przywitania. Ten parametr kontroluje ile pakietów zostanie
wysłanych, zanim kernel podda się i odrzuci połączenie.
- /proc/sys/net/ipv4/tcp_timestamps
Znaczniki czasu używane są, między innymi, do ochrony przed `zawijaniem' się
numerów sekwencyjnych. Na łączu 1 gigabitowym połączenia mogłyby łatwo zacząć
używać już raz użytych numerów sekwencyjnych, w związku z tym używa się
dodatkowo znaczników czasu.
- /proc/sys/net/ipv4/tcp_tw_recycle
Włącz szybkie odzyskiwane gniazd TIME-WAIT. Domyślnie ustawione. Nie powinno
być zmieniane bez poinstruowania wprost przez ekspertów technicznych.
- /proc/sys/net/ipv4/tcp_window_scaling
TCP/IP umożliwia normalnie obsługę okien do rozmiarów 65535 bajtów. Dla bardzo
szybkich sieci może to nie być wystarczająca wartość. Opcje skalowania okien
pozwalają rozszerzyć je aż do łączy gigabitowych, co jest pożyteczne dla
połączeń z dużymi przepustowościami.