статическая маршрутизация по VPN

Обсуждение ПО и его настройки
Ответить
JIEXA
Сообщения: 10
Зарегистрирован: 14 окт 2018, 23:00

Изображение
В данный момент все работает с маскарадингом, но веб сервер в сети 88,100 получает IP клиентов с одним адресом 172,0,0,1. Как сделать чтоб был реальный IP клиента?


Аватара пользователя
Vlad-2
Модератор
Сообщения: 2531
Зарегистрирован: 08 апр 2016, 19:19
Откуда: Петропавловск-Камчатский (п-ов Камчатка)
Контактная информация:

1) отключит НАТ на обоих маршрутизаторах на интерфейсах ВПН (то бишь на 172.0.0.хх) пакеты
НАТить не надо!

2) Описать явно чётко статическую маршрутизацию, так как Вы ничего не указали, то:
а) если используется РРТР/Л2ТР протоколы, то надо на стороне сервера сделать "биндинг",
то есть создать постоянный виртуальный интерфейс, и когда клиент будет подключаться,
этот интерфейс будет для этого клиента, а значит на базе данного интерфейса и можно, и
нужно сделать статически описать маршруты (то есть и сеть и 88.0/24 и сеть 0.0/24).
б) если используются не сеансовые протоколы для построения сети ВПН (IPIP/GRE) то
надо описать маршрутизацию используя эти интерфейсы.

3) После описания ВПНов и описания маршрутов, Вы должны убедиться, что с одной машины
одного офиса Вы можете дойти до другой машины другого офиса.
ПРОВЕРЯТЬ именно с компьютеров, так будет формироваться правильный SRC адрес,
и роутер будет знать (если настроите правильно) куда слать данный запрос.

4) (ДУБЛИРУЮ) НАТ правила для этих локальных сетей не должно быть, или должны быть
такие правила НАТ, которые НАТили запросы наружу, но ничего не делали с пакетами
при локальном взаимодействии. ДУБЛИРУЮ потому что ни раз такой аспект забывают.

5) НАТить пользователей для доступа в Интернет надо на выходе! То есть Вы должны делать НАТ
для тех, кто хочет в Интернет только на том роутере, на котором и есть сам Интернет.
(по Вашей схеме 192.168.0.1)

P.S.
На компах надо временно на момент настройки отключить файрвол/брандмаур, винда
чужие подсети не любит и обычно пинги блокируются. И может быть так, что всё уже
работает, но дело будет в клиентских настройках. ПРОВЕРИТЬ 3-жды.



На работе(ах): 2xCCR1016-12G, RB3011UiAS и hAP lite (RB941)
Дома: CCR1016-12G, RBcAP2n (standalone), RB wAP LTE kit
Для тестов(под рукой): RB3011UiAS, hAP mini (RB931) и что-то ещё по мелочи
MTCNA
MTCRE
JIEXA
Сообщения: 10
Зарегистрирован: 14 окт 2018, 23:00

Спасибо огромное. Забыл написать про L2TР и про то что маршрутизатор с сетью 88.хх выходит в инет(имеет серый IP, L2TP клиент), и через инет создается канал ВПН. Маршрутизатор с сетью 0,хх имеет белый, статический IP(L2TP server binding).


Аватара пользователя
Vlad-2
Модератор
Сообщения: 2531
Зарегистрирован: 08 апр 2016, 19:19
Откуда: Петропавловск-Камчатский (п-ов Камчатка)
Контактная информация:

JIEXA писал(а): 31 авг 2019, 11:21 Спасибо огромное. Забыл написать про L2TР и про то что маршрутизатор с сетью 88.хх выходит в инет(имеет серый IP, L2TP клиент), и через инет создается канал ВПН. Маршрутизатор с сетью 0,хх имеет белый, статический IP(L2TP server binding).
Смысл моего первого сообщения не теряется.
Делайте НАТ только к запросам внешним, локальные запросы НЕ-НАТить, и делайте
правильную маршрутизацию, проверяйте что НАТа нету с двух сторон для локальных
сетей, проверяйте настройки и пробуйте.
Я более добавить не могу, статическая маршрутизация = это почти банальная настройка.

Если не заработает, ждём выкладку трассировок, и конфигурации.



На работе(ах): 2xCCR1016-12G, RB3011UiAS и hAP lite (RB941)
Дома: CCR1016-12G, RBcAP2n (standalone), RB wAP LTE kit
Для тестов(под рукой): RB3011UiAS, hAP mini (RB931) и что-то ещё по мелочи
MTCNA
MTCRE
JIEXA
Сообщения: 10
Зарегистрирован: 14 окт 2018, 23:00

Не выходит каменный цветок. Что значит "локальные запросы НЕ-НАТить"?

Код: Выделить всё

/interface l2tp-server
add name=l2tp-vpn user= 

Код: Выделить всё

/ip pool
add name=dhcp ranges=192.168.0.10-192.168.0.254
add name=vpn ranges=192.168.89.2-192.168.89.255

Код: Выделить всё

/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade" \
    ipsec-policy=out,none out-interface-list=WAN
add action=masquerade chain=srcnat comment="masq. vpn traffic" log-prefix=\
    masq out-interface=all-ppp
