我确信这是一个非常基本/常见的网络问题。我有 1 个 Web 服务器和 2 个数据库服务器,它们位于同一个数据中心。我已获得 10 个公共 IP 地址,并且拥有一个 10 端口 1-GBit Cisco 交换机(支持 L2 和 L3 模式)。
目前,这 3 台服务器已连接到交换机并配置了公共 IP,没有 VLAN,而且我没有使用交换机上的任何高级功能。Web 服务器使用 2 个额外的 NIC 来跨接 2 台数据库服务器,每台服务器都独立连接到交换机并可通过公共 IP 访问。
现在我可能需要添加另外 2 个 Web 服务器,因此我需要192.168.1.xxx
在交换机上设置一个私有内部网络(),以便所有服务器可以相互通信,但我还需要能够通过公共 IP 访问相应的每个服务器,例如对于远程桌面管理,我偶尔也需要通过 1433 进行访问以与 SQL Server 交互。
我的问题是,这可以仅使用交换机来完成吗,还是我需要路由器?每台服务器至少有 2 个 NIC,每台服务器是否需要 2 个到交换机的连接,一个用于内部 IP 范围,一个用于外部访问?
如果我遗漏了任何相关细节,我很抱歉。
答案1
您的要求可以通过 VLAN 实现。甚至可以在某些非托管交换机上实现,不过托管交换机会为您提供更多选项。
您可以将公共 IP 保留在未标记的 VLAN 上,这意味着公共 IP 段将照常运行,并且不需要对交换机另一端的路由器进行任何配置更改。
然后,在每台主机上为 VLAN 标记创建一个虚拟接口,并将其用于内部网段。例如,如果您使用 Linux,则可以使用以下命令vconfig add eth0 10
创建名为 的接口eth0.10
,并发送和接收带有 VLAN 标记号 10 的数据包。然后,您可以在每台主机上启动这些虚拟接口,就像它们是物理接口一样。
如果它是一个能够交换标记数据包的非管理型交换机,那么它就没有什么其他功能了。
如果是托管交换机,默认情况下可能不允许标记数据包。在这种情况下,您必须在交换机配置中的每个端口上启用 VLAN 标记。不过,托管交换机还为您提供了一些其他选项。
如果交换机上有空闲端口,您可以选择将这些端口用作当前通过交叉电缆连接的端口。在连接这些端口之前,您需要在交换机上配置 VLAN。
您可以将当前使用的所有端口配置为使用 VLAN 1 作为未标记端口,将 VLAN 2 作为标记端口。您还可以将接下来要插入的端口配置为使用 VLAN 2 作为未标记端口,将 VLAN 1 作为标记端口。
然后,您可以将每个端口连接到交换机,而不必通过交叉电缆。这样,您就可以开始使用 VLAN,而无需立即重新配置服务器。
您添加的下一台服务器可能只有一个网络连接,该连接可以访问两个 VLAN。此时,您必须决定哪个 VLAN 不带标签(如果有的话)。
答案2
你需要防火墙。比如思科 ASA 5505 防火墙将为您提供将公有 IP 地址转换为私有 IP 地址的能力和允许您使用已分配的完整 IP 地址块。
当您重新分配主机的 IP 时,您仍然可以维护交换机上的 VLAN,并通过 Cisco ASA 运行互联网绑定流量。