如何指定数据库连接的传出 IP 地址
本文关键字:IP 地址 何指定 数据库连接 | 更新日期: 2023-09-27 17:57:00
我有一个具有多个IP地址的Web服务器,需要连接到数据库服务器。数据库服务器位于由 IP 地址白名单控制的防火墙后面。(如果它很重要,它是一个 Oracle 服务器。有没有办法指定OracleConnection
中Web服务器使用的IP地址,这样只需要将一个IP添加到白名单中?
我看到有一些关于指定传出 IP 地址的类似问题(例如这个和从那里链接的几个),但没有一个特别提到数据库连接。
数据库端没有发挥作用(太多)。
在我的简单网络上,我有一个调制解调器/路由器,它从我的ISP获取互联网IP地址,并且本地网络有不同的IP地址。我已将其配置为将端口 80(用于 HTTP 请求的端口)发出的请求转发到本地网络上的特定 IP 地址。
IP 地址可以通过动态分配 (DHCP) 或静态分配。因为我希望我的 HTTP 请求转到特定的计算机,所以我需要该计算机始终具有相同的 IP 地址。一种方法是让机器在连接到网络时请求静态 IP 地址。另一种方法是让路由器动态分配 IP 地址,但始终对特定 MAC 地址使用特定地址。我走了后一条路。您选择做什么以及如何做取决于您的情况(例如操作系统和网络设置)。
在您的情况下,您希望数据库服务器和 Web 服务器的本地网络地址都是静态的。这确实是一个网络问题。
编程可能发挥作用的唯一情况是有多个网络端口。拿起我的笔记本电脑。它有一个WiFi卡和一个以太网端口。它们中的每一个都有一个唯一的MAC地址(实际上世界上每个网络设备都有一个唯一的MAC地址)。我可以将这些端口中的一个或两个连接到单个网络或两个不同的网络。
如果我将两个设备连接到同一网络,它们必须具有不同的 IP 地址,因为 IP 地址对于网络必须是唯一的,以便网络知道将消息发送到何处。如果我将它们连接到两个不同的网络,那么它们可能会获得相同的 IP 地址。[互联网是一个大网络,但局域网(LAN)是独立的。
如果您的机器有多个网络连接,您可能需要将特定连接定向到某个网络(所以我可能总是希望我的数据库连接使用 eth0 端口和其他东西来使用和 eth1 端口)。
一般来说,对于 Web 服务器,您有一个或多个外部可寻址 IP,但只有一个内部 IP。
内部地址是连接到内部网络以与数据库服务器等内容通信的地址。 外部客户端连接或出站通信时使用。
我假设"多个IP地址"在DMZ(外部网络)中,并且数据库服务器在不同的(内部)网络中,不是吗?你不应该有这个问题。