0

Я читал о теме в статьях wiki Ethernet, OSI модель, TCP, UDP, Маршрутизация(никаких ссылок из-за новых пользовательских ограничений) и другие, но не смогли ответить на мою конкретную проблему.Как имитировать прямое сетевое соединение между двумя компьютерами через Интернет?

Ситуация: 4 компьютеров (AD)

Они связаны друг с другом, как это, используя локальные сети: A <-LAN-> B <-Internet-> C <-LAN-> D(только ссылку вместо изображения из-за новые ограничения пользователей, опять извините)

Что я пытаюсь выполнить: Компьютер A должен быть обманут, чтобы думать, что он напрямую связан с компьютером D (и наоборот). Программное обеспечение для этого должно выполняться только на компьютерах B и C.

В чем моя проблема: Я не могу сказать, что нужно делать подробно для достижения моей цели. Возможно ли, чтобы A и D полагали, что они связаны друг с другом, используя программное обеспечение, которое работает в современной операционной системе на компьютерах B и C?

Я понимаю, что, если бы я действительно смоделировал это соединение, мне пришлось бы передавать информацию на физическом уровне. Сколько можно сделать с уровня приложения операционной системы на B/C, чтобы выполнить то же самое? Возможно ли это?

Что я мог сделать с моей точки знания уже: Имея клиентскую программу на А, посылает датаграммы или поток байтов в B (зная, что B затем отправить его через интернет на С, затем, в свою очередь, отправит данные в D). То же самое относится и к направлению D А.

Моя проблема с этим решением: Это решение имеет недостатки в том смысле, что мне нужно было 2 программных решений (один для A/D, один для B/C), Кроме того, он ограничивает соединение с протоколами TCP и UDP, также он не имитирует соединение, а лишь обходным путем маршрутизирует информацию от A до D, а не симуляцию однорангового соединения.

Что приводит меня к вопросу из названия:

Как симулировать прямое подключение к сети между двумя ПК через Интернет?

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

ответ

0

Мне кажется, что вы можете использовать некоторый тип программного обеспечения VPN. Я использовал LogMeIn Hamachi (который является бесплатным), чтобы выполнить это в прошлом.

Для этого ключевым моментом будет настройка «прямого» vpn между B и C, иначе Hamachi будет довольно медленным, потому что он проходит через другие серверы для маршрутизации вашего сетевого трафика.

https://secure.logmein.com/products/hamachi/download.aspx

+0

Глядя на Hamachi снова, я также нашел [tinc] (http://www.tinc-vpn.org/download/), который также имитирует сетевой адаптер.даже если им не удалось смоделировать прямое соединение, возможно, я смогу использовать tinc вместе с маршрутизацией, чтобы выполнить то, что я хочу сделать. Спасибо за предложение, я подожду немного, чтобы узнать, появилось ли больше идей. – Kutzi

+0

Более дорогостоящим (и отнимающим много времени) вариантом будет установка аппаратного VPN, так что задействованные компьютеры ничего не знают о топологии сети и не нуждаются в программном обеспечении. Это было бы более масштабируемым и поддерживаемым, если бы у вас было много компьютеров с каждой стороны. – theMayer

Смежные вопросы