Страница 1 из 1

Не возвращаются пакеты в локалку из GRE

Добавлено: 04 окт 2019, 11:07
ilya.aleksandrov
Добрый день.
Хочу извиниться за глупый пост, но у меня уже голова пухнет.
Уже как неделю обладаю микротиком RB760iGS, до него были Цыцки, джуниперы, несколько шлюзов на линуксе.
Решил поменять Линукс на Микротик. Все хорошо, это прекрасный аппарат, но возникла проблема, появление которой стало для меня настоящим сюрпризом.

И так, сеть на Микротике:
интерфейсы на катринке
Изображение

Имеем 5 vlan клиентских на GE2
GE1 - провайдерская локалка со шлюзом с статик роутом до ВПН сервера
2 подключения L2TP. Одно без шифрования, на втором прикручен IPSEQ.

Возникла необходимость в постройке GRE туннеля в офис.
Удаленная локалка - 10.10.10.0/24
Локальная локалка - 192.168.3.16/29
шлюз на микротике - 192.168.3.17
GRE стык 10.10.6.0/30
Локальный ip 10.10.6.1
Удаленный ip 10.10.6.2 (Cisco 880)
Соответственно, это все дело строится через внешние статические IP.
Роуты, и прямой/обратный в 10.10.10.0/24 и прямой/обратный в 192.168.3.16/29 на обоих железках прописаны.

Из сети 10.10.10.0/24 все пингается и локалка 192.168.3.16/29 доступна. Хост 192.168.3.18 тоже доступен.
Проблема в том, что с клиентской машины 192.168.3.18 не пингается 10.10.6.2
Причем, я запускал дебаг на цицке по icmp и вижу, что запросы приходят с 10.10.6.1 и далее они отправляются, как это и должно быть, обратно в туннель, соответственно, возвращаются на микрот и на нем почему то дохнут, непонятно почему так происходит.
Я уже дошел до того, что взял и поставил обратно линукс и все заработало. Но, хочется все таки оставить микротик, уж очень он мне понравился.
Почему на нем дохнут "обратные" пакеты, я хоть убей не пойму. В то же время понимаю, что то я делаю неправильно, оборудование Микротик для меня новое.
Буду благодарен за Вашу помощь.

Re: Не возвращаются пакеты в локалку из GRE

Добавлено: 04 окт 2019, 12:14
Vlad-2
1) лучше если были примеры с трассертами?

2) и схему бы хотя от руки

3) и думаю надо проверить что НАТ не срабатывает где-то в любом месте.

4) в туннеле надо так же посмотреть и посмотреть дважды (на стороне входа в туннель,
и на том роутере, где в туннеле мы должны их принимать).
4.1) и не просто посмотреть, а посмотреть не только dst адрес, но и с каким src
мы приходим (это как раз к пункту 3)

5) файрволы (на виндах) (3-жды проверить)

6) поиграться (аккуратно) с параметром pref-source (это при создании маршрута).
Этот параметр иногда плохо делает, а иногда очень помогает,
когда роутер ждёт маршрута/трафика с другого роутера, но с явного определённого
адреса, а микротик может подсунуть исходящий адрес любой (который будет у него
с исходящего интерфейса присутствовать).

7) между микротиками, когда описываешь туннель через гре, достаточно указать
что такая сеть и через (выбираем туннель), но в обычной маршрутизации,
надо гре-туннелям задавать адреса (они у Вас заданы) и явно при создании
маршрутов явно адреса указывать, а не Интерфейсы. Это я так, на всякий случай.

Re: Не возвращаются пакеты в локалку из GRE

Добавлено: 04 окт 2019, 13:29
ilya.aleksandrov
Спасибо за ответ.

Трассировку только вечером смогу показать, так как доступа до локального компа нет.
Но там особо показывать нечего, она уходи в никуда. Шлюз и дальше звездочки - это вообще очень странно, как по мне. То есть, пакет должен попасть в ош Микротика 192.168.3.17, микрот должен в соответствии со своей таблицей маршрутизации ( увидеть статик роут ) отправить на 10.10.6.2 (циску)
ничего не понимаю, где я накололся?

