Маршрутизация OpenVPN в несколько сетей

Маршрутизация OpenVPN в несколько сетей

Я хочу подключить vpn-клиент к vpn-серверу, а затем, чтобы этот клиент также предлагал vpn-сервер. Я просто не могу получить правильную маршрутизацию.

Я попытаюсь объяснить конечную цель.

очень быстрый рисунок сети, я думаю

Мне бы хотелось, чтобы все клиенты на стороне сервера/клиента могли взаимодействовать с каждой системой на левой стороне, а также чтобы маршрут шел в обратном направлении.

Я делаю это уже несколько часов и никак не могу правильно проложить маршрут.

Помогите, пожалуйста.

решение1

(Предполагается, topology subnetчто они используются для всех серверов и клиентов. Ответ может применяться или не применяться к подходу tap.)

Чтобы проложить маршрут из 10.8.0.0/24в 10.10.0.0/24, вам просто нужно:

  1. разрешить пересылку IP между двумя интерфейсами tun на10.8.0.1/24
  2. проталкивать маршрут 10.10.0.0/24своим клиентам, чтобы убедиться, что трафик будет направлен в туннель.

Немного сложнее маршрутизировать из 10.10.0.0/24в 10.8.0.0/24. По сути, на этой стороне вам нужно маршрутизировать через клиента, а не сервер. Вы можете подумать, что установка нужного "клиента шлюза" как у route-gatewayдругих клиентов будет достаточной. Но на самом деле это даже не имеет значения.

Чтобы сделать определенного клиента шлюзом определенного маршрута ( 10.8.0.0/24в данном случае), вам необходимо сделать следующее:

  1. добавьте для него файл "CCD" ( --client-config-dirподробнее см. в руководстве OpenVPN) с его общим именем (CN) в качестве имени файла. В файле добавьте iroute 10.8.0.0 255.255.255.0.
  2. добавить client-to-clientв конфигурацию сервера 10.10.0.1/24.
  3. добавьте файл "CCD" с именем DEFAULT. В файле добавьте push "route 10.8.0.0 255.255.255.0".
  4. добавьте route 10.8.0.0 255.255.255.0в конфигурацию сервера, 10.10.0.1/24если вы хотите получить 10.8.0.0/24с него доступ (или если вы хотите этого избежать client-to-client).

EDIT: client-to-clientможно избежать, если также разрешить IP-пересылку между двумя интерфейсами tun на 10.10.0.1/24. Без client-to-client, irouteбудет применяться только к самому серверу. В этом случае трафик клиентов будет маршрутизироваться «внутренне» 10.10.0.1/24сначала к , а затем 10.8.0.1/24(из-за routeи , irouteприменяемого к серверу).

Связанный контент