Добрый день!
Сначала стоит подробнее рассказать о Ш. Каким образом и какой трафик с него попадает на М? На Ш кто-то настраивал dst-nat? Если да, то каким образом и с какими правилами.
Без объяснения этого непонятно, что происходит с трафиком в цепочке Ш(20.0.0.1) --> M(20.0.0.2)
Ну и далее желательно увидеть таблицы маршрутизации М и S
В этом правиле не видно, какой тип трафика хотите транслировать. Не весь же.
/ip firewall nat add chain=dstnat dst-address=20.0.0.2 action=dst-nat to-addresses=10.0.0.2
И к тому же не указаны настройки файрвола (весь ли трафик разрешен или же есть блокирующие правила)
Насколько я понимаю, S только слушает входящие соединения, поэтому это правило ставить не надо. Если М служит шлюзом для S, то правило необходимо изменить, что бы весь трафик, кроме локального, подвергался src-nat (в action указать маскарад, а так же указать в качестве Out-int - порт к Ш).
/ip firewall nat add chain=srcnat src-address=10.0.0.2 action=src-nat to-addresses=20.0.0.2
Зато важно, кто у S прописан шлюзом, его таблица маршрутизации
Желательно приведите дамп на М:
/ip firewall export compact
/ip route print
На S:
route print
либо линукс-аналог, если S не windows
И на Ш настройки port forward, если есть такая возможность