Как правильно настроить NAT между двумя роутерами MikroTik для подключения двух сетей через L2TP?

У меня есть две подсети:  
- Первая: 192.168.3.0/24, где Mikrotik функционирует как роутер (внутренний адрес 192.168.3.1, есть публичный IP).  
- Вторая: 192.168.0.0/24, у которой нет публичного IP, здесь используется отдельный роутер (не Mikrotik) с адресом 192.168.0.1, который является шлюзом по умолчанию. Mikrotik имеет адрес 192.168.0.3 и служит для связи с первой сетью.  

Подсети соединены с помощью L2TP: на 192.168.3.1 расположен L2TP сервер с адресом 192.168.9.1, а на 192.168.0.3 — клиент с адресом 192.168.9.2. Настроены маршруты: на 192.168.3.1 добавлен маршрут 192.168.0.0/24 через 192.168.9.2, на 192.168.0.3 — маршрут 192.168.3.0/24 через 192.168.9.1. Mikrotik видит друг друга.

Проблема, с которой я столкнулся: пинги из сети 192.168.3.0 доходят, например, до адреса 192.168.0.50, но ответ не приходит назад, так как шлюзом является не Mikrotik 192.168.0.3, а отдельный роутер-шлюз 192.168.0.1.  

Я понимаю, что нужно настроить NAT на 192.168.0.3, чтобы в исходящих пакетах адрес отправителя отображался как 192.168.0.3, а при ответах от устройств менять его обратно.  

Подскажите, пожалуйста, как правильно настроить NAT или предложите другой вариант конфигурации. Я перерыл много статей, пробовал настраивать EoIP, но ничего не сработало.  

У меня есть ограничения по топологии: я не могу изменить шлюз по умолчанию во второй сети (192.168.0.1) с роутера на Mikrotik (192.168.0.3) и не могу убрать отдельный роутер. Могу развернуть конфигурацию только между Mikrotik.
  • 3 марта 2025 г. 23:14
Ответы на вопрос 2
Для решения вашей проблемы с NAT между двумя роутерами MikroTik и корректной маршрутизацией пакетов, вам нужно будет настроить NAT на MikroTik с адресом 192.168.0.3 так, чтобы он заменял внутренний IP-адрес на свой собственный адрес (192.168.0.3) при отправке пакетов в сторону сети 192.168.3.0/24, и изменял его обратно на внутренний адрес получателя при возврате пакетов.

### Настройки NAT на MikroTik 192.168.0.3:

1. **Перейдите в раздел Firewall > NAT.**
2. **Добавьте правило для маскарадинга:**
   - **Chain:** `srcnat`
   - **Out. Interface:** интерфейс, который ведет к L2TP (например, `l2tp-out1`, или аналогично)
   - **Action:** `masquerade`
   - **Comment:** Добавьте комментарий для удобства, например, `NAT for 192.168.3.0 Network`.

3. **Добавьте правило для дестинационного NAT (если это необходимо):**
   - Это правило может помочь, если потребуется направлять определенные порты или IP-адреса.
   - В большинстве случаев для ответов от 192.168.0.1 ничего дополнительно не нужно настраивать, если NAT корректно настроен.

4. **Проверьте маршруты:**
   Убедитесь, что маршрут на MikroTik 192.168.0.3 настроен правильно:
   - `Destination: 192.168.3.0/24`
   - `Gateway: 192.168.9.1`

5. **Проверьте настройки на 192.168.3.1:**
   Убедитесь, что маршрут в 192.168.3.1 настроен правильно и также отсутствуют конфликты с другими маршрутизируемыми IP.

### Проверка работы:

1. **Пингуйте адрес 192.168.0.50 из сети 192.168.3.0.**
   - Проверьте, что ответ возвращается на правильный адрес 192.168.3.1.

2. **Проверьте таблицы соединений:**
   Используйте команду `/ip firewall connection print` на 192.168.0.3, чтобы убедиться, что соединения правильно отслеживаются.

3. **Журналирование:**
   При необходимости включите журналирование на NAT-правилах, чтобы видеть, проходит ли трафик через них. Это поможет в диагностике.

Если после проведения этих шагов проблема сохраняется, может потребоваться проверка конфигурации на роутере 192.168.0.1, так как он играет важную роль в маршрутизации возвращаемых пакетов. Убедитесь, что он правильно обслуживает трафик и что нет дополнительных ограничений в его настройках.
За основу можно взять Проброс порта на хост без шлюза 
На данная схема заведомо плохая, если ESP захочет сам связаться, то упрется в свой шлюз.
Похожие вопросы