Проблема
Имеется сервер FreeBSD8+mpd5. Удалённые клиенты подключаются к серверу с тем, чтоб далее установить rdp-сессию с терминальным сервером Windows. Проблема состоит в том, что у некоторых клиентов рвётся vpn после некоророго перерыва в работе с терминалом. При этом на терминальном сервере сессия пользователя остаётся в состоянии Active. Переподключение вызывает новую сессию в терминале.
В логах mpd наблюдаются записи:
[L-1] LCP: no reply to 1 echo request(s)
[L-1] LCP: no reply to 2 echo request(s)
[L-1] LCP: no reply to 3 echo request(s)
[L-1] LCP: no reply to 4 echo request(s)
[L-1] LCP: no reply to 5 echo request(s)
[L-1] LCP: peer not responding to echo requests
Решение
В настройках mpd.conf нужно измененить параметр keep-alive на
set link keep-alive 60 10
Это означает, что включена отправка LCP echo пакетов. Первый пакет отправляется через 60 секунд простоя (т.e., нет принятых пакетов от удаленной машины). После более чем 60 секунд, отправляется другой эхо пакет. Если после 10 секунд ответ не будет получен связь будет разорвана. Установка set link keep-alive 0, отключает посылку эхо пакетов. По умолчанию set link keep-alive 5 40, что полезно для модемов у которых поиск несущей нестабилен. Однако, если линии шумные и модем тратит много времени на перенастройку, второй параметр (max) нужно увеличить

- Системный администратор с 2000 года
- Участник Хабр Q&A и cyberforum
- Кейсы