Назад | Перейти на главную страницу

Почему sshd игнорирует запросы на соединение с определенных IP-адресов?

Две машины дома, за жилым кабельным модемом и роутером:

Gaia: Кубунту 10.04, 192.168.0.103

пиксель: Ubuntu 10.04, 192.168.0.104

маршрутизатор: DLink DI-52, 1.1.1.1 (не настоящий IP). Маршрутизатор настроен для пересылки портов 23 и 10002 на pixel: 22 и для пересылки портов 22 и 10001 на gaia: 22.

Два внешних хоста в разных сетях в разных состояниях:

Зевс: CentOS, IP 2.2.2.2 (не настоящий IP) в Техасе

арго: Kubuntu 10.04, IP 3.3.3.3 (не настоящий IP) в Калифорнии

Если я SSH из Зевс к маршрутизатор: 22,: 23,: 10001 или: 10002, он подключается нормально (к gaia, pixel, gaia и pixel соответственно).

Если я SSH из арго к маршрутизатор: 23 или: 10002, он подключается к пиксель хорошо. Если я SSH из арго к маршрутизатор: 22 или: 10001, он не подключается к Gaia; на SYN-пакет никогда не отвечают (я наблюдал это с Wireshark на Gaia чтобы убедиться, что Gaia не отправляет ничего обратно арго). Также протестирован с другими хостами в той же сети, что и арго; никто из них не продвинется дальше. Дамп SSH (-vvv) выглядит так:

@@ 08:29:04 Sat Sep 18 [user@argo - ~]$ ssh 1.1.1.1 -vvv
OpenSSH_5.3p1 Debian-3ubuntu4, OpenSSL 0.9.8k 25 Mar 2009
debug1: Reading configuration data /home/user/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 1.1.1.1 [1.1.1.1] port 22.
debug1: connect to address 1.1.1.1 port 22: Connection timed out
ssh: connect to host 1.1.1.1 port 22: Connection timed out
@@ 08:39:00 Sat Sep 18 [user@argo - ~]$ 

А теперь, чтобы сделать ситуацию еще более странной: у меня есть VPN-клиент на Gaia что позволяет мне обойти включенный брандмауэр аргокорпоративная сеть. Этот VPN-клиент дает Gaia дополнительный IP (172.16.1.1, опять же не настоящий). Если я попробую ssh на ЭТО IP из арго, он отлично подключается.

Итак, мой вопрос: что, черт возьми, происходит? Делает Gaia почему-то просто не нравится IP, который арго использует? Gaia - это установка Kubuntu двухдневной давности, и я не делал ничего странного, например, настраивал определенные диапазоны IP-адресов для блокировки подключения к sshd. И не похоже, что это может быть что-то в пакете SYN, которое Gaia не нравится, так как он позволит арго подключитесь, если это к IP-адресу VPN.

РЕДАКТИРОВАТЬ: Я только что обнаружил, что эта проблема возникает только тогда, когда VPN-клиент работает на Gaia. Как только я его отключу, арго можно подключиться к Gaia через публичный IP-адрес. Есть идеи, почему это должно быть?

РЕДАКТИРОВАТЬ 2: Мое следующее предположение состоит в том, что клиент VPN сообщает стеку IP игнорировать любые пакеты, исходящие с общедоступного IP-адреса корпоративного брандмауэра, чтобы убедиться, что пока VPN активен, все данные из Gaia в корпоративную сеть проходит через VPN, а не через публичный брандмауэр. Это не вызывает у меня серьезных проблем, потому что я все еще могу напрямую подключиться по SSH к Gaia используя его IP-адрес VPN вместо IP-адреса маршрутизатора, но это немного сбивает с толку.

О чувак. Я буду здесь совершенно честен. Я не совсем понимаю вашу проблему. Не потому, что вы неправильно это сформулировали, просто это довольно сложно. Теперь у меня болит мозг.

При этом есть несколько вещей, на которые вы должны обратить внимание. Самыми очевидными из них являются правила брандмауэра на серверах и списки доступа на маршрутизаторах. Достаточно одной опечатки, чтобы ваша сеть казалась сбивающей с толку. Картинка может помочь? знак равно

Другой вопрос: Раздельное туннелирование включен. Это считается угрозой безопасности, поэтому часто рекомендуется отключать. Но это может привести к тому, что компьютеры не получат доступ к сетям, которые не находятся по другую сторону VPN. Возможно, это мешает вашим попыткам подключения.


- Кристофер Карел

Однажды я столкнулся с проблемой с OpenBSD, я думаю, где SSHD был настроен так, чтобы не принимать соединения от источник tcp порты ниже 1000 или что-то подобное - это меня чертовски озадачило, пока я не нашел его. Симптомы были схожи - я мог подключиться с одной машины, но не с другой, без всякой причины.

Однако, учитывая предыдущие комментарии о VPN и раздельном туннелировании, это более вероятная причина.