add action=netmap chain=dstnat comment=WEB dst-port=80 in-interface=\
    pppoe-out1 log-prefix=netmap protocol=tcp to-addresses=192.168.89.15 \
    to-ports=80

Код: Выделить всё

/ip route
add distance=1 dst-address=192.168.89.0/24 gateway=l2tp-vpn pref-src=\
    172.0.0.1
Если отключить маскарадинг на all-ppp то в логе на клиенте l2tp пишет
prerouting: in:l2tp-vpn out:(unknown 0), proto TCP (SYN), 100.74.4.47:54015->192.168.89.15:80, len 52
с маскарадингом
prerouting: in:l2tp-vpn out:(unknown 0), src-mac ff:ff:ff:ff:ff:ff:ff, proto TCP (ASK), 172.0.0.1:54055->192.168.89.15:80, len 40


Аватара пользователя
Vlad-2
Модератор
Сообщения: 2531
Зарегистрирован: 08 апр 2016, 19:19
Откуда: Петропавловск-Камчатский (п-ов Камчатка)
Контактная информация:

JIEXA писал(а): 03 сен 2019, 22:36 Не выходит каменный цветок. Что значит "локальные запросы НЕ-НАТить"?
То есть после моих сообщений с порядком, с логикой и такой вопрос?
Вот честно, я теперь в шоке. :sh_ok:

Пример №1:
Вы в квартире, Вы своей супруге будете с одной комнаты (а она в другой) звонить по мобильному или
всё же крикните?
Так и тут, не надо натить ЛОКАЛЬНЫЕ запросы, то есть когда сеть А (со своей адресацией)
идёт в сеть В (где там своя адресация), сети должны знать, что эти за адресации,
не блокировать их, и обслуживать их, знать где роутер и через какой адрес они доступны.
Пример №2:
Из комнату в комнату одевать шубу не надо, так и локальные запросы, их НАТить не надо,
а вот перед выходом из квартиры(с роутера в Интернет) надо шубу одеть.

А Вы берёте и делаете не понимая что получается. Всё равно что топором хирург будет делать операции.
Ещё раз: НЕ НАДО скрывать сети друг друга за каким-то локальным адресом. ПУСТИТЕ их как есть.

И ещё:
Туннель = для Вас это труба, связь, канал передачи.
Вы и должны показать, что через этот канал и будет сеть А идти к сети В и наоборот.
НАТИТЬ надо запросы которые связаны ЛИШЬ с Интернетом, другие запросы НЕ трогать.
И всё что в этой трубе (повторюсь ещё N-раз) = натить ненадо. Это просто связь!


P.S.
Конфиги (часть их) мало что проясняют, единственно что, ещё раз (в 4-й)
ненадо всё натить, я вообще в шоке зачем Вы делаете НАТ сразу для всех
ррр интерфейсов. И по логам файрвола = откуда там прероутинг взялся?

Задача у Вас простая, пустить трафик сетей как есть, без модификации, но так сложно её Вам донести.



На работе(ах): 2xCCR1016-12G, RB3011UiAS и hAP lite (RB941)
Дома: CCR1016-12G, RBcAP2n (standalone), RB wAP LTE kit
Для тестов(под рукой): RB3011UiAS, hAP mini (RB931) и что-то ещё по мелочи
MTCNA
MTCRE
JIEXA
Сообщения: 10
Зарегистрирован: 14 окт 2018, 23:00

Vlad-2 писал(а): 03 сен 2019, 23:31
Вот честно, я теперь в шоке. :sh_ok:

Задача у Вас простая, пустить трафик сетей как есть, без модификации, но так сложно её Вам донести.
лог фаервола с прераутингом это клиент ВПН, я смотрю какие пакеты через интерфейс идут.
я же веду разговор про сервер ВПН

Я понимаю что ВПН это труба, как вы выразились. В эту трубу туда-обратно пинги до сетей и компов в ней проходят.
Но вот в чем вопрос. Клиент заходит на внешний ip адрес коммутатора, на котором запущен l2tp server по 80 порту, я нетмапом отправляю его на адрес 192.168.89.15. Если включен маскарадинг, все ок.
Как мне отправить трафик с входящего интерфейса (pppoe-out) в "трубу" не модифицируя, на адрес 192.168.89.15?

Rout List маршрутизатора с белым IP(l2tp server binding):
DAS 0.0.0.0/0 pppoe-out reachable 1
DAC *.*.128.0 pppoe-out reachable 0 *.*.137.51
DAC 172.0.0.2 l2tp_vpn reachable 0 172.0.0.1
AS 192.168.89.0/24 l2tp_vpn reachable 1 172.0.0.1
DAC 192.168.0.0/24 bridge reachable 0 192.168.0.1

Rout List маршрутизатора с серым IP(l2tp client):
DAS 0.0.0.0/0 192.168.1.1 reachable ether1 1
DAC 172.0.0.1 l2tp_vpn reachable 0 172.0.0.2
AS 192.168.0.0/24 l2tp_vpn reachable 1 172.0.0.2
DAC 192.168.1.0/24 ether1 reachable 0 192.168.1.2
DAC 192.168.89.0/24 bridge reachable 0 192.168.89.1


