Страница 1 из 2

Nat Loopback

Добавлено: 10 июл 2015, 09:59
wolf_ktl
Есть сеть
Изображение

Микротик 192.168.0.1 имеет несколько внешних iP

один из них 178.*.*.*

За микротиком крутиться web сервер. Делал Nat Loopback дабы из внутренней сети заходить по внешнему ip на web сервер.


/ip firewall nat
add action=src-nat chain=srcnat comment="Nat 178.*.*.* Loopback2" to-addresses=178.*.*.* protocol=tcp src-address=192.168.0.0/24 log=no log-prefix=""

add action=dst-nat chain=dstnat comment="Nat 178.*.*.* http 192.168.0.4 2" to-addresses=192.168.0.4 to-ports=80 protocol=tcp dst-address=178.*.*.* dst-port=80 log=no log-prefix="" in-interface=local

По странной причине не могу зайти на 192.168.7.1 через винбокс

Микротики общаются через PPTP маршрутизация RIP

Стоит в первое правило добавить out-interface=wan1, захожу через winbox на 192.168.7.1 , но пропадает проброс на 80 порт через внешний ip

Re: Nat Loopback

Добавлено: 24 июл 2015, 20:03
wolf_ktl
Ребята, разве не кто не настраивал проброс порта веб сервера, чтобы модно было из внутренний сети на внешний ip зайти и попасть на веб сервер

Re: Nat Loopback

Добавлено: 25 июл 2015, 06:39
saszay
А зачем именно на внешний? Чем внутренний плох?

Re: Nat Loopback

Добавлено: 25 июл 2015, 08:37
Vladimir22
Днс наше все! Внутри резольвится внутренний ип с наружи внешний . Все довольны .

Re: Nat Loopback

Добавлено: 25 июл 2015, 10:27
plin2s

Re: Nat Loopback

Добавлено: 12 мар 2016, 23:56
Stealth
А я опытом поделиться хотел.
Задачка была, наверное, банальная: надо было сделать проброс портов на Микротике на внутренние ресурсы сети, но так, чтобы на эти внутренние ресурсы сети можно было заходить по интернетовскому доменному имени Микротика как из интернета, так и внутри сети. Обычный проброс портов "в лоб" работает только для обращений из интернета. При обращении внутри локальной сети по внешнему доменному имени получаем обломс. В интернетах нашлось 2 решения по NAT loopback: одно - прописать на DNS Микротика "Static DNS" domain.name -> Внутренний_IP_адрес_ресурса, и тогда все обращения по доменному имени внутри сети будут направляться на этот внутренний ресурс. Но это не подходит, когда внутренних ресурсов несколько, а не один, ведь "Static DNS" мы можем написать только для одного ресурса. Второе решение - Hairpin NAT, описанное в Wiki http://wiki.mikrotik.com/wiki/Hairpin_NAT . Однако с ним тоже проблемы, если внешний IP адрес является динамическим и часто меняется (с доменным именем от dyndns, например). В Hairpin NAT, описанном в Wiki, в правилах NAT необходимо указывать внешний IP, что неприемлемо, когда он часто меняется. Поразмыслив, я придумал следующее "идеальное" решение, объединившее оба способа в один:

/ip dns static
add address=192.168.88.1 name=myname.dyndns.org
/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade"
add action=netmap chain=dstnat comment=RDP dst-port=3389 in-interface=ether1-gateway protocol=tcp to-addresses=192.168.88.2
add action=netmap chain=dstnat dst-address=192.168.88.1 dst-port=3389 protocol=tcp to-addresses=192.168.88.2

Т.е. прописываем в статический DNS сопоставление доменному имени внутреннего IP адреса роутера (а не внутреннего ресурса). Любой клиент внутри сети будет попадать на роутер по доменному имени.
В правиле для маскарадинга убираем out-interface. Маскарадиться будет не только внешний, но и внутренний интерфейс.
Прописываем 2 правила для форвардинга - одно для внешнего интерфейса ether1-gateway, а второе для внутреннего (для тех, кто будет попадать на роутер по статическому внутреннему IP dst-address=192.168.88.1). Таким образом мы избавляемся от необходимости непременно указывать внешний IP адрес в правилах NAT, который у нас часто меняется.

Такой подход проверен и успешно работает в моей сети. Он более универсален, чем описанные ранее, поэтому я решил поделиться опытом, может кому пригодится.

Re: Nat Loopback

Добавлено: 13 мар 2016, 08:32
vqd
)) это решение будет вам казаться идеальным пока у вас внешние сервисы внутри сети не встанут с некоторыми политиками безопасности, например тот же SMTP

Ну и static DNS можно задавать как угодно, если конкретно ваш случай расмотреть то вам либо по человечески Hairpin_NAT настраивать что в принципе будет верным решением, либо достаточно статические записи в ДНС внести, что будет костылем

Re: Nat Loopback

Добавлено: 13 мар 2016, 12:22
Stealth
C чего бы это SMTP должен встать? Работает он как работал... А Hairpin_NAT в том виде как он в Wiki описан не подошёл, т.к. там надо обязательно внешний IP прописывать в NAT-правилах. А он меняется после каждой перезагрузки роутера. Не править же правила в NAT после каждой перезагрузки :-) После полночи размышлений и рисования прохождения пакетов родилось такое вот решение, и работает же, и SMTP, и остальные внешние сервисы тоже :)

Re: Nat Loopback

Добавлено: 13 мар 2016, 14:08
vqd
ну когда у вас наступят не понятные для вас проблемы просто вспомните этот пост )))

Re: Nat Loopback

Добавлено: 15 мар 2016, 02:55
Stealth
Усовершенствовал метод: вместо 2-х правил для форвардинга теперь одно, для локальных по отношению к роутеру адресов:

/ip dns static
add address=192.168.88.1 name=myname.dyndns.org
/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade"
add action=netmap chain=dstnat comment=RDP dst-address-type=local dst-port=3389 protocol=tcp to-addresses=192.168.88.2

Проверено, работает!