У меня новая проблема, связанная с прохождением NAT.Я развертываю приложение C #, которое запускает FTP-сервер, когда происходит событие.Проблема в том, что компьютер, на котором работает FTP-сервер, находится за маршрутизатором NAT / Firewall, поэтому я не могу получить к нему доступ с любого внешнего компьютера, подключенного к Интернету.Поэтому я хочу иметь возможность подключаться с моего компьютера к FTP-серверу, но перенаправление портов не вариант.
Я прочитал несколько статей о пробивании отверстий, UPnP и т. Д., Но я не могу полагаться на UPnPтак как я не знаю, поддерживает ли его маршрутизатор.
Я изучил проблему обхода NAT, и на данный момент единственный способ решить эту проблему - инициировать соединение с работающей машины.FTP-сервер (иначе он должен действовать как клиент, чтобы у NAT было правило для трансляции IP / PORT).Тем не менее, я не думаю, что какой-либо Windows FTP-сервер имеет эту функцию.
Поскольку у меня удаленный VPS-сервер, который не имеет Natted, и где я могу перенаправить все, что захочу, я думал создать туннель междуклиент и сервер через VPS.
FTP-сервер (установить соединение с) -> VPS ---> Клиент (подключение)
FTP-сервер <--- VPS <-- Клиент (ответ) </p>
Однако я не знаю, есть ли способ сделать то, что я объяснил, или есть какой-то более простой способ сделать это.Любая помощь приветствуется.