Как указать исходящий IP-адрес соединения с базой данных? - PullRequest
1 голос
/ 18 мая 2011

У меня есть веб-сервер с несколькими IP-адресами, который необходимо подключить к серверу базы данных.Сервер БД находится за брандмауэром, который контролируется белым списком IP-адресов.(Если это имеет значение, это сервер Oracle.) Есть ли способ указать IP-адрес, используемый веб-сервером в OracleConnection, так что в белый список необходимо добавить только один IP-адрес?

Я вижу, что есть несколько похожих вопросов об указании исходящих IP-адресов (например, , этот и пара, оттуда связанных), но ни один из них конкретно не упоминает соединения с базой данных.

Ответы [ 3 ]

2 голосов
/ 18 мая 2011

Сторона базы данных не вступает в игру (очень).

В моей простой сети у меня есть модем / маршрутизатор, который получает IP-адрес в Интернете от моего провайдера и имеет другой IP-адрес длялокальная сеть.Я настроил его для пересылки запросов на порт 80 (порт, используемый для HTTP-запросов) на определенный IP-адрес в моей локальной сети.

IP-адреса могут назначаться динамически (DHCP) или статически.Поскольку я хочу, чтобы мои HTTP-запросы отправлялись на конкретную машину, мне нужно, чтобы эта машина всегда имела один и тот же IP-адрес.Один из способов сделать это - запросить у компьютера статический IP-адрес при подключении к сети.Другой способ заключается в том, чтобы маршрутизатор динамически выделял IP-адрес, но всегда использовал конкретный адрес для определенного MAC-адреса.Я пошел по последнему маршруту.То, что вы выбираете, и то, как вы это делаете, зависит от вашей ситуации (например, настройки ОС и сети).

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

Единственное время, когда программирование может вступить в игру, это если у вас есть несколько сетевых портов.Возьми мой ноутбук.Он имеет карту WiFi и порт Ethernet.Каждый из них имеет уникальный MAC-адрес (фактически каждое сетевое устройство в мире имеет уникальный MAC-адрес).Я могу подключить один или оба этих порта к одной сети или к двум разным сетям.

Если я подключу оба устройства к одной и той же сети, они должны иметь разные IP-адреса, поскольку IP-адрес должен быть уникальным для сети, чтобы сеть знала, куда отправлять сообщения.Если я подключу их к двум разным сетям, они могут получить один и тот же IP-адрес.[Интернет - это одна большая сеть, но локальные сети (ЛВС) независимы.]

Если у вашего компьютера несколько сетевых подключений, вам может потребоваться направить определенное подключение к определенной сети (так что я всегда могухочу, чтобы мои подключения к БД использовали порт eth0 и другие используемые порты и порт eth1.

1 голос
/ 18 мая 2011

Вообще говоря, для веб-сервера у вас есть один или несколько внешних IP-адресов, но только один внутренний.

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

0 голосов
/ 18 мая 2011

Я бы предположил, что «несколько IP-адресов» находятся в DMZ (внешняя сеть), и что сервер базы данных находится в другой (внутренней) сети, нет? У вас не должно быть этой проблемы.

...