Клиент OpenVPN прекрасно работает на Android и Windows. На Linux Mint он подключается, но не может получить доступ к веб-сайтам и локальным IP в сети VPN.

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

Я использую сервер openvpn на своем роутере Asus.

IP-шлюз маршрутизатора: 192.168.50.1

Подсеть VPN сервера установлена на 192.168.100.0

Страница сервера openvpn Asus

Я скачал файл ovpn со страницы маршрутизатора и использовал его на своем Android-телефоне. Все работает отлично на Android. Я могу получить доступ ко всем сайтам и могу также подключиться к SSH для компьютеров, подключенных к моему роутеру, используя их частный IP.

В Linux Mint я пытался подключиться с командной строки, используя

sudo openvpn --config file.ovpn

Подключение успешно, но я не могу получить доступ к каким-либо сайтам и не могу получить доступ к локальной сети через VPN.

IP маршрут до подключения к VPN

$ ip route
default via 10.0.0.1 dev wlp3s0 proto dhcp src 10.0.0.14 metric 600 
10.0.0.0/24 dev wlp3s0 proto kernel scope link src 10.0.0.14 metric 600 

IP маршрут после подключения к VPN

$ ip route
0.0.0.0/1 via 192.168.100.9 dev tun0 
default via 10.0.0.1 dev wlp3s0 proto dhcp src 10.0.0.14 metric 600 
10.0.0.0/24 dev wlp3s0 proto kernel scope link src 10.0.0.14 metric 600 
67.191.107.66 via 10.0.0.1 dev wlp3s0 
128.0.0.0/1 via 192.168.100.9 dev tun0 
192.168.50.0/24 via 192.168.100.9 dev tun0 metric 500 
192.168.50.1 via 192.168.100.9 dev tun0 
192.168.100.1 via 192.168.100.9 dev tun0 
192.168.100.9 dev tun0 proto kernel scope link src 192.168.100.10 

Результаты моих проверок пингом

$ ping -c3 192.168.50.1
PING 192.168.50.1 (192.168.50.1) 56(84) байт данных.

--- Статистика ping для 192.168.50.1 ---
Отправлено пакетов: 3, получено: 0, потери: 100%, время 2084мс


$ ping -c3 1.1.1.1
PING 1.1.1.1 (1.1.1.1) 56(84) байт данных.

--- Статистика ping для 1.1.1.1 ---
Отправлено пакетов: 3, получено: 0, потери: 100%, время 2032мс

Есть идеи, как можно продолжить диагностику?

Мне удалось решить проблему.

Я удалил Openvpn, выполнив

sudo apt purge openvpn
sudo apt autoremove

Я установил его, используя эту страницу https://community.openvpn.net/openvpn/wiki/OpenvpnSoftwareRepos

Затем я включил сжатие на VPN сервере. Теперь все работает отлично

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

Давайте разберем эту проблему более детально. У вас установлен сервер OpenVPN на маршрутизаторе Asus, который правильно работает на Android и Windows, но на Linux Mint возникают проблемы с доступом к интернету и локальной сети через VPN. Попробуем проанализировать возможные источники неполадки и предложить решения.

Теория

OpenVPN — это мощный инструмент для создания защищенных туннелей между устройствами. Это приложение позволяет маршрутизировать весь трафик через безопасные серверы, защищая данные от перехвата. Однако для корректной работы необходимо правильно настроить параметры маршрутизации и DNS.

Обычно проблемы доступа возникают из-за неправильной конфигурации маршрутизации или недостаточных прав доступа (например, firewall или SELinux). В ходе диагностики вы обнаружили, что после подключения к VPN появляются маршруты 0.0.0.0/1 и 128.0.0.0/1, которые перекрывают основной шлюз вашего провайдера (10.0.0.1). Это говорит о попытке OpenVPN перенаправить весь трафик через VPN, что является стандартным поведением, если настраивается "пуш" всех маршрутов с сервера на клиента.

Пример

При настройке OpenVPN сервер может "пушить" маршруты и DNS-контфигурации клиенту, чтобы заставить его использовать VPN для всех подключений. Судя по всему, у вас есть настроенный маршрут к локальной сети вашего маршрутизатора (192.168.50.0/24) и интернету (трафик переключается через 0.0.0.0/1 и 128.0.0.0/1). Однако пинг к локальному шлюзу (192.168.50.1) и внешним IP-адресам (например, 1.1.1.1) не проходит, указывая на проблемы с маршрутизацией или фильтрацией.

Еще одной причиной могут быть настройки фаервола, которые блокируют VPN-трафик или перевод на DNS-серверы, которые не резолвят адреса.

Применение

  1. Проверка конфигурации OpenVPN

    Проверьте ваш конфигурационный файл .ovpn, используемый в Linux, и сравните его с конфигурацией на девайсах Android и Windows. Будьте уверены, что все параметры совпадают, особенно параметры маршрутизации и DNS.

  2. Маршрутизация и DNS

    После подключения к OpenVPN серверу проверьте правильность установленных маршрутов и DNS:

    route -n
    cat /etc/resolv.conf

    Убедитесь, что установлены корректные маршруты и DNS записи. Если DNS серверы не были корректно настроены, попробуйте вручную добавить их в файл /etc/resolv.conf.

  3. Настройка фаервола

    Проверьте настройки фаервола (например, iptables). Возможно, они блокируют или неправильно направляют трафик по новому tun интерфейсу. Например, откройте необходимые порты и убедитесь, что NAT правил нет для блокировки.

  4. Тонкости конфигурации

    Иногда OpenVPN использует компрессию для оптимизации работы. Убедитесь, что локальный клиент OpenVPN поддерживает настройки компрессии, используемые сервером. Ранее вы упомянули, что включение компрессии на сервере решило проблему, что как раз указывает на важность этого параметра.

  5. Диагностика подключения

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

  6. Журналы

    Проверьте логи OpenVPN на клиенте, запустите openvpn с флагом --verb 4 для детального вывода, это дает возможность обнаружить проблемы в инициализации и установлении соединения.

  7. ПерекоIfaустенации оборудования

    Перезагрузите клиент и убедитесь, что клиенту назначен правильный IP, и он привязывается к правильному интерфейсу (tun0 в данном случае).

Таким образом, правильная диагностика включает в себя всесторонний подход к решению проблем. Важно проверить настройки маршрутизации, конфигурации DNS и убедиться в отсутствии ограничений фаервола, а также в том, что используемые протоколы и окружение клиента совместимы с сервером. Надеюсь, эти рекомендации помогут вам без проблем использовать OpenVPN на Linux Mint.

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

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