Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Сетевые технологии (http://forum.oszone.net/forumdisplay.php?f=31)
-   -   Mikrotik два IP на одном интерфейсе и проброс одного в локальную сеть. (http://forum.oszone.net/showthread.php?t=343268)

UncleD 13-12-2019 14:43 2900238

Mikrotik два IP на одном интерфейсе и проброс одного в локальную сеть.
 
Добрый день.
Когда-то давно нашей организации понадобилось два внешних IP, один чтобы отдаться роутеру раздающему интернет клиентам, а второй для сервака (АСУ ВРК для тех кому это что-то говорит). Тогда вопрос был решен установкой свича перед роутером и сервером. Теперь же, старенький бытовой роутер был заменен на Mikrotik и появилось страстное желание, прям кушать не можется, избавиться от лишнего узла. Недолгое знакомство с чудом латышской техники и гугление вопроса дали понять, что задача решаема, и Mikrotik может получать два IP на один интерфейс, а вот дальше кто на что горазд. И так подробнее:

Два внешних IP, пусть: 200.1.1.5 и 200.1.1.6

Первый (200.1.1.5) приходит на WAN интерфейс Mikrotik'а
Второй (200.1.1.6) приходит на первый интерфейс сервера

Несколько портов микротика собраны в бридж, на котором висит наша локальная сеть 192.168.2.0/24. В ней же находиться и второй интерфейс сервера (192.168.2.167), к которому подключаются клиенты.

То есть, сервер имеет два задействованных интерфейса:
Первый 200.1.1.6 - смотрящий на внешку
Второй 192.168.2.167 - смотрящий в локалку

На микротике было сделано следующее по этой статье.
Код:

/ip firewall nat
add action=netmap chain=srcnat src-address=192.168.2.167 to-addresses=200.1.1.6
add action=dst-nat chain=dstnat dst-address=200.1.1.6 to-addresses=192.168.2.167
/ip address
add address=200.1.1.6/32 interface=ether1-gateway network=200.1.1.6

Чтобы проверить работает ли правило - запретил на сервере ICMP ответы, и и тогда при попытке пинга 200.1.1.6 не получал ответа, а когда разрешил их снова, то пакеты поперли. Примитивно, но логично, так?

Еще есть маленькая утилита от разработчиков, которая проверяет доступность сервера на указанном ей IP и вот она его уже не видит.

Что я мог не учесть? Может быть какое-то типичное правило в фаерволе или в статье не описаны какие-то очевидные действия?

Anton04 14-12-2019 21:44 2900447

Цитата:

Цитата UncleD
Когда-то давно нашей организации понадобилось два внешних IP, один чтобы отдаться роутеру раздающему интернет клиентам, а второй для сервака »

Цитата:

Цитата UncleD
Первый (200.1.1.5) приходит на WAN интерфейс Mikrotik'а
Второй (200.1.1.6) приходит на первый интерфейс сервера »

Что Вам мешает выделить два порта под WAN интерфейсы на микротике!? И настроить для каждого порта свою маршрутизацию. Это даже не проблема, а чуть ли самое начало настройки, притом банальное до неприличия.

P.S. Притом из Вашей задачи я не понял какие IP есть у внутренних интерфейсов и нужно ли чтоб пакеты ходили между этими IP. В общем без визуальной картинки о том что хотим тут не разобраться.

UncleD 16-12-2019 20:02 2900759

Вложений: 1
Цитата:

Цитата UncleD
Первый (20 »

Цитата:

Цитата Anton04
Что Вам мешает выделить два порта под WAN интерфейсы на микротике!? И настроить для каждого порта свою маршрутизацию. Это даже не проблема, а чуть ли самое начало настройки, притом банальное до неприличия. »

Все и затевается ради того чтобы избавиться от свича перед роутером.
Цитата:

Цитата Anton04
P.S. Притом из Вашей задачи я не понял какие IP есть у внутренних интерфейсов и нужно ли чтоб пакеты ходили между этими IP. В общем без визуальной картинки о том что хотим тут не разобраться. »

Ну как смог. Верхняя как есть, нижняя как хочется.

Anton04 16-12-2019 20:51 2900766

UncleD,

Вопрос 1: раньше Ваш сервер 200.1.1.6 смотрел голой "попой" в интернет, сейчас вы хотите его перекинуть за NAT? Или же вы хотите выделить его в DMZ?
Вопрос 2: вопрос уточняющий и завязан с первым, вы физически сервер 200.1.1.6 будете подключать к микротику двумя патч кордами или одним?
Вопрос 3: от провайдера, сейчас к Вам приходят два "хвоста" или один?

UncleD 16-12-2019 22:57 2900796

Цитата:

Цитата Anton04
Вопрос 1: раньше Ваш сервер 200.1.1.6 смотрел голой "попой" в интернет, сейчас вы хотите его перекинуть за NAT? Или же вы хотите выделить его в DMZ? »

Именно, что голой. Изначально планировался NAT.
Цитата:

Цитата Anton04
Вопрос 2: вопрос уточняющий и завязан с первым, вы физически сервер 200.1.1.6 будете подключать к микротику двумя патч кордами или одним? »

Хотелось одним.
Цитата:

Цитата Anton04
Вопрос 3: от провайдера, сейчас к Вам приходят два "хвоста" или один? »

Один.

Anton04 17-12-2019 11:48 2900871

Цитата:

Цитата UncleD
Именно, что голой. Изначально планировался NAT. »

Цитата:

Цитата UncleD
Хотелось одним. »

Учитывая Ваши ответы не понятно зачем Вам второй IP адрес!?
Или он Вам нужен ну вот совсем? Или хочется, но можно и без него?

P.S. Вообще поясните, что у Вас на этом сервере Web/FTP или что-то своё не распространённое?

UncleD 17-12-2019 12:26 2900879

Цитата:

Цитата Anton04
Учитывая Ваши ответы не понятно зачем Вам второй IP адрес!?
Или он Вам нужен ну вот совсем? Или хочется, но можно и без него?
P.S. Вообще поясните, что у Вас на этом сервере Web/FTP или что-то своё не распространённое? »

Там база данных, реплицирующая головную БД поставщика услуги. Если вам это что-то говорит, то это АСУ ВРК. И вот он, поставщик, говорит, что без внешнего IP ну вот совсем совсем никак, но почему не объясняет. Может быть, когда разберусь с этим этапом, попробую решить и эту проблему, а сейчас все упирается в простои в работе, которых лучше не допускать ради эксперимента, и при том работают с базой круглосуточно.
На самом серваке крутиться FB и две службы от поставщика. Для его соединения с головным сервером и подключения к нему наших внутренних клиентов нужно было в виндовом фаерволе открывать порты 5840-5850 и 3050.

dislike 17-12-2019 13:29 2900890

Цитата:

Цитата UncleD
И вот он, поставщик, говорит, что без внешнего IP ну вот совсем совсем никак, но почему не объясняет. ....Для его соединения с головным сервером и подключения к нему наших внутренних клиентов нужно было в виндовом фаерволе открывать порты 5840-5850 и 3050. »

Не вижу тут никакой проблемы. Внешний IP у вас так и так останется - дайте его микротику. Сервер загоняйте в локальную сеть как любой другой ПК. На микротике делайте проброс портов на ваш сервер и всё. Никто снаружи и не узнает, что у вас вместо сервера теперь роутер запросы принимает. А другой ваш внешний IP адрес (который принадлежал старому роутеру) останется не у дел. Можно будет от него отказаться, наверное это даже принесет какую-то экономию на услугах провайдера.
Чтобы избежать простоев на время настройки, используйте вместо сервера какой-либо другой компьютер и на нем тренируйтесь. Потом их просто местами поменяете и всё.

Anton04 17-12-2019 16:44 2900926

UncleD,

В таком случае, как сказал коллега dislike, проблем нет, то только если Вам известны порты и протоколы которые Вам нужно прокинуть к серверу.

UncleD 18-12-2019 10:13 2901016

Цитата:

Цитата dislike
На микротике делайте проброс портов на ваш сервер и всё. »

В целом, протягивание внешнего IP во внутреннюю сеть было скорее ради того чтобы узнать что-то новое и интересное, но если все сведется к пробросу портов, то меня и так устроит. Что и попытался сделать.
Создано вот такое правило NAT:
Код:

/ip firewall nat
add action=netmap chain=dstnat comment="Mapping 200.1.1.5 >> 192.168.2.167
    disabled=yes dst-port=5846 in-interface=ether1-wan protocol=tcp \
    to-addresses=192.168.2.167 to-ports=5846

Да, сейчас правило отключено, включаю когда пробую что-то изменять.

Использовал WAN микротика, потому что сервер имеет свой IP во внутренней сети и трогать его внешний нет смысла, все верно на правах эксперимента?
При такой реализации ничего не работает и https://www.wservice.info/ говорит, что порт 5846 закрыт, утилита проверки возвращает ошибку.
Тогда отключаю правило:
Код:

/ip firewall filter
add action=drop chain=forward comment="Disable WAN>LAN" in-interface=ether1-wan \
    out-interface=bridge1

ЕслиКогда закончу с пробросом, то узнаю адрес головного сервера и разрешу конекты от него.
Теперь https://www.wservice.info/ сообщает, что 5846 открыт, но утилита все еще молчит.

В процессе нашелся гораздо более простой способ проверки доступности сервера, можно в браузере ввести его адрес с указанием порта (200.1.1.6:5846 или 192.168.2.167:5846) и он покажет "Привет от сервера АСУ ВРК". Но даже так он не отвечает при обращении на 200.1.1.5.

При проверке доступности сервера через утилиту, как на внешний так и на внутренний IP, WS показывает такие пакеты, будучи запущенным на другой машине в локальной сети и имея фильтр ip.addr == 200.1.1.6 or ip.addr==200.1.1.5
Код:

5260        48.716896        192.168.2.164        200.1.1.6          TCP        66        57916 → 5846 [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=4 SACK_PERM=1
5261        48.717233        200.1.1.6          192.168.2.164        TCP        66        5846 → 57916 [SYN, ACK] Seq=0 Ack=1 Win=8192 Len=0 MSS=1460 WS=256 SACK_PERM=1
5262        48.717287        192.168.2.164        200.1.1.6          TCP        54        57916 → 5846 [ACK] Seq=1 Ack=1 Win=65700 Len=0
5263        48.717346        192.168.2.164        200.1.1.6          HTTP/XML        806        POST /soap/ICDRW_replic HTTP/1.1
5264        48.727309        200.1.1.6          192.168.2.164        TCP        192        5846 → 57916 [PSH, ACK] Seq=1 Ack=753 Win=525568 Len=138 [TCP segment of a reassembled PDU]
5265        48.727334        192.168.2.164        200.1.1.6          TCP        54        57916 → 5846 [ACK] Seq=753 Ack=139 Win=65560 Len=0
5266        48.727717        200.1.1.6          192.168.2.164        HTTP/XML        548        HTTP/1.1 200 OK
5267        48.727738        192.168.2.164        200.1.1.6          TCP        54        57916 → 5846 [ACK] Seq=753 Ack=634 Win=65068 Len=0
5268        48.727753        192.168.2.164        200.1.1.6          TCP        54        57916 → 5846 [FIN, ACK] Seq=753 Ack=634 Win=65068 Len=0
5269        48.728080        200.1.1.6          192.168.2.164        TCP        60        5846 → 57916 [ACK] Seq=634 Ack=754 Win=525568 Len=0

При попытке проверить доступность сервера по IP WAN микротика ловим TCP Retransmission.

Busla 18-12-2019 10:54 2901023

UncleD, по уму, провайдер должен был выдать подсеть, тогда бы вы полноценно маршрутизировали трафик
чтобы firewall'ом рулить трафик по двум ip они должны быть прописаны на интерфейсе, вот только это не работает для ip из одной сети

Цитата:

Цитата UncleD
Создано вот такое правило NAT:
Код:
/ip firewall nat
add action=netmap chain=dstnat comment="Mapping 200.1.1.5 >> 192.168.2.167
disabled=yes dst-port=5846 in-interface=ether1-wan protocol=tcp \
to-addresses=192.168.2.167 to-ports=5846 »

наглядный пример, как не надо писать комментарии ;-)

Цитата:

Цитата UncleD
Тогда отключаю правило:
Код:
/ip firewall filter
add action=drop chain=forward comment="Disable WAN>LAN" in-interface=ether1-wan \
out-interface=bridge1 »

а не надо было ломать дэфолтные правила и писать эту отсебятину

Цитата:

Цитата Anton04
вы хотите его перекинуть за NAT? Или же вы хотите выделить его в DMZ? »

одно другое не исключает

UncleD 19-12-2019 12:06 2901246

Цитата:

Цитата Busla
а не надо было ломать дэфолтные правила и писать эту отсебятину »

Спасибо, дали мотивацию к некоторому гуглению, хоть и в другую сторону.
На данный момент реализация следующая:
Правила NAT:
Код:

/ip firewall nat
add action=dst-nat chain=dstnat dst-address=200.1.1.5 dst-port=5846 protocol=\
    tcp to-addresses=192.168.2.167
add action=src-nat chain=srcnat dst-address=192.168.2.167 dst-port=5846 protocol=\
    tcp src-address=192.168.2.0/24 to-addresses=192.168.2.1

Правило firewall, стоящее выше запрещающего WAN в LAN
Код:

/ip firewall filter
add action=accept chain=forward comment="Accept tcp 5846 WAN to LAN" dst-port=5846 \
    in-interface=ether1-wan protocol=tcp

Как пропишем у поставщика услуг новый IP сервера и погоняем пару дней, так проставлю решено, если не выявится ни каких проблем.

Anton04 19-12-2019 15:35 2901284

UncleD,

Рекомендация. Используйте "Interface list" в правилах фильтрации и фаервола. Будет намного легче.

Busla 19-12-2019 17:18 2901298

UncleD, по дэфолту Mikrotik разрешает в фильтре прописанные в nat правила:
Код:

chain=forward action=drop connection-state=new connection-nat-state=!dstnat in-interface=ether1-wan


Время: 04:01.

Время: 04:01.
© OSzone.net 2001-