У меня есть два сервера CentOS 5 с iptables и apf.
У меня проблемы с подключением по ssh с сервера 1 к серверу 2. Я могу подключиться с сервера 1 к третьему серверу, а с этого третьего сервера - к 1 и 2.
Во всех случаях я использую IP-адрес, а не имя хоста.
Я остановил iptables и apf на всех серверах, и, похоже, это ничего не меняет.
Как лучше всего отладить этот процесс?
На сервере запустите демон ssh на другом порту с включенной отладкой и подключитесь к нему с помощью клиента ssh с флагом подробного вывода. Как в:
sshd -ddd -p 2222
И на клиенте (server1) попробуйте:
ssh -vvv -p 2222 server2
Это типичный первый шаг, если у вас нет других данных для начала. Если это не поможет (не дает дополнительных подсказок), я бы попробовал strace или ltrace против обычного sshd на server2.
Удачи.
Общая процедура здесь должна заключаться в устранении классов проблем, чтобы сузить круг вопросов, как и при любом устранении неисправностей. Первоначально я думал, что ваш вопрос касается ssh (в частности, OpenSSH в Linux), и проверка сообщений отладки является правильным первым шагом, если у вас есть проблема ssh между двумя хостами.
Однако вы упомянули, что другие приложения между этими двумя блоками не работают, а это значит, что это не проблема конкретного приложения. Отладка OpenSSH может помочь, но стоит предположить, что есть что-то общее для всех этих протоколов (сети), в котором есть проблема. Более того, вы говорите, что третий сервер может подключиться к server2 ... так что это устраняет огромное количество потенциальных проблем.
На данный момент я предполагаю, что, исходя из тайм-аута соединения и другой информации, у вас есть проблема с iptables либо на сервере, либо на клиенте, что-то установлено на DROP-пакеты, исходящие от клиента или входящие на сервер, но только от этот ящик, а не другие. Меня затрудняет мое незнание APF в этом отношении, я просто использую стандартные iptables.
Если iptables полностью отключен (со сбросом политик цепочки на ACCEPT), то вы должны предположить, что это более общая проблема сети. Я спросил о сетевой маске, потому что думал об аналогичных проблемах, которые видел в далеком прошлом, когда ящики в разных подсетях могли разговаривать, но ящики в той же подсети не работали. Если «server3» находится в другой сети и все еще может подключаться к server1 и server2, то это не проблема маршрутизации.
Какой бы здесь ни был ответ, мне любопытно.