23.5 Соединение TCP не прерывается после аварийного выхода

Иногда серверу OES Linux не удается определить хост клиента, который неожиданно выключился из-за сбоя рабочей станции или отключения питания. Однако подключение еще остается активным в течение времени ожидания по умолчанию (приблизительно от 12 до 15 минут). Если задать количество параллельных подключений равным 1, то до повторного входа рекомендуется прервать подключение вручную или подождать, пока истечет время ожидания по умолчанию. Эта ситуация происходит, когда процессу watchdog не удается штатно закрыть подключение. Поэтому если для количества параллельных подключений задано значение 1, и подключение не закрыто процессом watchdog, пользователи не могут войти в систему. Ядро Linux предоставляет три параметры для изменения способа, которым keepalive проверяет работу с серверной стороны. Воспользуйтесь этими параметрами, чтобы практически разрешить эту проблему на уровне TCP.

Эти параметры доступны в каталоге /proc/sys/net/ipv4/ .

Измените эти три параметры таким образом, чтобы разрешить проблему, не создавая при этом чрезмерный сетевой трафик. Ниже приведен пример такого изменения (время определения составляет 3 минуты):

ПРИМЕЧАНИЕ.Настройки параметров следует изменять осмотрительно. Рекомендуется не настраивать параметры для тех подключений, которые действуют.

Эти настройки вступают в силу немедленно после изменения файлов. Нет необходимости перезапускать какие-либо сервисы. Однако настройки действительны только для текущего сеанса. После перезагрузки сервера настройкам возвращаются значения по умолчанию.

Чтобы окончательно изменить настройку параметра (без изменений при перезапуске), выполните указанную ниже процедуру.

В файл /etc/sysctl.conf. добавьте указанные ниже записи

Мы рекомендуем использовать эти настройки только в том случае, если все клиенты и серверы подключены через локальную сеть.