Как сохранить номер порта после прохождения NAT в Mikrotik?
Такой вопрос. Мне нужно, чтобы после прохождения NAT в микротике, при инициировании соединении с ip-телефона, например, с 5060 порта, он транслировался тоже в 5060 (UDP). То есть, чтобы микротик сохранял порт после трансляции и скажем, сервер телефонии видел, что телефон к нему подключается именно с 5060 порта, а не того, который рандомно предложит микротик. В роутерах кинетик это решается просто - командой ip nat udp-port-preserve и трансляция портов становится один-к-одному. А как в микротиках?
Очень странная задача, т.к., во-первых, в микротиках есть sip alg, а, во-вторых, обычно эта проблема легко решается соответствующей конфигурацией на стороне сип сервера для конкретного экстеншена
Я сколько то лет назад дома настраивал проброс портов для торрентов и skype. Но там сами программы поддерживают uPNP и можно зафиксировать порт. Я маркирую входящие соединения на эти порты (разные для разных машин в сетке) для chain=preprouting и разрешаю их в chain = forward (у меня по умолчанию все запрещено). А правила dst-nat, насколько я помню, создаются динамически рабочими станциями по uPNP. Итого, и входящие соединения правильно маршрутизируются. Если нет ни uPNP, ни порт на телефоне не зафиксировать, то не знаю. Но копать надо куда-то сюда все равно.
А можно не привязываться к телефону и порту 5060, а сделать трансляцию 1 к 1 для всех устройств сети? С оговоркой, что если порт уже занят другим внутренним хостом, то делается исключение для правила 1-к-1 и выбирается рандомный порт?