Рейтинг:0

Подключитесь к VPN-серверу через VPN-клиент, который является экземпляром NAT.

флаг jp

Основной вопрос заключается в том, как подключиться к vpn-серверу через vpn-клиент, который является экземпляром NAT, позвольте мне описать это.

Сцены 1:

У меня есть группа экземпляров службы (ubuntu 18.04) с именем A

Один экземпляр, который я использую для экземпляра NAT с именем B

и группа A, и экземпляр B находятся в одном и том же vpc, A не имеет общедоступного IP-адреса, B имеет один открытый IP-адрес, и я использовал B в качестве NAT и установил SNAT в vpc, чтобы группа A могла получить доступ к Интернету через B.

как это:

введите описание изображения здесь

И для группы А (10.0.0.0/16). Я рисую только два экземпляра в группе А, но их много.

поэтому в моей службе B я добавляю правило iptables: iptables -A POSTROUTING -t nat -s 10.0.0.0/16 -j MASQUERADE

это сработало будет.

# показать ip маршрут
по умолчанию через 10.0.1.253 dev eth0 proto dhcp src 10.0.1.157 метрика 100 
10.0.1.0/24 dev eth0 ссылка на область действия ядра proto src 10.0.1.157 
10.0.1.253 dev eth0 proto dhcp scope link src 10.0.1.157 метрика 100

Сцены 2:

Как и в приведенных выше сценах, но теперь я не могу использовать общедоступный IP-адрес B (X) для доступа в Интернет, замененный подключением vpn (openvpn).

который:

введите описание изображения здесь

обратите внимание, что служба C является экземпляром службы vpn, который я не контролирую.

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

# показать ip маршрут
0.0.0.0/1 через 10.8.0.1 dev tun0 
по умолчанию через 10.0.1.253 dev eth0 proto dhcp src 10.0.1.157 метрика 100 
10.0.1.0/24 dev eth0 ссылка на область действия ядра proto src 10.0.1.157 
10.0.1.253 dev eth0 proto dhcp scope link src 10.0.1.157 метрика 100 
10.0.2.0/24 через 10.0.1.157 dev eth0 
10.0.3.0/24 через 10.0.1.157 dev eth0 
10.8.0.0/24 dev tun0 ссылка на область действия ядра proto src 10.8.0.2 
{публичный IP-адрес C здесь} via 10.0.1.253 dev eth0 
128.0.0.0/1 через 10.8.0.1 dev tun0

Хорошо, я надеюсь, что мое описание понятно;


Итак, в этом случае я думаю, что мне нужно делать все, что касается обслуживания B. например B, я перенаправляю весь трафик с eth0 на tun0, поэтому трафик с eth0 будет пересылаться на tun0, а группа A должна иметь доступ в Интернет через B:

iptables -A ВПЕРЕД -i eth0 -o tun0 -j ПРИНЯТЬ
iptables -A FORWARD -i tun0 -o eth0 -m состояние --state УСТАНОВЛЕНО, СВЯЗАННО -j ПРИНЯТЬ
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

Но это не работает, как я ожидал. затем я отлаживаю его, грубо анализируя трафик в B. я получил информацию о том, что B может получить трафик от A. но без ответа.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.