В размещенной среде, где у нас нет контроля над маршрутизаторами, все, что у нас есть, - это внутренняя сеть, сеть DMZ и хост в каждой из них. В демилитаризованной зоне находится сервер RHEL, на котором запущен Openswan и завершается туннель IPsec VPN с другим сайтом.
Системе во внутренней сети необходим доступ к системам на другой стороне туннеля. Идея состоит в том, чтобы создать маршрут на внутреннем хосте, указывающий на хост DMZ как на шлюз, чтобы добраться до хостов на другой стороне туннеля.
На основании исследований выяснилось, что у меня не может быть шлюза в другой подсети, которая не связана со мной напрямую. Так ли это на самом деле и есть ли способ обойти это?
Это команда, которую я запускаю на внутреннем хосте:
route add -host $hostOnOtherSideOfVPN gw $hostInDMZ dev eth0
Я могу получить доступ к хосту в DMZ без каких-либо проблем (ICMP, telnet и т. Д.). Может кто-то указать мне верное направление?
Маршрутизация конечных устройств (не маршрутизаторов) работает с тремя частями информации: вашим IP-адресом, маской подсети и шлюзом по умолчанию. Хост вычисляет IP-адрес и маску подсети, чтобы определить, какие IP-адреса являются «локальными», а какие следует отправить на шлюз по умолчанию для дальнейшей обработки. Итак, ваш шлюз по умолчанию должен находиться в той же подсети, что и вы, иначе конфигурация просто не будет работать.
Вы можете проложить маршрут к другой сети через шлюз по умолчанию, добавив маршрут к этой сети в свой шлюз по умолчанию. Таким образом, трафик проходит по определенному маршруту, а не по маршруту по умолчанию (который в этот момент будет шлюзом по умолчанию маршрутизатора).
Итак, что вам нужно, это:
Локальная локальная сеть ---> DG ---> узел DMZ ---> Локальная конечная точка VPN ---> Удаленная конечная точка VPN ---> Удаленная локальная сеть
Это должно быть выполнено путем добавления маршрута для удаленной LAN в вашем DG, который направляется к локальной конечной точке DMZ VPN. Затем у локальной конечной точки DMZ VPN должен быть маршрут (он может уже существовать благодаря VPN-подключению) к удаленной локальной сети в своей таблице маршрутизации.
Вы можете настроить обратный прокси-сервер SSH между $ DMZHost и $ RemoteHost (s), но в зависимости от количества удаленных хостов и портов удаленных хостов, к которым вам нужно получить доступ на другой стороне, это может быть немного громоздко.
Если это выполнимо, вы должны подключиться к $ DMZHost на перенаправленных портах, которые вы указали в своем туннеле.