1

У меня есть TCP-клиент и серверная программа, которую я сделал. Мой вопрос: когда клиент и сервер работают на двух разных машинах, которые проходят через другой межсетевой экран через Интернет, имеет ли значение, какой маршрутизатор имеет перенаправленные порты? Ex. Может ли только маршрутизатор, используемый клиентским компьютером, иметь правильные перенаправленные порты TCP, и соединение клиент-сервер будет установлено?

2 ответа2

1

Порты должны быть перенаправлены на маршрутизаторе для принимающей стороны соединения. Независимо от того, что вы делаете на стороне клиента, за исключением создания прямого сетевого подключения к сети сервера, это не повлияет на достижимость сервера через его брандмауэр / маршрутизатор.

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

0

это можно сделать с помощью ssh, создающего обратный ssh-туннель

используя ssh -R

вы запускаете любой сервер и подключаете свой ssh-клиент к его ssh-серверу с помощью ssh.exe -R, который создает открытый для него прокси-порт, к которому он подключается, и затем это соединение перенаправляется на любой сервер, на котором вы работаете. Затем вы избегаете переадресации портов на своем маршрутизаторе, даже если вы используете свой сервер, к которому он обращается.

два соединения сделаны. Соединение ssh и другое соединение, проходящее через него, в этом случае идут в другом направлении.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .