Linux за българи: Форуми

Linux секция за напреднали => Хардуерни и софтуерни проблеми => Темата е започната от: danielR в Mar 09, 2012, 13:14



Титла: NAT и File Descriptors
Публикувано от: danielR в Mar 09, 2012, 13:14
Привет,
 имам следното питане - правя тук един router/firewall, трябва ли да му увеличава бройката на файловите дескриптори или този тип мрежови конекции (NAT) не заемат дескриптори ?


Титла: Re: NAT и File Descriptors
Публикувано от: bop_bop_mara в Mar 09, 2012, 13:20
Файлово дескриптори не заемат ли сокетите?  ???


Титла: Re: NAT и File Descriptors
Публикувано от: Acho в Mar 09, 2012, 14:21
Да не питаш за connlimit нещо ? Бройката на конекциите през интерфейсите на рутера.


Титла: Re: NAT и File Descriptors
Публикувано от: danielR в Mar 09, 2012, 14:57
всяка мрежова конекция от и към сървъра е ИП:ПОРТ - което е сокет.
Всеки сокет заема 1 FD, но когато връзката не достига до юзър спейса, а се препраща от кърнъла (iptables) - в случайя като NAТ - има ли значение FD или не ? и ако нямат значение - то какво е, къде се вижда ограничението за такива конекции ?


Титла: Re: NAT и File Descriptors
Публикувано от: dev_urandom в Mar 09, 2012, 19:59
root@thor:~# cat /proc/sys/fs/file-max
24834
root@thor:~# echo "65535" > /proc/sys/fs/file-max
root@thor:~# cat /proc/sys/fs/file-max
65535


Титла: Re: NAT и File Descriptors
Публикувано от: gat3way в Mar 09, 2012, 23:18
Няма значение, файловите дескриптори нямат нищо общо с connection tracking-а. Но ограничение има. Има procfs интерфейс за вдигане на лимита на бройката елементи в таблицата, не помня как се казваше точно файла там. По спомени максималния брой на entry-тата в conntrack таблицата не е някаква hardcode-ната стойност, а се смяташе на база обема физическа памет. Та там е проблема и с разни домашни рутери с линукски фърмуер.


Титла: Re: NAT и File Descriptors
Публикувано от: victim70 в Mar 09, 2012, 23:49
Ако е до 200 потребителя с NAT-a + още 30-40 правила в таблиците без шейп на връзките не пипай нищо. Става въпрос за нормален компютър превърнат в рутер. Ако имаш сериозна шейп политика с бърстове и индивидуална настройка за всеки потребител и т.н.т ще се наложи да увеличиш споделената памет защото иначе тези с голямата лента ще се чувстват ощетени.
Според мене не се занимавай с пипане на параметри направи го пусни го и виж в движение какво става, ако има проблем ще изплаче или няма да достига забележимо скорост, тогава може да се даде конкретен съвет според случая.
@ gat3way
Броят елементи при мене е 256 по подразбиране, не знам какво става ако ги надвиша, не съм имал такъв случай, максималната таблица ми е от 70-80 правила, която съм правил.


Титла: Re: NAT и File Descriptors
Публикувано от: gat3way в Mar 10, 2012, 00:58
Ъх, това не е ли много малко. Стана ми малко интересно и проверих какво има (/proc/sys/net/netfilter/nf_conntrack_max се оказа). При мен е 65535. Но 256 ми се вижда наистина малко. Като гледам:

Цитат

cat /proc/sys/net/netfilter/nf_conntrack_count
492


И нямам торънт клиент пуснат примерно. Имам уеб сървър за който DNAT-вам трафика към виртуална машина, но определено не е особено посещаван. Ммм проблемът е по-скоро че редовете в conntrack таблицата стоят прекалено дълго време в нея. То и това май можеше да се контролира през procfs, не знам.


Титла: Re: NAT и File Descriptors
Публикувано от: victim70 в Mar 10, 2012, 08:49
Предполагам че danielR ще го ползва за домашна мрежа или малък офис, за което ако не пипа нищо по кернела и настройките ще си работи без проблеми.

@gat3way
това е без нет, без връзки, изгасени интерфейси при зареждането още, без нищо. Подобное на твойто е. В Линукса май и до тоалетна да идеш ти отваря сокети
dzver ~ # cat /proc/sys/net/netfilter/nf_conntrack_count
417
dzver ~ # cat /proc/sys/net/netfilter/nf_conntrack_expect_max
256
dzver ~ # cat /proc/sys/net/netfilter/nf_conntrack_max
65536


Титла: Re: NAT и File Descriptors
Публикувано от: danielR в Mar 12, 2012, 18:40
Супер,  благодаря за поясненията. казвате, че ip_conntrack_max е единственото ограничение ?
май вярно мрежовите конекции нямат общо с ФД. с lsof не се виждат нат'натите връзки.


Титла: Re: NAT и File Descriptors
Публикувано от: bop_bop_mara в Mar 12, 2012, 18:44
с lsof не се виждат нат'натите връзки.
За да затвърдим изводите ти, нека все пак да кажем, че NAT и отварянето на файл (бил той обикновен, сокет и т.н.) нямат връзка.


Титла: Re: NAT и File Descriptors
Публикувано от: danielR в Mar 13, 2012, 09:49
Супер, благодаря, обичам ясните обобщения.
Единственото неприятно, което виждам е, че контрака пази ненужни TIME_WAIT връзки, които не присъстват в netstat. Не зная това на какво се дължи, имате ли идея ?
ето
cat /proc/net/ip_conntrack | grep TIME_WAIT | wc -l
7057

netstat -anp | grep TIME_WAIT | wc -l
2483


Титла: Re: NAT и File Descriptors
Публикувано от: 10101 в Mar 13, 2012, 16:05
echo "число" > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
така може да намалиш или увеличиш time out-a.