IPsec маршрутизация между 3 сетей
-
доп фазу 2 придется делать на шлюзе B
иначе никак -
@konstanti Если я правильно понимаю, то нужен сначала DST-NAT, затем SRC-NAT.
Сейчас добавлю картинку как я делаюSRC-NAT
DST-NAT
-
@konstanti не могу только понять зачем фазу 2 добавлять на шлюзе.
-
неправильно понимаете
вот тут это настраивается
NAT/BINAT раздел
я бы лично , на Вашем месте , сначала отладил бы все , используя доп фазы 2 . А потом бы шел по пути упрощения
Проблема NAT-а в том , что связь будет односторонней
те при верных настройках Вы сможете из А соединится с С,
а в обратном направлении уже нет -
@konstanti так и нужно только из А в С
-
Классический вариант
шлюз А - 2 фазы 2
A-B
A-C
шлюз B - 4 фазы 2
B-A
C-A
B-C
A-C
шлюз C - 2 фазы 2
C-B
C-AВариант NAT
шлюз А - 2 фазы 2
A-B
A-C
шлюз B - 4 фазы 2
B-A
C-A
B-C
A-C (NAT используем 192.168.99.0/24 )
шлюз C - 1 фаза 2
C-B -
@konstanti то есть получается в NAT варианте на А и В придется добавлять новую фазу
Я думал можно как-то попроще сделать, через обычный Port forwarding
-
а как иначе ??? ipsec работает немного по-другому , чем классическая маршрутизация . Он работает на основе перехвата "интересного трафика" путем установки ловушек , указанных в настройках фазы 2
Поэтому от доп фаз 2 Вам не уйти в классическом варианте
как вариант смотреть в сторону машрутизируемых туннелей на основе ipsec ( GRE over IPSEC. или VTI ) -
@konstanti изначально я сделал то что хотел, но для этого понадобился ещё один роутер, так как почему-то pfSense не хотел обрабатывать ответный трафик.
Изначально я сделал так.
У меня в этой сети 192.168.99.0/24 есть ещё роутер (микротик)
С адреса 192.168.88.115 я подключался на 192.168.99.1:666, так можно ведь они знают друг о друге.На микротике просто сделал два правила DST-NAT с адреса 192.168.99.1:666 на адрес 192.168.111.103:6666 и второе правило SRC-NAT src адрес 192.168.88.115 заменил на 192.168.99.1 и при помощи маршрута отправил на 192.168.99.82, а он уже знает путь до 192.168.111.103.
Так работает. Но сейчас я хочу сделать тоже самое, но уже на самом шлюзе pfSense, чтобы не юзать левый роутер для этой манипуляции и избежать путаницы в правилах, в общем просто чтобы был порядок. Пробую так сделать, но как я описал в первом сообщении темы, трафик идет от 192.168.88.115 до 192.168.111.103. от 192.168.111.103 до 192.168.99.82, а дальше нет. Хотя повторюсь, когда теже действия делаю на микротике всё ходит отлично.
-
@operator2024
Не вижу никаких проблем в использовании дополнительных фаз 2 при таком виде подключения. Такой фокус ,который Вы описали, боюсь , не пройдёт с pf -
@konstanti спустя 4 дня проб и разных комбинаций я это понял, что либо что-то с фазами 2 нужно делать, либо юзать мой рабочий вариант.
К сожалению, я не нашел packet flow для pfSense. Вот для Mikrotik она есть и там понятно как цепочки работают и, где можно трафик перехватить и заюзать NAT, а тут я просто наугад это определяю по состояниям во вкладке Diagnostic - States.
Единственное что удалось найти это openbsd pf packet flow diagram, но там не все подробно и я не уверен, что она точная. -
@konstanti буду пробовать сделать этот вариант
Вариант NAT
шлюз А - 2 фазы 2
A-B
A-C
шлюз B - 4 фазы 2
B-A
C-A (1)
B-C
A-C (NAT используем 192.168.99.0/24 ) (2)
шлюз C - 1 фаза 2
C-BНужно уточнение, пометил цифрами 1 и 2.
Там где 1, нужно добавлять вторую фазу к С с удаленной сетью А, верно?
Там где 2, нужно добавлять вторую фазу к А с удаленной сетью, С через NAT/BINAT? -
@operator2024
Попробуйте , для начала, настроить по-правильному .
Без Nat. Nat нужен в этой схеме , когда нет доступа к настройкам удаленного шлюза . У Вас этот доступ есть . Смысла использования Nat я не вижу .На ваши вопросы отвечу - да .
-
@konstanti сделал без NAT, фазы поднялись (established), но трафик не идет
-
@konstanti на шлюзах А и С получается нужно добавить доп. интерфейс, чтобы трафик увидел маршрут через что ходить или всё должно заработать без дополнительного интерфейса.
Я под интерфейсом имею ввиду на А нужно добавить ip из сети 111, а на С из сети 88 -
Я Вам чуть выше показал средство для проверки трафика из консоли
Tcpdump и enc0 интерфейс
Начните со шлюза А - уходит ли трафик в направлении С
Далее смотрите то же самое на шлюзе B
Потом на шлюзе С
и будет понятно , где проблемакстати , мб проще сразу сделать туннель между А и С напрямую ?
-
@konstanti спасибо, проблема оказалась в правилах блокировки на А и С.
Сейчас всё подцепилось как нужно.@konstanti я тоже об этом подумал. Так будет проще.
Просто изначально я думал можно через NAT (как я описывал выше) сделать и поэтому не рассматривал прямой туннель между А и С -
This post is deleted! -
@operator2024
ICMP и TCP - разные протоколы
Возможно , что Вы разрешили только прохождение tcp трафика на нужном порту , а остальное блокируете -
@konstanti понимаю это, так и было. За 4 дня уже голова слабо соображает. Правило было только для ТСP трафика, сейчас исправил и заработало.
Напрямую кстати туннель можно сделать, но управлять не очень удобно будет.
Если нужно что-то разрешить или запретить. Особенно когда на всех подобных устройствах конфиг одинаковый. Устройства А и С это конечные устройства, а B что-то вроде шлюза в офисе, куда весь трафик идет.