Вопрос или проблема
Я установил сервер OpenVPN на удаленный Ubuntu на VPS (пример моего статического IP: 67.111.111.111) и настраивал его много раз, используя разные похожие инструкции, где server.conf
является наиболее распространенным:
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
server 10.8.0.0 255.255.255.0
keepalive 10 120
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
explicit-exit-notify 1
Я использую клиент OpenVPN для Windows, чтобы подключиться к удаленному серверу. Он подключается с адресами IPv4 10.8.0.2
и IPv6 fd42:...
! Некоторый трафик, судя по статистике в приложении, идет, но на этом все! Дальше ничего не происходит.
Нет веб-серфинга и отсутствуют пинги к доменам или IP-адресам, кроме пинга к IP моего сервера ping 67.111.111.111
Моя сеть выглядит так – МОЙ_КОМПЬЮТЕР -> МОЙ_РОУТЕР (wifi) -> сервер OpenVPN@67.111.111.111
Пожалуйста, помогите с настройками маршрутизации, необходимыми как на сервере OpenVPN, так и на МОЕМ_КОМПЬЮТЕРЕ и МОЕМ_РОУТЕРЕ
ПС: Маршрутизация – это настоящий кошмар, потому что я абсолютно новичок в этом.
Ответ или решение
Чтобы успешно настроить OpenVPN сервер на удаленной Ubuntu и использовать клиент OpenVPN на Windows за маршрутизатором, важно убедиться, что весь трафик правильно маршрутизируется. В вашем случае, вы описали следующие ключевые моменты: вы можете пинговать свой сервер и наблюдать некоторый трафик, но не можете выходить в интернет. Ниже представлено пошаговое руководство, которое поможет вам настроить маршруты как на сервере, так и на клиенте.
1. Настройка OpenVPN сервера на Ubuntu
Ваш файл конфигурации server.conf
имеет основные элементы, но необходимо убедиться, что на сервере правильно настроены маршруты и проброс портов.
Шаги:
-
Разрешите IP-адресацию: Убедитесь, что на сервере включена IP-адресация (IPv4 forwarding). Для этого выполните команду:
echo 1 > /proc/sys/net/ipv4/ip_forward
Чтобы сделать это изменение постоянным, откройте файл
/etc/sysctl.conf
и раскомментируйте или добавьте строку:net.ipv4.ip_forward = 1
-
Настройте iptables для проброса трафика:
Выполните следующую команду, чтобы разрешить NAT (Network Address Translation) для вашего VPN-сети:sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
Замените
eth0
на ваш внешний интерфейс, если он называется иначе (можно проверить черезip a
). -
Сохраните правила iptables:
Чтобы эти правила сохранились после перезагрузки, установите пакетiptables-persistent
(если он еще не установлен):sudo apt-get install iptables-persistent
2. Настройка OpenVPN клиента на Windows
При настройке клиента убедитесь, что ваш конфигурационный файл корректен и подразумевает использование маршрута.
Шаги:
-
Добавьте маршруты в конфигурацию клиента:
Если вы используете конфигурацию.ovpn
, добавьте строку, чтобы автоматически настроить маршруты:redirect-gateway def1
Эта команда направит весь ваш интернет-трафик через OpenVPN. Если необходимо использовать только определенные IP-адреса или домены, то используйте
route
для добавления необходимых маршрутов. -
Проверьте настройки DNS:
Важно также убедиться, что OpenVPN клиент получает правильные DNS-серверы. Добавьте следующую строчку, чтобы использовать DNS-серверы Google:dhcp-option DNS 8.8.8.8 dhcp-option DNS 8.8.4.4
3. Настройка маршрутизатора
На маршрутизаторе, который вы используете, необходимо проверить следующие параметры:
Шаги:
-
Проверьте, что маршрутизатор не блокирует соединения. Убедитесь, что на вашем маршрутизаторе нет запрещенных портов для UDP 1194, которые блокируют ваш OpenVPN трафик.
-
Настройте проброс портов (Port Forwarding): Направляйте внешние соединения (входящие) на порт 1194 вашего серверного IP-адреса (например, 67.111.111.111).
-
Настройте DMZ: Если у вас есть возможность, временно на маршрутизаторе настройте DMZ на ваш устройство с OpenVPN сервером. Это даст вам представление, является ли проблема в маршрутизации на стороне вашего маршрутизатора.
4. Тестирование конфигурации
После всех изменений необходимо протестировать вашу конфигурацию.
-
Сначала выполните:
ping 10.8.0.1
Это позволит проверить, работает ли связь с сервером.
-
Далее попробуйте выполнить:
ping 8.8.8.8
и
ping google.com
Если оба пинга проходят, то ваше соединение настроено корректно.
Заключение
Настройка OpenVPN требует обширного понимания сетевой конфигурации и маршрутизации. Следуйте этим рекомендациям, чтобы устранить проблемы с маршрутизацией и обеспечить доступ к интернету через ваш VPN на Windows. Если возникнут дополнительные сложности, рекомендую обратиться к более детальным инструкциям по OpenVPN, так как они могут варьироваться в зависимости от специфики вашей сети.