@thehyperbit

Проброс порта с ПК клиента на сервер?

Задача стоит в том, что на ПК клиента запускается сервер на определенном порту. И нужно чтобы клиент пробрасывал свой порт на n-ый порт на сервере Ubuntu, для того, чтобы к серверу, который расположен на ПК клиента, можно было подключиться через сервер Ubuntu на месте уже другого клиента. То есть сервер расположен в качесве посредника: Client(Host) -> Server <- Client.

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

Вот, на всякий случай готовый код проброса порта на сервер на C#.

private static void Main(string[] args)
{
using (var Client = new SshClient("tech.********.net", "login", "password"))
{
ForwardedPortRemote Port = new ForwardedPortRemote("localhost", 3000, "localhost", 48211);


Client.Connect();

Client.AddForwardedPort(Port);

Port.Start();

Connection = true;

Port.Exception += delegate (object sender, ExceptionEventArgs e)
{
Port.Stop();
Client.Disconnect();
Connection = false;
};
}
}
  • Вопрос задан
  • 98 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Karpion
Про какой порт Вы говорите? TCP-порт, COM-порт, LPT-порт, порт ввода/вывода (доступный через команды процессора IN/OUT)?

Я советую поискать на Хабре статью про использование SSh - там есть функция проброса TCP-портов, причём через качественно зашифрованное соединение.
Ответ написан
Griboks
@Griboks Куратор тега C#
Что за бред написан в первом абзаце? Ничего не понятно((
Проброс порта осуществляется так: вы отправляете udp-пакет на сервер каждые 30 секунд.
А дальше сервере либо ретранслирует, либо организует туннель.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы