Jump to content
Калькуляторы

Обрыв SSH-сессии при простое

Есть у меня три идентичных сервера. На всех серверах два гигабитных интерфейса. На всех серверах FreeBSD 8.2 x64, на всех серверах используется pf, настройки sshd везде одинаковые.

На двух серверах используются оба интерфейса; на первом интерфейсе прописана приватная сеть (он глядит в локалку), на втором интерфейсе прописана публичная сеть (он глядит в интернет). На третьем сервере второй интерфейс не использовался, он был доступен только в локальной сети.

К серверам я подключаюсь по SSH, на приватный интерфейс.

Странность следующая. Я подключаюсь на первый или второй сервер, делаю какие-то действия. Затем терминал (SecureCRT) сворачиваю и какое-то время его не трогаю. Когда я снова возвращаюсь к терминалу, то терминал сообщаем мне о том, что соединение было разорвано и предлагает переподключиться, переподключение происходит без проблем. Время простоя (после которого соединение обрывается) разное, иногда хватает десяти минут, иногда оно не разрывается и через час. В процессе работы (если я что-то ввожу с клавиатуры) SSH никогда не разрывается.

Но с третьим сервером такого нет, он может весь день простаивать в терминале и соединение так и не будет разорвано.

На прошлой неделе на третьем сервере задействовал второй интерфейс, теперь третий сервер тоже глядит в интернет. И теперь на нем также разрывается SSH-сессия.

 

Нет предположений, отчего это может быть?

В pf.conf есть такое правило, касающееся ssh:

pass in on $if_int inet proto tcp from $net_lan to $if_int port ssh synproxy state ( max-src-conn-rate 5/300, overload <bruteforce> flush global )
pass in on $if_ext inet proto tcp from any      to $if_ext port ssh synproxy state ( max-src-conn-rate 5/300, overload <bruteforce> flush global )

Но не вижу, как оно может обрывать соединение.

Share this post


Link to post
Share on other sites

или кипалайв уменьшить, или время статов увеличить.

Share this post


Link to post
Share on other sites

Но почему обрывов не было, когда использовался один интерфейс?

Share this post


Link to post
Share on other sites

Проверьте режим экономии электроэнергии. На клиентской машине этот режим может выключать сетевую карту.

Share this post


Link to post
Share on other sites

Это не причем.

В терминале у меня открыты все три сервера, но сессия обрывалась только на первых двух (а теперь уже на всех трех).

Share this post


Link to post
Share on other sites

Похожая ситуация переодически всплывает на 9 ветках FreeBSD и так же pf. Тенденцию почему так происходит пока что еще не удалось выявить. Но настройки sshd_config трогать не стал.

 

#ClientAliveInterval 30
#ClientAliveCountMax 0

Share this post


Link to post
Share on other sites

Почитайте логи на серверах.

Посмотрите vmstat -z

потрогайте конфиг на предмет кипалива.

ещё может вам стоит в пф сделать отдельное правило для вашего офиса на ссш, где будет простой кип стейт - есть подозрение что у вас может стейтов не хватать в пф либо что то связанное с агрессивностью соединений через пф.

Share this post


Link to post
Share on other sites

В логах криминала не вижу.

Посмотрите vmstat -z

А на что обращать внимание?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this