Во-первых, заранее приношу свои извинения за любое неправильное использование сетевой терминологии - я определенно не специалист по сетям.
Я арендую экземпляр в облаке Amazon и хочу, чтобы он подключился к моему серверу SQL Server Express 2008, который находится в моей квартире (на Win7). Проблема в том, что этот сервер находится за NAT Comcast, то есть его общедоступный IP-адрес (скажем, 24.130.XX) не совпадает с его частным IP-адресом (скажем, 192.168.XX), а мой Macbook имеет тот же публичный IP-адрес, что и мой сервер данных.
Когда я нахожусь в облачном экземпляре Amazon и пытаюсь подключиться к SQL-серверу в своей квартире, если я просто пытаюсь подключиться к 24.130.X.X (общедоступный IP-адрес), это не сработает. Это меня не удивляет, поскольку я не уверен, как он может определить, пытаюсь ли я подключиться к своему Macbook или серверу данных, например.
У меня вопрос: могу ли я подключиться к моему серверу данных через NAT Comcast, используя более конкретный IP-адрес, чем общий публичный? Очевидно, так как это NAT Comcast, я не могу его изменить, перенаправить порт или что-то в этом роде.
На всякий случай, да, я просмотрел бесчисленное количество статей о настройке SQL Server Express 2008 для удаленного доступа и добавил исключения для брандмауэра. Заранее благодарим за помощь и терпение.
Обычно не рекомендуется открывать экземпляр SQL для внешнего мира, это серьезный недостаток безопасности в вашей системе, если он включен, хотя вы можете попробовать различные вещи и обходные пути, чтобы заставить его работать.
Моим первым ответом будет перенаправление портов, но, поскольку вы упомянули, что в этом случае это невозможно, вы можете создать службу (через tcp / udp / http, в зависимости от того, что вам удобнее) и получить доступ к своей БД через эту службу. Для этого потребуется базовое программирование (не такая уж и тяжелая работа, больше похоже на физическое программирование).
Обходной путь «лесоруба» - просто зарегистрировать учетную запись dyndns, no-ip или аналогичную, установить ее и подключиться к SQL-серверу через нее.
Я почти уверен, что есть множество других решений, но они сразу пришли мне в голову.
Надеюсь, поможет