Форум OlegON > Компьютеры и Программное обеспечение > Сеть > Сетевое оборудование > MikroTik

Mikrotik: проброс порта из wan в wan : MikroTik

25.11.2024 22:41


13.02.2017 14:44
Что есть:
1. Микротик
2. порт на WAN скажем 9999 который нужно пробросить.
3. Пробросить его нужно на порт другого компьютера с сети интерент... не в локалке... повторяю не в локалке...
т.е. грубо
порт 9999
локалка 192.168.0.1\24
ван 88.88.88.88
пробросить нужно на
77.77.77.77

т.е. я попой то понимаю что это не нат...
вот только понять не могу в какую сторону копать...
netmap естественно не работает..
13.02.2017 14:55
Ты бы лучше обрисовал, что именно хочешь сделать в целом. Сдается, что городишь какой-то страшный костыль.
Не очень понял, к чему ты помянул локалку... Порт на WAN или в локалке?
Я так понимаю, что ты говоришь о NAT, точнее DNAT (dstnat у Mikrotik). Оно?
13.02.2017 14:58
Я правильно понимаю, что на самом деле задача в том, что бы в 77.77.77.77 увидеть, что обращение идёт от 88.88.88.88, а не от реального клиента?
В таком случае - а почему бы Mikrotik-у не побыть VPN-сервером?
13.02.2017 14:59
Цитата:
OlegON Ты бы лучше обрисовал, что именно хочешь сделать в целом. Сдается, что городишь какой-то страшный костыль.
Не очень понял, к чему ты помянул локалку... Порт на WAN или в локалке?
Я так понимаю, что ты говоришь о NAT, точнее DNAT (dstnat у Mikrotik). Оно?
есть сервис... критичный... сервак нужно забирать в ремонт...
куча оборудования настроена на данный айпи...
перенастройка займет полгода и 1000 человека часов...
нужно с микротиком пробросить порт на мой сервак в датацентре на время ремонта глючной айбиэмосвкой железки...
13.02.2017 15:02
Цитата:
KirillHome Я правильно понимаю, что на самом деле задача в том, что бы в 77.77.77.77 увидеть, что обращение идёт от 88.88.88.88, а не от реального клиента?
нет... пофиг откуда и что.. главное чтобы работало.. и стабильно....

Цитата:
KirillHome В таком случае - а почему бы Mikrotik-у не побыть VPN-сервером?
ну.... кстати как мысль... но давай это оставим на крайний случий..
хотя за идею спасибо...
13.02.2017 15:14
пробрасывай и НАТь через себя. иначе ответы поедут не чрез тебя а напрямую. Клиент их выкинет...
13.02.2017 15:18
Цитата:
baggio есть сервис... критичный... сервак нужно забирать в ремонт...
куча оборудования настроена на данный айпи...
перенастройка займет полгода и 1000 человека часов...
нужно с микротиком пробросить порт на мой сервак в датацентре на время ремонта глючной айбиэмосвкой железки...
То есть - есть миллион клиентов, которые обращаются по адресу 77.77.77.77:9999 (твой старый адрес и порт старой службы), есть "новый адрес" 88.88.88.88, на котором на этом порту можно поднять ту же самую службу.


Вообще - быстрый гуглёж находит, к примеру (полуработающее решение - "пакеты убегают и не возвращаются")
Код:
/ip firewall nat add chain=dstnat dst-port=<какой нужен порт> action=netmap to-addresses=11.11.11.16 port=<нужный порт>
Ну, и также пишут следующее
Цитата:
я настраивал тока DST-NAT + Netmap когда мне надо было запросы из вне на роутер перенаправить на другой сервер в инете
13.02.2017 15:40
Без микротика, но с виртуальным сервером



Цитата:
может кому то поможет:

За сам проброс отвечает iptables, соответсвенно правила для проброса следующие:

iptables -t nat -A PREROUTING -p tcp --dst x.x.x.x --dport 3389 -j DNAT --to-destination y.y.y.y:3389

iptables -t nat -A POSTROUTING -p tcp --dst y.y.y.y --dport 3389 -j SNAT --to-source x.x.x.x

Где :

x.x.x.x — ip адрес виртуального сервера с iptables

y.y.y.y — ip адрес терминального сервера заказчика

Т.к. правила в iptables живут до перезагрузки нам нужно сделать скрипт и заставить его запускаться при старте системы.

1) создаем сам файл port_forward:

vi /etc/init.d/port_forward и вставляем следующее содержание:

#!/bin/bash
echo "1"> /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -t nat -A PREROUTING -p tcp --dst x.x.x.x --dport 3389 -j DNAT --to-destination y.y.y.y:3389
iptables -t nat -A POSTROUTING -p tcp --dst y.y.y.y --dport 3389 -j SNAT --to-source x.x.x.x

2) даем данному файлу права запуска:

chmod 755 /etc/init.d/port_forward

3) добавляем данный файл в автозагрузку:

cp -s /etc/init.d/port_forward /etc/rc3.d/S90port_forward

И перезагружаем виртуальный сервер — теперь терминальным клиентам остается только прописать в адресе подключения адрес x.x.x.x и их прозрачно будет перенаправлять на сервер y.y.y.y

Добавлю, что при работе на терминальном сервере в верху экрана (где пишется адрес, куда мы подключились) отображается адрес x.x.x.x

На самом терминальном сервере в рамках задачи тоже нужно сделать ряд ограничений, но это выходит за рамки данной заметки.
13.02.2017 17:46
Цитата:
KirillHome То есть - есть миллион клиентов, которые обращаются по адресу 77.77.77.77:9999 (твой старый адрес и порт старой службы), есть "новый адрес" 88.88.88.88, на котором на этом порту можно поднять ту же самую службу.


Вообще - быстрый гуглёж находит, к примеру (полуработающее решение - "пакеты убегают и не возвращаются")
Код:
/ip firewall nat add chain=dstnat dst-port=<какой нужен порт> action=netmap to-addresses=11.11.11.16 port=<нужный порт>
Ну, и также пишут следующее
не работает....
в логах... подключение по старому адресу 77.77.77.77:9999
но не слова о том что оно ушло на 88.88.88.88
по ходу действительно натить как то придется...
13.02.2017 17:48
Цитата:
KirillHome Без микротика, но с виртуальным сервером






тут как бы проброс через 2 интерфейса...
классический нат...
а мне нужно как то с одним извернуться...
Часовой пояс GMT +3, время: 22:41.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.