В настоящее время я использую компьютер с Ubuntu Server, на котором работает клиент OpenVPN, использующий туннельное соединение. Несмотря на то, что я хочу, чтобы сетевые данные проходили через VPN-туннель, я также хочу получить доступ к машине из общедоступной сети с помощью переадресации портов (чтобы разрешить запуск веб-сервера на машине, доступной вне дома).
Используя некоторые посты на других форумах, я смог настроить несколько пользовательских сетевых таблиц и маршрутов, чтобы позволить определенной сети через определенные порты проходить через мой обычный сетевой интерфейс. Это прекрасно работает, и вся моя сетевая активность теперь проходит через VPN-клиент по умолчанию, а сетевая активность на указанных мной портах теперь проходит через мой физический сетевой интерфейс, что позволяет мне открывать веб-браузер и просматривать эту машину, используя порт 80.
Однако проблема, с которой я сейчас сталкиваюсь, заключается в том, что с этими пользовательскими таблицами и маршрутами я не могу просмотреть компьютер (например, 192.168.0.110) локально в той же сети (например, из 192.168.0.27). Когда я пытаюсь открыть веб-браузер и перейти к порту 80 на компьютере, через некоторое время я получаю тайм-аут. Интересно то, что когда я использую свой публичный IP-адрес с помощью переадресации портов, я могу получить доступ к машине через порт 80 очень хорошо. Когда я удаляю либо пользовательские настройки таблицы, либо пользовательский маршрут для доступа «без VPN», я снова могу получить доступ к машине локально, но это нарушает доступ из публичной сети.
Я пытался найти людей в Интернете с похожими проблемами, но я, похоже, не смог найти ничего, связанного с проблемой, с которой я столкнулся.
У меня возникает ощущение, что, поскольку я добавил эти пользовательские таблицы и маршруты, ответ от компьютера с Ubuntu перенаправляется на шлюз по умолчанию, а не напрямую на компьютер, который отправил запрос на компьютер с Ubuntu.
Это моя таблица конфигурации mangle:Скриншот
Я использую эти команды для настройки правила и маршрута для таблицы:Снимок экрана
Есть ли в любом случае представление о том, что я делаю здесь неправильно и как я могу получить доступ к машине через порт 80 как внутри, так и снаружи моей локальной сети?
TLDR; Я использовал пользовательские таблицы и маршруты, чтобы разрешить маршрутизацию некоторых портов с использованием моего шлюза по умолчанию, чтобы разрешить доступ к машине, даже если на ней запущен VPN-клиент. По какой-то причине это делает невозможным доступ к машине через порт 80 локально, хотя возможно использовать этот порт, используя мой внешний ip-адрес и переадресацию портов.