ip_conntrack

Jacek Konieczny jajcus w bnet.pl
Czw, 24 Lip 2003, 08:45:54 CEST


On Wed, Jul 23, 2003 at 11:28:10PM +0200, Pawel Bernadowski wrote:
> Ostatnio spotkalem sie z bardzo dziwna rzecza, mianowicie siada ruch na 
> routerze i nie idzie sie do niego dostac.. pomaga tylko reset..

nie tylko. Czasem wystarczy wyładować wszytkie moduły ipt_*, ip_nat_*,
ip_conntrack_*.

> a w logach 
> poprzedzajacych go mam takie cos:
> 
> Jul 23 10:10:18 PLD ip_conntrack: table full, dropping packet.
> Jul 23 10:10:23 PLD NET: 58 messages suppressed.
> 
> Co moze to powodowac..

Np. niewłaściwe/niekompletne konwersacje TCP.

Ja dwa razy spotkałem się z czymś takim:

1. Pomiędzy sieciami a routerem (PLD z conntrack) miałem switch warstwy
3 (routujący).  Chciałem go wykorzystać i skonfigurowałem router tak,
żegdy miał przekazać pakiet między tymi sieciami, to wysyłał do nadawcy
redirecta wskazujacego na switcha. W efekcie pierwszy (lub pierwsze 2-3)
pakiet transmisji TCP szedł przez router, a reszta przez switcha. Router 
nigdy nie widział zamknięcia połączenia TCP i dlatego tablica się
przepełniała.

2. Kumpel w cronie dał "nmap -sP 192.168.0.1-254" aby monitorować ilość
podłączonych komputerów. Tak uruchomiony nmap nie wysyła normalnego
pinga, ale pakiet TCP udający połączenie. Jednak nie jest nawiązywane
prawdziwe połączenie TCP i nigdy nie jest zamykane. Więc tablica
conntrack rosła.

Co jest rzeczywistą przyczyną zapchania tablicy conntrack można
stwierdzić zaglądając do niej - /proc/net/ip_conntrack. Uwaga: tablica
jest bardzo duża (gdy występuje ten problem), a jej przeglądanie jest
bardzo niewydajne. Dlatego najlepiej skopiować ją do normalnego pliku, 
albo używać jedynie "head" do oglądania. Na załadowanie tego do vima
można się nie doczekać.

W nowszych kernelach 2.4 można zmieniać timeouty dla wpisów
w ip_conntrack. Gdzieś przez sysctl (/proc/sys/...) - dokładna
lokalizacja zmienia się z każdą wersją netfiltera, więc nawet nie będę
sprawdzał. Jednak mimo że defaultowe timeouty wydają się bardzo duże,
to nie sprawiają one najmniejszych problemów w prawidłowo
funkcjonujących sieciach.

Pozdrowienia,
	Jacek



Więcej informacji o liście dyskusyjnej pld-users-pl