Изображение
Это статус L2TP server binding. Чтоб вы понимали, 100.71.160.207 это динамический IP, локальный адрес провайдера.


Аватара пользователя
Vlad-2
Модератор
Сообщения: 2531
Зарегистрирован: 08 апр 2016, 19:19
Откуда: Петропавловск-Камчатский (п-ов Камчатка)
Контактная информация:

JIEXA писал(а): 04 сен 2019, 19:54 лог фаервола с прераутингом это клиент ВПН, я смотрю какие пакеты через интерфейс идут.
я же веду разговор про сервер ВПН
А что там за правила вообще (в прероутинге) ?
JIEXA писал(а): 04 сен 2019, 19:54 Я понимаю что ВПН это труба, как вы выразились. В эту трубу туда-обратно пинги до сетей и компов в ней проходят.
Но вот в чем вопрос. Клиент заходит на внешний ip адрес коммутатора, на котором запущен l2tp server по 80 порту, я нетмапом отправляю его на адрес 192.168.89.15. Если включен маскарадинг, все ок.
Как мне отправить трафик с входящего интерфейса (pppoe-out) в "трубу" не модифицируя, на адрес 192.168.89.15?
Ну а теперь у меня вопросы:

а) по картинке Вашей из первого поста - нет сети 89?
б) где адрес 89.15 ? Где находиться и где стоит?
в) фраза "клиент заходит на IP адреса коммутатора" - заходит чем? То есть снаружи обратились на его внешний адрес?
Или читать её "клиент подключается к серверу L2TP по внешнему адресу роутера?
г) куда Вы делаете и зачем нетмапом проброс?
д) ВПН сеть это по картинке 172.0.0.ххх (между роутерами), а по предыдущему посту и
по части конфига - впн пул у Вас - это сеть 192.168.89.ххх.

Поэтому получается, что описание, картинки и по факту у Вас как-то всё разное.

Советую (на основании предположения и в целом картины):

1) между роутерами сделать соединение постоянное, и пусть оно будет 172.0.0.1 и 172.0.0.2
2) (кстати обратил внимание что Вы в конфиге указывали для ВПНа - интерфейс, так не всегда можно).
Поэтому на РОУТЕРАХ в классической маршрутизации надо указывать шлюз = IP адрес удалённого
сервера. Поэтому между роутерами как я и написал в первом пункте "натяните" ВПН-связь
на адресации и в качестве шлюза укажите противоположный адрес (на роутере
с адресом 172.0.0.1 = шлюз для маршрутизации подсетей будет 172.0.0.2, и наоборот).
3) сети (пакеты) на интерфейсах 172.0.0.ххх = не модифицировать. (НЕ натить)

Вот на этом этапе будет связка (работать) между роутерами и никак не пересекаться с ВПН'ами клиентов.

3) Подключается клиент, по L2TP серверу, клиент динамический, адресация у Вас описана, это
сеть 192.168.89.ххх, значит клиента при Выходе в Интернет надо НАТить и скрывая его адрес,
выпускать наружу, а при выходе клиента скажем в сеть 88.0/24 (предполагаем что он подключился
к роутеру который у нас 0.1) надо пакет не модифицировать, и если сеть между роутерами описана,
то клиент ВПНа (с сетью 89.ххх) при запросе сети 88.ххх, и без НАТа сам уйдёт на роутер 88.1
через промежуточную сеть 172.0.0.ххх и уже роутер 88.1 получив его пакет неизменный,
сам его перекинет на клиента 88.ххх. (описал грубо, обобщённо, но как есть)
ПОЭТОМУ и говориться - не надо НАТИТЬ при такой схеме.

P.S.
ещё напоминаю, могут быть глюки у микротиков на заводской конфигурации, а у Вас я видел
в части конфигов слово "defconf" - что означает что Вы на пре-заводской конфигурации делаете.
ВПН, маршрутизация - это уже не банальные вещи (относительно домашнего юзера),
поэтому лучше чистый роутер и конфигурацию с нуля, руками без визардов и всяких
экспрессов.



На работе(ах): 2xCCR1016-12G, RB3011UiAS и hAP lite (RB941)
Дома: CCR1016-12G, RBcAP2n (standalone), RB wAP LTE kit
Для тестов(под рукой): RB3011UiAS, hAP mini (RB931) и что-то ещё по мелочи
MTCNA
MTCRE
JIEXA
Сообщения: 10
Зарегистрирован: 14 окт 2018, 23:00

а) 88=89
б) 88.100= 89.15
в) внешний IP
г) проброс на веб сервер
д) удалил это пул, он роли не играл
картинку по быстрому набросал, потом уже понял что не все есть на ней


JIEXA
Сообщения: 10
Зарегистрирован: 14 окт 2018, 23:00

В общем решилась проблема.
На впн клиенте mangle-> + -> chain - prerouting -> src.adress - 192.168.89.15 -> action - route -> dst.adress - 172.0.0.1, ответы пошли по впн.
А то запросы шли по впн, а ответы долбились напрямую по IP.
Изображение


Ответить