Подскажите можно посмотреть определенные входящие пакеты с определенного адреса? На микротике есть такой функционал?


вот картинка

Изображение

Статик роут за 10.10.6.2 есть
Изображение

Re: Не возвращаются пакеты в локалку из GRE

Добавлено: 04 окт 2019, 13:42
ilya.aleksandrov
Чую прям, где-то вот рядом решение. В NAT обратный пакет рально может залететь..и там сдохуть.
я вечером еще раз все проверю.

Re: Не возвращаются пакеты в локалку из GRE

Добавлено: 04 окт 2019, 13:55
Vlad-2
ilya.aleksandrov писал(а): 04 окт 2019, 13:29 Подскажите можно посмотреть определенные входящие пакеты с определенного адреса? На микротике есть такой функционал?
1) это естественно утилита Torch - запускаете её, выбираете интерфейс (входящий, исходящий, туннельный)
и смотрите в онлайне.
2) это раздел Connection в окне Firewall = там все подключения, там тоже можно найти что куда и откуда,
с каким адресом.
3) НАТ = частая ошибка при работе с маршрутами. Правила НАТ делают обобщённые, и всё,
натяться даже локальные запросы. ЧТО не есть GOOD

Re: Не возвращаются пакеты в локалку из GRE

Добавлено: 04 окт 2019, 14:17
ilya.aleksandrov
У меня вот такое правило:

/ip firewall nat
add action=src-nat chain=srcnat src-address=192.168.3.16/29 to-addresses=x.x.x.x
х.x.x.x внешинй адрес - туннель на нем

Подскажите пожалуйста, если я вот так сделаю, что бы не NATилась обратка?

add action=src-nat chain=srcnat dst-address=!192.168.3.16/30 src-address=10.10.10.0/24 to-addresses=x.x.x.x
add action=src-nat chain=srcnat dst-address=!192.168.3.16/30 src-address=10.10.6.0/30 to-addresses=x.x.x.x
Это правильно, или еще что то надо?

Re: Не возвращаются пакеты в локалку из GRE

Добавлено: 04 окт 2019, 15:46
Vlad-2
Трудно дать явный совет. Тут надо понимать всю логику, цепочку.

1) Я не люблю правила отрицания
2) При прописывания НАТ = я указываю внешний интерфейс, это так
намного правильнее. А адрес внешний в правиле НАТ надо указывать,
если их у Вас больше одного. А так какой смысл его писать, если он одЫн? :-)

То есть по-умолчанию с пакетом ничего не надо делать, а если пакет
хочет выйти наружу (запрос уводит его наружу) только после того
как пакет уходит через внешний интерфейс, вот только именно этот
пакет и делать с ним операцию НАТ.

Чё все делают НАТ общий, потом выделяют подсети и делают исключения.
Не пойму порой такому подходу.

P.S.
Отключите вообще все НАТы (на 2-7 минут), пропадёт глобал, но туннель будет работать и если
пинг заработает(мож не сразу, а через 1-2 мин), то значит проблемы в НАТе (и повторюсь уже
во второй-третий раз), НАТ правила могут быть с двух сторон и их обе стороны надо проверять.

Re: Не возвращаются пакеты в локалку из GRE

Добавлено: 04 окт 2019, 16:08
ilya.aleksandrov
Спасибо Вам большое.
Сегодня вечером буду ковыряться. Попробую разные варианты.

Re: Не возвращаются пакеты в локалку из GRE

Добавлено: 05 окт 2019, 00:47
ilya.aleksandrov
В общем все получилось. :ya_hoo_oo: :ya_hoo_oo: :ya_hoo_oo: :ya_hoo_oo: :ya_hoo_oo:
Первое что сделал - отключил НАТ и все заработало. Потом в NAT поменял IP на внешний интерфейс.
Влад спасибо большое за подсказку.
Микротик классный аппарат, я доволен.

Re: Не возвращаются пакеты в локалку из GRE

Добавлено: 05 окт 2019, 04:49
Vlad-2
Я рад, что всё получилось!
:ya_hoo_oo: