Перейти к содержимому
Калькуляторы

Mikrotik проброс портов, не сохраняется оригинальный IP

Возникла такая задача. Настроить роутер микротик. У него 2 аплинка. Первый аплинк с ипом из приватной подсети. И второй аплинк с нормальной белой подсетью. Аплинк 1 используется как шлюз по умолчанию. Аплинк 2 используется для доступа снаружи к серверам внутри сети, которые находятся за натом. Это дело рулится через маркировку пакетов, опциями в /ip firewall mangle

Всё работает, но возникла такая проблема.

Сервер находится в подсети 10.0.10.0/24, его ип адрес 10.0.10.200. И когда кто-то снаружи заходит по ссш или использует другие сервисы (всё это работает через проброс портов), то ип адрес клиентов на сервере указывается как 10.0.10.1. И из-за этого возникло много проблем. Можно ли как-то сделать, чтобы через проброс портов отображались реальные ипы клиентов, а не ип шлюза?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можно ли как-то сделать, чтобы через проброс портов отображались реальные ипы клиентов, а не ип шлюза?

NAT настроить нормально. /ip firewall nat export покажите и интерфейсы с именами опишите, какой куда смотрит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

NAT настроить нормально. /ip firewall nat export покажите и интерфейсы с именами опишите, какой куда смотрит.

 

/ip firewall nat

add action=masquerade chain=srcnat

add action=dst-nat chain=dstnat dst-port=1022 in-interface=ether3 protocol=tcp \

to-addresses=10.0.10.200 to-ports=22

add action=netmap chain=dstnat dst-port=5060 in-interface=ether3 protocol=udp \

to-addresses=10.0.10.200 to-ports=5060

add action=netmap chain=dstnat dst-port=5060 in-interface=ether3 protocol=tcp \

to-addresses=10.0.10.200 to-ports=5060

add action=netmap chain=dstnat dst-port=8000 in-interface=ether3 protocol=tcp \

to-addresses=10.0.10.2 to-ports=8000

add action=masquerade chain=srcnat out-interface=ether3

 

ether3 - это интерфейс с белым ипом, для доступа снаружи.

ether1 - это интерфейс, на котором находится шлюз по умолчанию.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

add action=masquerade chain=srcnat

укажите out-interface=ether3 в правиле, а то у вас натится все, во все стороны

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

alexey_sadovin, первое правило исправьте на [add action=masquerade chain=srcnat out-interface=ether1].

 

EugeneTV, ваше правило уже есть у ТС.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

по мне, так должно быть как-то так

/ip firewall nat
add action=dst-nat chain=dstnat dst-port=1022 in-interface=ether3 protocol=tcp \
to-addresses=10.0.10.200 to-ports=22
add action=dst-nat chain=dstnat dst-port=5060 in-interface=ether3 protocol=udp \
to-addresses=10.0.10.200 to-ports=5060
add action=dst-nat chain=dstnat dst-port=5060 in-interface=ether3 protocol=tcp \
to-addresses=10.0.10.200 to-ports=5060
add action=dst-nat chain=dstnat dst-port=8000 in-interface=ether3 protocol=tcp \
to-addresses=10.0.10.2 to-ports=8000
add action=masquerade chain=srcnat out-interface=ether3

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

alexey_sadovin, первое правило исправьте на [add action=masquerade chain=srcnat out-interface=ether1].

 

EugeneTV, ваше правило уже есть у ТС.

во-первых, оно значительно ниже, чем

add action=masquerade chain=srcnat

, поэтому не выполняется.

во-вторых, затем натить в ether1, если это у него локальный интрефейс?

У .None приведен правильный вариант.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

EugeneTV, вы стартовый пост вообще прочли? У ТС два аплинка.

 

затем натить в ether1, если это у него локальный интрефейс?
ether1 - это интерфейс, на котором находится шлюз по умолчанию.

Это интерфейс для общего выхода в инет.

 

alexey_sadovin, правила маскирования действительно должны раполагаться выше трансляций портов, поправьте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

EugeneTV, вы стартовый пост вообще прочли? У ТС два аплинка.

Виноват,прозевал второй аплинк, ну и

ether1 - это интерфейс, на котором находится шлюз по умолчанию.
сбило с толку.

Но в любом случае первое правило было неправильное. Натить нужно 1 и 3 интерфейс.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

/ip firewall nat

add action=masquerade chain=srcnat out-interface=ether1

add action=masquerade chain=srcnat out-interface=ether3

add action=dst-nat chain=dstnat dst-port=1022 in-interface=ether3 protocol=tcp \

to-addresses=10.0.10.200 to-ports=22

add action=netmap chain=dstnat dst-port=5060 in-interface=ether3 protocol=udp \

to-addresses=10.0.10.200 to-ports=5060

add action=netmap chain=dstnat dst-port=5060 in-interface=ether3 protocol=tcp \

to-addresses=10.0.10.200 to-ports=5060

add action=netmap chain=dstnat dst-port=8000 in-interface=ether3 protocol=tcp \

to-addresses=10.0.10.2 to-ports=8000

 

Прописал так, поставил первым нужное правило. Всё заработало как нужно

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.