Как настроить подключение к Интернету через OpenVPN, используя в качестве шлюза другой клиент?

Как настроить маршрутизацию на OpenVPN сервере, чтобы клиент Comp1 мог получить доступ в Интернет через роутер Keenetic вместе с клиентом OpenVPN с IP-адресами 10.8.0.4 и 10.8.0.3?
  • 4 апреля 2024 г. 8:39
Ответы на вопрос 2
Для настройки подключения к Интернету через OpenVPN используется конфигурационный файл клиента OpenVPN. В этом файле необходимо добавить параметры, указывающие новый шлюз. 

Например, в конфигурационном файле клиента OpenVPN можно добавить следующую строку:

```
route-gateway 192.168.1.1
```

где 192.168.1.1 - адрес шлюза (в данном случае другого клиента), через который будет осуществляться доступ в Интернет.

Для настройки маршрутизации на OpenVPN сервере необходимо добавить правила маршрутизации. Например, на Linux сервере можно добавить следующие правила:

```
iptables -t nat -A POSTROUTING -s 10.8.0.3 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.8.0.4 -o eth0 -j MASQUERADE
```

где 10.8.0.3 и 10.8.0.4 - IP-адреса клиентов OpenVPN, eth0 - интерфейс сервера OpenVPN, через который идет доступ в Интернет.

Таким образом, после настройки маршрутизации и подключения к OpenVPN через другого клиента, клиент Comp1 будет иметь доступ в Интернет через роутер Keenetic.
Самый простой вариант — настроить L2-туннель (TAP) и маршрутизировать трафик средствами таблиц маршрутизации операционной системы, как если бы вы делали это в физическом Ethernet. 
Android и iOS не поддерживают TAP, не смогут присоединиться к такому серверу.

Вариант с L3-туннелем (TUN) тоже можно настроить, но он все клиенты сервера будут использовать канал Keenetic, без возможности конфигурации.
В конфигурационном файле на сервере:
client-to-client
client-config-dir ccd

Создать файл ccd/имя_клиента_keenetic с содержимым:
iroute 0.0.0.0 0.0.0.0
Похожие вопросы