Mirkotik loopback

Для чего нужен loopback?

Например вы хотите проверить как работает ваш web-server который расположен во внутренний сети из интернета, или просто как работает ваш dst-nat но при этом сами находитесь внутри и сервера который бы находился в интернете с удалённым доступом у вас нет, и нет знакомых которые бы могли проверить как работает тот или иной сервис.

Более подробно о loopback можно почитать на вики.

Итак, приступим к  настройке loopback на микротике, если у вашего интернет подключения адрес статический, то достаточно добавить одно правило в раздел Firewall вкладка NAT. В моём примере я буду использовать порт 80 tcp, но по аналогии можно настроить на любой другой порт.

Можно настроить как через GUI так и через терминал.

GUI:

выбираем IP - Firewall, вкладка NAT, жмём плюс (+) - создать новое правило.

Chain: dstnat
Dst.Address: - наш внешний статический IP
Protocol: tcp
Dst. Port: 80
In. Interface: - интерфейс который смотрит в локальную сеть (внутрь)

 mikrotik-firewall-nat-general

 Переходим на вкладку Action:

Action: dst-nat
To Addresses: ip адрес вашего веб сервера
To Ports: 80

 mikrotik-firewall-nat-action

 Это всё. Через терминал как обычно проще, запускаем новый терминал и набираем

ip firewall nat add chain=dstnat dst-address=123.45.67.89 protocol=tcp dst-port=80 in-interface=ether3-Master-local action=dst-nat to-addresses=192.168.100.20 to-ports=80

Это что касается статического адреса, для динамического делаем всё тоже самое + скрипт + комментарий на правило что бы потом могли его менять скриптом.

Комментарий используемый в моём случае будет - http-loopback-mts

Ниже текст скрипта:

###################################################################
#Description:LoopBack-for-dynamic-interface
####################################################################
#Указываем имя интерфейса
:local DynIface "pppoe-mts";

#Получаем IP интерфейса
:local DynIfaceIP [ /ip address get [/ip address find interface=$DynIface ] address ];

#Проверяем изменился IP адрес или нет.
:local DynIfaceIPLast [/ip firewall nat get [find comment="http-loopback-mts"] dst-address];

#Если изменился меняем IP адрес в нашем правиле.
:if ([ :typeof $DynIfaceIP ] = nil ) do={
:log info ("No ip address present on " . $DynIface . ", loopback don't work.")
} else={
:if ($DynIfaceIP != $DynIfaceIPLast) do={
:log info "Loopback update! ($DynIfaceIP)"
/ip firewall nat set [find comment="http-loopback-mts"] dst-address=$DynIfaceIP;
}
}

Добавляем этот скрипт в микротик - System-Sripts. Назовём например dynamic-loopback. И затем добавляем в планировщик System-Sheduler у меня провайдер довольно редко меняет IP поэтому интервал я установлю один раз в час, в поле On-Event: впишем команду /system script run dynamic-loopback. Вот и всё.

mikrotik-system-shedule

Вопросы и пожелания можно оставлять ниже в комментариях.

Zo2 Framework Settings

Select one of sample color schemes

Google Font

Menu Font
Body Font
Heading Font

Body

Background Color
Text Color
Link Color
Background Image

Header Wrapper

Background Color
Modules Title
Text Color
Link Color
Background Image
Background Color
Modules Title
Text Color
Link Color
Background Image
 
Top of Page