В помощь. NAT Loopback (обращение на внешний ip сети

Обсуждение оборудования и его настройки
Galeoner
Сообщения: 9
Зарегистрирован: 11 июл 2012, 14:27

В помощь. NAT Loopback (обращение на внешний ip сети

Сообщение Galeoner » 14 авг 2013, 11:15

Возможно я не первый...
Долго ковырял этот вопрос в интернете но все таки нашел решение. Немного подправил и получил удобный вариант!
Многие сталкивались с вопросом обращения на внешний свой ip изнутри сети чтобы например проверить как работает то или иное правило NAT...
но к огромному сожалению такой информации очень мало очень скудно но имеется.
Вот мое работающее решение
/ ip firewall nat
add chain=srcnat action=src-nat to-addresses=xxx.xxx.xxx.xxx protocol=tcp dst-port=0-65535 src-address=yyy.yyy.yyy.0/24 to-ports=0-65535 comment=”NAT loopback” disabled=no

где xxx.xxx.xxx.xxx - внешний IP
yyy.yyy.yyy.0/24 - внутренняя подсеть

Вуаля и работает!
С портами делайте все что хотите)))
V palto
Сообщения: 33
Зарегистрирован: 12 дек 2014, 16:21

Re: В помощь. NAT Loopback (обращение на внешний ip сети

Сообщение V palto » 14 июн 2015, 10:57

А как быть, если внешний IP динамический? А если я хочу реализовать данную фишку с внешним доменным именем, как тогда?
podarok66
Модератор
Сообщения: 3113
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Re: В помощь. NAT Loopback (обращение на внешний ip сети

Сообщение podarok66 » 14 июн 2015, 11:47

V palto писал(а):А как быть, если внешний IP динамический?

Скриптом, скорее всего, пусть проверяет соответствие адреса на внешнем интерфейсе адресу в правиле и при расхождении меняет адрес в правиле.
V palto писал(а):А если я хочу реализовать данную фишку с внешним доменным именем, как тогда?

В DNS static прописать соответствие, думаю должно работать...
Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
V palto
Сообщения: 33
Зарегистрирован: 12 дек 2014, 16:21

Re: В помощь. NAT Loopback (обращение на внешний ip сети

Сообщение V palto » 14 июн 2015, 11:53

С динамическим IP - костыль, ясно. А вот для доменного имени делал статическую запись в DNS, из локалки-то все как задумывалось работает, но вот если извне ломиться на FTP, то сносит башню FTP-клиенту, ему FTP-сервер возвращает не свой внешний IP, а свой внутренний (т.к. у FTP-сервера в настройках прописано как-раз доменной имя, по причине динамического внешнего IP). Если убрать статическую запись в DNS, то с FTP все хорошо.
podarok66
Модератор
Сообщения: 3113
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Re: В помощь. NAT Loopback (обращение на внешний ip сети

Сообщение podarok66 » 14 июн 2015, 15:35

Ну тогда не знаю... Воспроизвести пока не на чем.
Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Rusx123
Сообщения: 13
Зарегистрирован: 13 май 2015, 12:16

Re: В помощь. NAT Loopback (обращение на внешний ip сети

Сообщение Rusx123 » 16 июн 2015, 12:20

ну вообще про такой NAT было в вики

http://wiki.mikrotik.com/wiki/Hairpin_NAT

может 2 записи для внешнего и внутреннего ip в dns?

используется dyndns? no-ip?

обновляется скриптом или в облаке микротика?

http://wiki.mikrotik.com/wiki/Manual:IP/Cloud

я старовер со скриптом например:

/system script
add name=dyndns policy=\
ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api \
source="##############Script Settings##################\r\
\n\r\
\n:local NOIPUser \"rus123\"\r\
\n:local NOIPPass \"мой мегасекретный пароль\"\r\
\n:local WANInter \"pppoe-out1\"\r\
\n\r\
\n###############################################\r\
\n\r\
\n:local NOIPDomain \"\$NOIPUser.no-ip.biz\"\r\
\n:local IpCurrent [/ip address get [find interface=\$WANInter] address];\r\
\n:for i from=( [:len \$IpCurrent] - 1) to=0 do={ \r\
\n :if ( [:pick \$IpCurrent \$i] = \"/\") do={ \r\
\n :local NewIP [:pick \$IpCurrent 0 \$i];\r\
\n :if ([:resolve \$NOIPDomain] != \$NewIP) do={\r\
\n /tool fetch mode=http user=\$NOIPUser password=\$NOIPPass url=\"http\
://dynupdate.no-ip.com/nic/update\\3Fhostname=\$NOIPDomain&myip=\$NewIP\" ke\
ep-result=no\r\
\n :log info \"NO-IP Update: \$NOIPDomain - \$NewIP\"\r\
\n }\r\
\n } \r\
\n}\r\
\n"

добавив пару строчек в нужное место можно обновлять и правило NAT, например
/ip fi nat set [find comment~"NAT loopback"] dst-address=$IpCurrent
или днс запись про внешний адрес
/ip dns static set [find name ~"Вот прям мой роутер снаружи.ru"] address=$IpCurrent
V palto
Сообщения: 33
Зарегистрирован: 12 дек 2014, 16:21

Re: В помощь. NAT Loopback (обращение на внешний ip сети

Сообщение V palto » 17 июн 2015, 07:30

Я использовал раньше DynDNS, но в скрипте (примерно как в вашем) используется fetch, из-за которого постоянно усыпан лог этим самым fetch (было с определенной версии ROS). По сему использую Cloud микротиковский, а делее через No-IP делается CNAME на человеческое доменное имя. В общем от скрипта и бардака в логе я ушел.
Кстати, вопрос - fetch и посейчас забивает лог? В нынешней 6.29.1 не изменилось ничего?

Две записи в DNS..., попробую конечно, но как сам DNS будет разруливать кому на какой адрес обращаться? Стучусь я из локалки на доменное имя, по одной статической записи я точно никуда не достучусь, по второй все хорошо будет, но вот на какую запись я попаду? Та же ситуация и с обращением из внешки. Да и вот еще - для FTP-сервера будет пофигу на какую статическую запись попадет его ответ, обращающемуся к FTP извне, а вот что к обращающемуся придет - это вопрос.
В общем, надо пробовать, но сомнительно.

Про Hairpin NAT смотрел неоднократно, но там все про IP, про доменное имя не увидел (ткните носом, если там это есть).
wolf_ktl
Сообщения: 457
Зарегистрирован: 25 июн 2013, 18:12

Re: В помощь. NAT Loopback (обращение на внешний ip сети

Сообщение wolf_ktl » 10 фев 2016, 12:24

/ip firewall nat
add chain=dstnat dst-address=*.*.*.* protocol=tcp dst-port=8082 \
action=dst-nat to-address=192.168.8.20
add chain=srcnat out-interface=ether1-WAN action=masquerade

/ip firewall nat
add chain=srcnat src-address=192.168.8.0/24 \
dst-address=192.168.8.20 protocol=tcp dst-port=8082 \
out-interface=ether2-LAN action=masquerade

Вернуться в «MikroTik RouterBOARD»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя