Как правильно настроить маршрутизацию в OpenVPN?

Добрый день! У меня настроен сервер OpenVPN с IP 10.20.0.1, и для клиентов выделена сеть 10.30.0.0. Я создал директорию ccd и добавил файл с именем клиента, в котором указал iroute 10.21.0.0 255.255.255.0. Однако маршрутизация не работает, и я не могу получить доступ к другим сетям 10.21.0.1 и 10.22.0.1, хотя в логах есть соответствующие записи. Можете подсказать, куда стоит обратить внимание для решения этой проблемы? 

Привожу логи:
<pre><code>OPTIONS IMPORT: reading client specific options from: /etc/openvpn/ccd/client1
client1/92.255.201.62:3784 MULTI: Learn: 10.30.0.4 -&gt; client1/15.28.158.62:3784
client1/92.255.201.62:3784 MULTI: primary virtual IP for client1/15.28.158.62:3784: 10.30.0.4
client1/92.255.201.62:3784 MULTI: internal route 10.21.0.0/24 -&gt; client1/15.28.158.62:3784
client1/92.255.201.62:3784 MULTI: Learn: 10.21.0.0/24 -&gt; client1/15.28.158.62:3784</code></pre>

Конфигурация сервера:
<pre><code>port 1194

# Протокол, который использует OpenVPN
;proto tcp
proto tcp

# Интерфейс
;dev tap
dev tun
topology subnet 
# Ключи

# Сертификат CA
ca /etc/openvpn/certs/ca.crt
# Сертификат сервера
cert /etc/openvpn/certs/server.crt
# Приватный ключ сервера
key /etc/openvpn/certs/server.key #не распространяется и хранится в секрете

# параметры Diffie Hellman
dh /etc/openvpn/certs/dh2048.pem

# Создание виртуальной сети и ее параметры

# IP и маска подсети
server 10.30.0.0 255.255.255.0

# После перезапуска сервера клиенту будет выдан прежний IP
ifconfig-pool-persist /etc/openvpn/ipp.txt

# Установка шлюза по умолчанию
push "redirect–gateway def1 bypass–dhcp"

# Разрешить использовать нескольким клиентами одну и ту же пару ключей
# не рекомендуется использовать, закомментирована
;duplicate–cn

# Пинговать удаленный узел с интервалом в 10 секу</code></pre>
  • 18 сентября 2024 г. 18:23
Ответы на вопрос 1
Для правильной маршрутизации в OpenVPN, нужно проверить несколько ключевых моментов, включая настройки сервера и клиента. Судя по вашей конфигурации и логам, выглядит так, что вы на правильном пути, но есть некоторые аспекты, которые стоит уточнить:

1. **iroute настройка**:
   В файле конфигурации клиента в `ccd` папке вы указали:
   ```
   iroute 10.21.0.0 255.255.255.0
   ```
   Убедитесь, что вы также добавили соответствующий `route` на сервере, чтобы указать, как маршрутизировать трафик в эту подсеть. Это должно выглядеть так:
   ```
   route 10.21.0.0 255.255.255.0
   ```

2. **Настройки взаимодействия между сетями**:
   Вам нужно убедиться, что ваш сервер OpenVPN может обмениваться пакетами между сетями. Для этого настройте маршруты на вашем OpenVPN сервере так, чтобы пакеты, направленные в сети 10.21.0.0 и 10.22.0.0, могли быть обработаны правильно. Например:
   ```
   route 10.22.0.0 255.255.255.0
   ```

3. **Проверка конфигурации клиента**:
   На клиентской стороне необходимо убедиться, что клиент получает маршруты для доступа к другим сетям. Например, необходимо убедиться, что в конфигурации клиента есть строки, которые включают маршруты для сетей, к которым он должен иметь доступ.

4. **Проверка правил iptables (если это применимо)**:
   Убедитесь, что на сервере OpenVPN разрешен трафик для всех сетей, с которыми вы хотите взаимодействовать. Если вы используете `iptables`, добавьте соответствующие правила, например:
   ```
   iptables -A FORWARD -i tun0 -j ACCEPT
   iptables -A FORWARD -o tun0 -j ACCEPT
   ```

5. **Проверка маршрутов на клиенте**:
   После соединения с сервером OpenVPN выполните команду `route -n` или `ip route` на клиенте, чтобы убедиться, что маршруты для подсетей 10.21.0.0 и 10.22.0.0 действительно добавлены в таблицу маршрутов. Если вы там не видите нужные маршруты, это указывает на проблемы с передачей маршрутов от сервера.

6. **Перезапуск OpenVPN**:
   Иногда изменения конфигурации не применяются до тех пор, пока вы не перезапустите сервер OpenVPN. После внесения изменений в файлы конфигурации обязательно перезапустите OpenVPN:
   ```bash
   sudo systemctl restart openvpn@server
   ```

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