Один сервер недоступен из VPN, но доступен из LAN.

Вопрос или проблема

У меня есть несколько серверов за маршрутизатором, который требует VPN для подключения к ним, и это работало в течение нескольких месяцев. На этой неделе один из них начал отклонять SSH соединения с VPN, но другие компьютеры в LAN могут к нему подключаться.

Диагностика

  • Когда я пытаюсь подключиться по SSH, я вижу пакеты в tcpdump маршрутизатора, но не на сервере.
  • Используя интерфейс pfSense, маршрутизатор может пинговать его с интерфейса LAN и клиентов OpenVPN, но не с интерфейса сервера OpenVPN. Другие машины, которые работают нормально, отвечают на пинги от сервера OpenVPN.
  • Я добавил правило разрешения NAT из OpenVPN на IP-адрес и порт проблемного компьютера.

Дополнительная информация

Маршрутизатор использует pfSense CE и OpenVPN. Сервер работает под управлением Ubuntu 24.04.

Машина, которая вызывает у нас проблемы, — это единственная, которая использует нестандартный SSH порт, но так было и раньше. Я добавил следующие строки в /etc/ssh/sshd_config

Port 22
Port 51345  # Старый порт

После этого я выполнил systemctl daemon-reload и systemctl restart ssh, но порт 22 по-прежнему закрыт, даже для машин в LAN, и как сообщается nmap.

sshd -T не сообщает об ошибках.

ufw отключен на проблемном хосте.

Никто не признался, что менял что-либо в конфигурации перед тем, как это сломалось.

В LAN нет дополнительной сегментации.

Ответ или решение

Проблема с недоступностью сервера через VPN

Когда вы сталкиваетесь с ситуацией, подобной описанной, важно понимать, что проблема может возникать из различных источников. Давайте рассмотрим ваши выводы и возможные пути для решения проблемы более подробно.

1. Понимание конфигурации и маршрутного регулирования

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

2. Данные о маршрутизации и NAT

Вы упомянули о том, что добавили правило NAT для разрешения соединений от OpenVPN к IP-адресу проблемного сервера. Убедитесь, что правило правильно настроено и соответствует необходимому протоколу и порту (51345). Кроме того, проверьте, охватывает ли правило NAT все необходимые IP-адреса OpenVPN-клиентов.

  • Проверка правил Firewall: Убедитесь, что на маршрутизаторе pfSense правила Firewall не блокируют трафик к этому серверу. Это можно сделать через интерфейс pfSense, в разделе "Firewall Rules", где необходимо убедиться, что правила для OpenVPN включают разрешение на проход с OpenVPN интерфейса к внутреннему IP сервера.

3. Проблемы с SSH

Вы указали, что сервер использует нестандартный порт для SSH (51345). На первый взгляд, можно предположить, что сервер вообще не принимает соединения на этом порту. Так как команды sshd -T не указывают на наличие ошибок, проблема может заключаться в том, что служба SSH не запущена на порту 51345.

Шаги для диагностики:

  • Проверка конфигурации SSH: Убедитесь, что конфигурация в файле /etc/ssh/sshd_config корректна. Чтобы исключить возможность несовместимости, вы можете временно отключить порт 22, чтобы стартовать только с 51345.

  • Проверка запущенных служб: Команда netstat -tuln | grep 51345 покажет, прослушивает ли сервер этот порт. Если нет, возможно, служба SSH не запущена или возникла проблема с конфигурацией.

  • Логи SSH: Проверьте системные логи, например командой journalctl -xe или tail -f /var/log/auth.log, на наличие ошибок или сообщений о проблемах с SSL-соединениями.

4. Устранение неполадок с pfsense

Поскольку вы можете пинговать сервер из интерфейса LAN маршрутизатора, но не из интерфейса OpenVPN, это может указывать на проблемы с маршрутизацией пакетов обратно к OpenVPN-клиентам.

  • Дополнительные правила NAT: Убедитесь, что правила NAT и маршрутизации включают возврат пакетов с сервера обратно к OpenVPN.

  • Тестирование через telnet: Для дополнительных тестов соединения можете использовать telnet <IP-адрес_сервера> 51345 с клиентских машин для проверки работы порта напрямую.

Заключение

Приняв во внимание все упомянутые аспекты, вы сможете более четко определить источник проблемы и устранить ее. Начните с проверки конфигурации SSH и правил NAT, далее проанализируйте логи и убедитесь, что все сетевые настройки согласованы. Если после всех шагов проблема останется, возможно, стоит рассмотреть перезагрузку сетевых служб или маршрутизатора для устранения временных неполадок.

Оцените материал
Добавить комментарий

Капча загружается...