Openswan / IPtables: Подделка уникального IP-адреса через VPN-туннель

Контекст:

Я запускаю набор экземпляров в среде Google Compute. Каждый хост имеет один интерфейс с одним IP в частном диапазоне 10.0.0.0.

У меня есть внешние клиенты, которым требуется подключение к этим экземплярам через VPN-соединение. Однако из-за своего размера этим клиентам требуется уникальный "настоящий" IP-адрес в качестве цели. (Чтобы избежать риска иметь несколько клиентов с одним и тем же частным адресом.) До перехода в Google мы могли закрепить эти соединения во внутренней сети с помощью Cisco ASA и виртуальных общедоступных интерфейсов, но статические внешние адреса, которые подключаются к экземплярам GCE, могут не надоедать с помощью инструментов Google VPN / Routing, так что это не вариант. (Я подтвердил это в службе поддержки Google.)

Предлагаемое решение:

Я зарезервировал статический адрес в среде GCE (назовем его 5.xxx)

В среде GCE у меня есть Ящик Openswan, который может маршрутизироваться во внутреннюю сеть через соединение ipsec с удаленного ASA. Я могу пинговать хосты в частной сети GCE из этой удаленной сети. (когда 10.0.0. 0/16 настроен как цель)

Теперь цель состоит в том, чтобы изменить цель для конфигурации VPN на адрес 5.xxx, а затем перевести эту цель с помощью iptables в поле GCE Openswan, чтобы указать на конкретный IP-адрес. (10.xxx) в частной сети. Я настроил iptables так, чтобы пинги на адрес 5.xxx правильно транслировались в самом поле Openswan, но до сих пор мне не повезло с этой работой для хостов за ASA.

Iptables выглядит так:

# iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
DNAT       all  --  anywhere             x.x.x.5.bc.googleusercontent.com  to:10.x.x.x

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
DNAT       all  --  anywhere             x.x.x.5.bc.googleusercontent.com  to:10.x.x.x

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination

Мы будем очень благодарны за любую помощь. Это была проблема, которую мы не ожидали, когда перешли в Google, но я подозреваю, что она повлияет на многих крупных клиентов в будущем. Мы надеемся, что они в конечном итоге предложат решение, но пока это то, что у нас есть.

0
задан 6 January 2017 в 05:37
1 ответ

Вы можете установить несколько внутренних статических IP-адресов для каждого экземпляра виртуальной машины, используя маршруты Google Compute Engine. Для получения инструкций посетите эту статью .

1
ответ дан 4 December 2019 в 16:23

Теги

Похожие вопросы