Подключитесь к FTP-серверу за NAT и Firewall без переадресации портов - PullRequest
0 голосов
/ 01 февраля 2012

У меня новая проблема, связанная с прохождением NAT.Я развертываю приложение C #, которое запускает FTP-сервер, когда происходит событие.Проблема в том, что компьютер, на котором работает FTP-сервер, находится за маршрутизатором NAT / Firewall, поэтому я не могу получить к нему доступ с любого внешнего компьютера, подключенного к Интернету.Поэтому я хочу иметь возможность подключаться с моего компьютера к FTP-серверу, но перенаправление портов не вариант.

Я прочитал несколько статей о пробивании отверстий, UPnP и т. Д., Но я не могу полагаться на UPnPтак как я не знаю, поддерживает ли его маршрутизатор.

Я изучил проблему обхода NAT, и на данный момент единственный способ решить эту проблему - инициировать соединение с работающей машины.FTP-сервер (иначе он должен действовать как клиент, чтобы у NAT было правило для трансляции IP / PORT).Тем не менее, я не думаю, что какой-либо Windows FTP-сервер имеет эту функцию.

Поскольку у меня удаленный VPS-сервер, который не имеет Natted, и где я могу перенаправить все, что захочу, я думал создать туннель междуклиент и сервер через VPS.

FTP-сервер (установить соединение с) -> VPS ---> Клиент (подключение)

FTP-сервер <--- VPS <-- Клиент (ответ) </p>

Однако я не знаю, есть ли способ сделать то, что я объяснил, или есть какой-то более простой способ сделать это.Любая помощь приветствуется.

Ответы [ 2 ]

0 голосов
/ 20 января 2016

Единственное решение, которое может стереть вопрос, - добавить правило на сервер, содержащее это: имя вашего приложения (или порт, который вы используете, я не рекомендую это) и разрешить действие.К вашему сведению, это не решение для программирования, а решение для сети.

0 голосов
/ 12 марта 2012

Простое решение - убедиться, что у вашего ftp-сервера есть публичный IP-адрес, и прослушивать входящие FTP-запросы.

However i don't know if there's a way to do what i explained or if there's some easyer way to do that. Any help is appreciated.

То, что вы пытаетесь сделать с этим другим решением, называется использованием прокси. Это также похоже на TURN-подобное решение. При правильной настройке и наличии общедоступного IP-адреса прокси-сервер может точно перенаправлять трафик на ваш сервер, как только ваш сервер установит соединение с прокси-сервером.

...