Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Kорзина _ Ваш ник уже занят, пожалуйста измените на какой-нибудь другой!

Автор: BeN 1.5.2009, 7:31

08:20:13] *** Соединение с xxx...
[08:20:13] *** Соединён
[08:20:14] *** Ваш ник уже занят, пожалуйста измените на какой-нибудь другой!
[08:20:14] *** Отключен
- - -
[08:28:29] *** Соединение с xxx...
[08:28:29] *** Соединён
[08:28:30] *** Ваш ник уже занят, пожалуйста измените на какой-нибудь другой!
[08:28:30] *** Отключен

Когда в нашей сети меняется ип(такое часто бывает, дисконект от сети смена ипа и снова конект) чтобы зайти на хаб нужно ждать как минимум 30 мин(
Я не понимаю почему это происходит...

Автор: mariner 1.5.2009, 8:17

все просто. При смене айпи образуется зависшее соединение tcp и его закрытие по таймауту. Таймаут от 12 до 24х минут. Так то.

Автор: BeN 1.5.2009, 10:54

А таймаут сменить нельзя?
30 мин что то уж слишком долго... такое тока на лине почемуто =)

Автор: mariner 1.5.2009, 11:13

потому, что система такая. Типо чтобы продолжить, если сбой был. В принципе можно по идее уменьшить. Ща поищу как.

Цитата
Последнее, что мы сделаем, это заставим Linux обрабатывать большее число TCP/IP соединений за определенное время. Нижеописанные настройки уменьшают время TCP/IP подключения, чтобы можно было обработать больше соединений за тот же интервал. Также будет уменьшено время, которое Linux ждет до закрытия соединения, и время, через которое Linux разрывает устаревшее соединение. Эти настройки отключат некоторые расширения протокола TCP/IP, которые нам не нужны. Значения параметров TCP/IP стека, принятые в Red Hat по умолчанию:
tcp_fin_timeout "180"
tcp_keepalive_time "7200"
tcp_window_scaling "1"
tcp_sack "1"
tcp_timestamps "1"
Чтобы изменить параметры TCP/IP, используйте следующие команды:
echo "30" > /proc/sys/net/ipv4/tcp_fin_timeout
echo "1800" >/proc/sys/net/ipv4/tcp_keepalive_time
echo "0" > /proc/sys/net/ipv4/tcp_window_scaling
echo "0" > /proc/sys/net/ipv4/tcp_sack
echo "0" > /proc/sys/net/ipv4/tcp_timestamps
Вы можете добавить эти команды в /etc/rc.d/rc.local, чтобы они выполнялись каждый раз при загрузке компьютера. Или отредактируйте файл /etc/sysctl.conf и добавьте следующие строки:
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_window_scaling = 0
net.ipv4.tcp_sack = 0
net.ipv4.tcp_timestamps = 0
Чтобы изменения вступили в силу, стоит перезагрузить систему.


кстати, опции можно добавить в /etc/sysctrl.conf
А вот, чтобы не перещзагружать серв и применить "на лету"
Код
echo "30" > /proc/sys/net/ipv4/tcp_fin_timeout
echo "1800" >/proc/sys/net/ipv4/tcp_keepalive_time
echo "0" > /proc/sys/net/ipv4/tcp_window_scaling
echo "0" > /proc/sys/net/ipv4/tcp_sack
echo "0" > /proc/sys/net/ipv4/tcp_timestamps