Есть ли способ выполнить простую задачу, NAT с одного общедоступного IP-адреса и определенного порта на другой общедоступный IP-адрес и другой порт, причина для этого в том, что второй IP-адрес заблокирован интернет-провайдером нашего клиента, а 1-й IP (на Mikrotik) не заблокирован. Я слышал об инструменте Linux под названием rinetd, который позволяет это легко сделать, но, к сожалению, у Mikrotik нет этого пакета.
Заранее спасибо!
Вы просто делаете dst-nat
на новый IP-адрес, а затем src-nat
к IP-адресу роутера.
Тебе не нужно rinetd
для этого, IP > Firewall > NAT
может поддержать это напрямую.
Вот несколько примеров правил:
/ip firewall nat add chain=dst-nat dst-address=OLD_PUBLIC_IP protocol=tcp dst-port=80 \
action=dst-nat to-addresses=NEW_PUBLIC_IP to-ports=80
/ip firewall nat add chain=src-nat dst-address=NEW_PUBLIC_IP protocol=tcp dst-port=80 \
action=masquerade
Сначала вы делаете Destination NAT
для всех пакетов, приходящих OLD_PUBLIC_IP
к TCP Port 80
, чтобы NEW_PUBLIC_IP
к port 80
.
Затем вы делаете Source NAT (masquerade)
для всех пакетов, предназначенных для NEW_PUBLIC_IP
к TCP Port 80
чтобы сервер, работающий на новом IP, знал, куда возвращать пакеты.
Это, как и rinetd, вызовет все перенаправлен подключения к новому IP, чтобы иметь исходный адрес маршрутизатора MikroTik вместо исходного IP-адреса клиента.
Изменить: перечитывая ваш вопрос, я не уверен, правильно ли я его понял. Наверное мой ответ оффтоп?
Нет никакой разницы при NAT. Сделайте то же самое, что и при преобразовании публичного IP-адреса в частный IP-адрес.