как получить доступ к серверу в локальной сети из интернета - PullRequest
0 голосов
/ 10 марта 2011

Предположим, у меня есть серверное приложение, которое работает на компьютере, который не подключен к Интернету напрямую, а подключен к маршрутизатору, поэтому вопрос заключается в том, как подключиться к этому серверу с другого компьютера, не находящегося во внутренней сети (из Интернета)?

Насколько мне известно, администратор может настроить маршрутизатор для перенаправления заданных запросов портов на этот компьютер, но могу ли я сделать это автоматически?

Я использую WCF и C #

Ответы [ 4 ]

4 голосов
/ 10 марта 2011

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

2 голосов
/ 10 марта 2011

Если маршрутизатор поддерживает uPnP и серверное приложение запрашивает его, маршрутизатор может открыть порт от имени серверного приложения.

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

edit

Здесь есть код для включения uPnP в C # здесь и здесь .

Альтернативой является размещение сервера в хорошо известном месте в Интернете.Приложение за брандмауэром создает постоянное соединение с интернет-сервером.Затем пользователь подключается к интернет-серверу, который ретранслирует пакеты в приложение, защищенное брандмауэром.Такие программы, как teamviewer , используют этот метод для обхода NAT.

2 голосов
/ 10 марта 2011

Нет.Ваша сеть должна быть настроена для размещения Сервера или Сервиса в Интернете.Лучше всего использовать трансляцию сетевых адресов, трансляцию адресов портов или DMZ.

1 голос
/ 10 марта 2011

Администратор может настроить маршрутизатор для перенаправления заданных запросов портов на этот компьютер

Я думаю, что это ваш ответ прямо здесь.Может быть возможно выполнить такую ​​конфигурацию извне (Интернет), если что-то внутри, что позволяет вам подключиться к нему (то есть что-то уже подключенное к Интернету), также позволяет выполнить такую ​​конфигурацию.Но, учитывая весь смысл оставления некоторых компьютеров без подключения к Интернету, это было бы действительно странной установкой.

Это, на мой взгляд, звучит скорее как желание взломать, чем желание сделать то, что позволено.Для последнего уже даны хорошие ответы.:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...