Назад | Перейти на главную страницу

Подключение к SQL Server Express 2008 через NAT

Во-первых, заранее приношу свои извинения за любое неправильное использование сетевой терминологии - я определенно не специалист по сетям.

Я арендую экземпляр в облаке 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-серверу через нее.

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

Надеюсь, поможет