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

Хотя сервер подключен к OpenVPN (для доступа к рабочей сети), я не могу подключиться к серверу по SSH. Этот сервер является автономным, поэтому для его использования необходимо иметь возможность подключения по SSH.

На самом деле, я могу подключиться к серверу по SSH, даже если он подключен к OpenVPN, но только когда я нахожусь в той же сети, что и сервер - я не могу подключиться удаленно. Это, вероятно, означает, что возвратные пакеты SSH маршрутизируются через VPN.

Как я могу настроить брандмауэр на сервере для разрешения сеансов SSH?

редактировать

Это может что-то прояснить: Я -> Сервер -> OpenVPN

1 ответ1

1

На стороне сервера, вероятно, включен "redirect-gateway". Это означает, что когда ваш OpenVPN-клиент (ваш сервер Ubuntu) подключается, его маршрут по умолчанию изменяется для перенаправления всего исходящего IP-трафика через VPN.

Вы можете убедиться в этом, сравнив таблицу маршрутизации, когда VPN-соединение находится в автономном режиме, с тем, как оно выглядит, когда ваша VPN-сеть включена:

маршрут -n

Обратите особое внимание на маршрут по умолчанию (0.0.0.0/0).

У вас есть несколько вариантов:

  1. Добавьте статический маршрут на ваш сервер Ubuntu специально для вашего удаленного IP-адреса (даже если это нереальный вариант, поскольку он варьируется, вы можете сделать это для проверки диагностики).

    sudo route add -net /32 gw

  2. Переконфигурируйте сервер OpenVPN, чтобы явно указать, какие сети доступны через него /VPN, и отключите на нем параметр redirect-gateway.

  3. Отметьте пакеты, предназначенные для вашего сервера Ubuntu, и направьте их, используя ваш типичный шлюз по умолчанию, как описано здесь: https://unix.stackexchange.com/a/301364

  4. Сделайте что-то наподобие варианта 3, но, возможно, только для обработки 22 /tcp (SSH) трафика.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .