Добрый день. В нашей локальной сети (обозначим ее А) несколько маршрутизаторов. На одном из них (который Mikrotik, 6.37.3) поднят GRE туннель в другой офис (обозначим В). Если из сети В приходит пакет, то адресом его источника является адрес туннельного интерфейса со стороны В. Если хост в сети А имеет шлюзом какой-то другой маршрутизатор, он, естественно, отправит ответный пакет своему шлюзу, и пакет потеряется. Я пробовал настроить Mikrotik, чтобы он присваивал пришедшему пакету адрес локального бриджа в качестве адреса источника. Трансляции не происходит. 1. Правильное ли решение я выбрал ? 2. Если нет, то как правильно ? 3. Если да, то как правильно настроить трансляцию адресов ? Спасибо.
Скорее всего в офисе В у вас настроен NAT. 1. Нет. 2. Настроить маршрутизацию. Т.е. вешаем /30 на оба конца туннеля. Например Офис А, локальная сеть 192.168.0.0/24 адрес на туннеле 10.0.0.1/30 Офис В, локальная сеть 192.168.1.0/24 адрес на туннеле 10.0.0.2/30 Прописываем маршруты Офис А /ip route add dst-address=192.168.1.0/24 gateway=10.0.0.2 Офис В /ip route add dst-address=192.168.0.0/24 gateway=10.0.0.1
Добрый день, Илья. Спасибо за оперативный ответ. 2. Это было бы решением, если бы в сети А был единственный маршрутизатор. Но каким образом некий хост в сети А, который не знает про шлюз и туннель на Mikrotik'е, будет отсылать ответ в правильном направлении ? А прописывать маршруты на всех хостах, сами понимаете, не выход. К тому же этот туннель не единственный.
Тогда, может имеет смысл начать с проектирования работы сети? В случае множества маршрутизаторов, можно, например, настроить OSPF )
У нас уже есть некоторая структура сети, перекраивать на ходу очень не хочется. Если с трансляцией адресов пакетов из туннеля вопрос не решается на RouterOS в принципе (или все-таки решается ?), придется изобретать обходные пути. Странно, на ZyWALL'ах (от ZyXEL) такой проблемы не было, а RouterOS выглядит посерьезнее, поэтому мы и хотели постепенно заменить все на Mikrotik'и. Спасибо, Илья, за советы. Удачи.
Почему не решается? Решается. Вопрос лишь в корректности такого решения в целом. А так, Вам надо делать обратный маскарад. Т.е. /ip firewall nat add chain=srcnat src-address=(УДАЛЕННАЯ ПОДСЕТЬ) dst-address=(НАША_ПОДСЕТЬ) out-interface=LAN action=masquerade Переводя на русский: Если пакет с другого офиса и идет к нам, то поменять адрес отправителя на LAN-адрес маршрутизатора.