У меня проблемы с настройкой всего туннеля IPSec.

Что я имею:
1. Маршрутизатор, который имеет только транзитную функцию VPN/IPsec (IP 192.168.0.1)
2. Windows Server 2008 R2 с групповыми политиками, настроенными для туннеля IPSec. (Серверы IP 192.168.0.2; gw 192.168.0.1)
3. На машине с Linux есть приложение (IP 192.168.0.3; gw 192.168.0.2)

Другой конец туннеля IPSec находится в другом месте через Интернет.

Компания на другом конце туннеля сказала мне, что у меня должен быть IP 10.100.101.102 в качестве исходного ip для всех моих пакетов, поступающих в туннель IPSec с машины Linux.

Итак, идея такова:
1. Linux формирует пакет и отправляет на конечный компьютер (111.222.333.444) через определенный порт. So src = 192.168.0.3; ДСТ = 111.222.333.444
2. Пакет отправляется на сервер Windows.
3. Сервер принимает пакет и изменяет src на src = 10.100.101.102, оставляя dst таким же.
4. Сервер шифрует пакет с использованием параметров IPSec и отправляет его на удаленную конечную точку через маршрутизатор.
5. [действия на удаленной конечной точке]
6. Сервер Windows получает ответ и расшифровывает его.
7. Изменяет dst (10.100.101.102) на локальный dst = 192.168.0.3.
8. Отправьте пакет в Linux и приложение.

Как мне достичь всего этого? Я не понимаю, как работает NAT на Windows Server. Я настроил это в «маршрутизации и удаленном доступе», но я не видел никаких вариантов указания, какой IP-адрес источника и порт, имеющий пакеты, должны быть изменены, чтобы иметь 10.100.101.102 в качестве src.

1 ответ1

1

для продолжения вам понадобятся определенные ответы на следующие вопросы:

  1. вы можете пропинговать роутер из коробки linux?

  2. если вы можете, вы можете отследить маршрутизацию от linux box до роутера? Из приведенных выше вопросов, я хочу убедиться, что. Ваш трафик действительно идет в окно Windows, а затем к маршрутизатору, а не напрямую к маршрутизатору. Tracert скажет вам это наверняка. б. Ваша внутренняя инфраструктура маршрутизации работает правильно.

  3. каков IP-адрес устройства IPsec другой компании? Туннели IPsec довольно статичны, и вы не можете настроить их, используя DNS-имена или около того, поэтому вы должны знать адрес удаленной конечной точки IPsec.

  4. другая конечная точка поддерживает IPsec Nat-Traverse (NAT-T)? если они не могут сказать вам это наверняка, спросите у них марку и модель этого конечного устройства и, если возможно, версию программного / микропрограммного обеспечения и найдите такую информацию.

из того, что вы нам рассказываете выше, кажется, что сначала вы должны правильно настроить внутреннюю маршрутизацию, поскольку маршрутизатор будет отправлять трафик непосредственно в Linux и получать его от него, даже не пропуская окна в игру; если только вы вручную не связываетесь с таблицами маршрутизации на всех 3 блоках, ВСЕ 3(ну, может быть, это не окна, если вы настроили RRAS на нем, но даже это требует проверки), или не используете разные подсети для разных сегментов; например, 192.168.0.1 для маршрутизатора, 192.168.0.2 для Windows, другой IP-адрес, такой как 192.168.1.1 для Windows и 192.168.1.3 для Linux. Кстати, если вы используете этот второй подход, убедитесь, что маршрутизатор также знает о второй подсети, указав маршрут к сети 192.168.1.x через 192.168.0.2 (IP-адрес Windows находится в том же диапазоне, что и IP роутера).

после того, как вы получили все права, указанные выше, теперь вы можете начать работать с реальными вещами! вот что происходит:

мы называем IP на Linux LinIP

мы называем IP окон на Linux Seagment WinIPL

мы называем IP-адрес окон в сегменте маршрутизатора WinIPR (в случае, если вы выбрали выше метод манипулирования таблицей маршрутизации вручную, два WinIP будут одинаковыми)

мы называем IP роутера на вашей внутренней стороне RoutIPint

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

мы называем IP-адрес удаленной конечной точки IPsec, RemTunIP.

мы называем IP-адрес ресурса, к которому вы пытаетесь подключиться, в другой компании за туннельным RemResIP.

когда ваш linux генерирует пакет, он помещает LinIP в качестве источника, а RemResIP в качестве dest; дает это Windows Box через IP WinIPL.

При правильной настройке Windows Box поместит этот пакет (включая упомянутый выше заголовок IP) в другой пакет, поместит WinIPR в качестве источника, RemTunIP в качестве dest, ЦИФРОВЫЕ ЗНАКИ WinIPR и RemTunIP и передаст его маршрутизатору.

NAT маршрутизатора, который подписал пакет для RoutIPext и RemTunIP. это одно из многих мест, где эта цепочка может быть испорчена, так как здесь ПОДПИСАНСЯ нарушена ПОДПИСЬ, и пакет становится недействительным, ЕСЛИ ваш ящик Windows и конечная точка IPsec другой компании не поддерживают NAT; ака есть NAT-T включен на них. используйте эту статью в kb от Microsoft, чтобы включить Nat-T на вашем компьютере с Windows (может показаться, что это для VPN на первый взгляд, но это общие настройки IPsec, поэтому он выполняет свою работу):http://support.microsoft .com/kb/926179, если IPsec-устройство вашей удаленной компании также находится за NAT, поставьте 2; если нет или если другая компания не поддерживает Nat-T (что подразумевает, что они действительно не транслируют свой трафик IPsec), укажите 1.

когда ваше периферийное устройство Ipsec получит ваш пакет (НАКОНЕЦ!), он будет в форме RoutIPext и RemTunIP. используя Nat-T, он извлекает пакет с помощью WinIPR и RemTunIP, с помощью IPsec Decryption извлекает пакет с помощью LinIP и RemResIP, соответствующим образом маршрутизирует его и передает ресурс, который пытался получить ваш linux.

так что вам нужно иметь:

а. удаленный офис узнал о вашей локальной подсети Linux

б. установите политику IPsec на ваших окнах, чтобы сформировать туннель с WinIPR и RemTunIP, а не с чем-либо еще.

с. иметь соответствующую политику настройки RemTunIP и WinIPR на удаленном сайте.

д. включите сквозную передачу на вашем маршрутизаторе.

е. прошли предварительные требования, как я уже говорил перед IPsec выше (tracert, подсеть и прочее)

!!!ТАК ЧТО ЭТО НЕ ТРИВАЛЬНО !!!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .