Jump to content
Калькуляторы

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

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

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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 - это интерфейс, на котором находится шлюз по умолчанию.

Share this post


Link to post
Share on other sites

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

/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

Share this post


Link to post
Share on other sites

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

 

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

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

add action=masquerade chain=srcnat

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

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

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

Share this post


Link to post
Share on other sites

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

 

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

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

 

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

Share this post


Link to post
Share on other sites

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

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

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

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

Share this post


Link to post
Share on other sites

/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

 

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

Share this post


Link to post
Share on other sites

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.