Вы получаете такую ошибку, потому что при просмотре через файловый менеджер вы фактически используете smbclient, который отлично работает со старой версией smb. К сожалению, smbfs и команда smbmount, которые работали нормально, устарели и заменены cifs и его mount.cifs, которые вообще не работают со старыми общими ресурсами. Я нахожусь в одной лодке и пока не нашел решения, извините.
Если бы ядро разрешило это, у него не было бы способа узнать, какое входящее соединение должно быть подключено к какому приложению.
Вы должны сделать так, чтобы приложения были привязаны к разным IP-адресам. Большинство приложений могут это сделать (но большинство приложений также позволяют изменять свои порты ...)
Если приложения не позволяют этого, я бы запускал их на разных сетевых стеках (либо на двух разных физических машинах, либо на виртуальных машинах, может быть, на докерах).
Я не тестировал это сам, но для Linux вы можете настроить два разных IP-адреса для своей сетевой карты и использовать этот bindhack
:
http://www.ryde.net/code/bind.c.txt
В противном случае можно было бы изменить жестко запрограммированный номер порта в двоичном файле с помощью шестнадцатеричного редактора. Дизассемблирование или запуск отладчика может помочь найти правильное место для его изменения.