我需要在一个服务器的两个网卡上分配两个 IP

我需要在一个服务器的两个网卡上分配两个 IP

有人可以帮我在一台服务器的两个网卡上分配一个静态 IP 吗?

网卡 1:10.110.180.110 | 255.255.255.0 | 10.110.180.1 网卡 2:10.124.11.60 | | 255.255.255.0

我使用的是 Windows Server 2008 R2,两个 IP 都需要可访问

能否逐步了解如何使用命令执行此操作?是通过 netsh 吗?

答案1

通过 netsh 分配 IP:

netsh interface ipv4 add address

举个例子:

netsh interface ipv4 add address “NIC1” 10.110.180.110 255.255.255.0

要分配额外的 IP,只需输入带有新参数的相同命令。

还有一种方法可以一次添加多个 IP 地址。我猜你可能会对此感兴趣:

FOR /L %variable IN (start,step,end) DO command

答案2

因此分配 IP 应该不难,其他答案中已经介绍过了。但是,要求两个 IP 都可以访问是一个棘手的问题。
多宿主服务器的工作原理 - 子网中有一个 NIC 具有默认网关,其他 NIC 则没有网关。让我们通过示例来说明:

                +--------+
                | router |
                +--+-----+                             +----------+
                   |    10.0.0.254                     |          |
This subnet has default gateway                        | Server 2 |
                   |   10.0.0.1/24                     | 10.0.1.2/24
             +-----+------+                            +---+------+
             |            |                                |
             |    Server  +------------------------+-------++
             |      1     |10.0.1.1/24             |
             |            |                        |
             +------------+                        | 10.0.1.254
                                           +-------+---------+
                                           |     router      |
                                           +------+----------+
                                                  | 10.0.3.254
                                                  |
                                                  |
                                                  |  10.0.3.1/24
                                            +-----+---------+
                                            |               |
                                            |    Server 3   |
                                            |               |
                                            +---------------+

我们有 3 个子网:
子网 1:10.0.0.0/24
子网 2:10.0.1.0/24
子网 3:10.0.3.0/24

服务器 1 是多宿主服务器的示例,换句话说,它就是您要找的服务器。
它的 NIC 1 位于子网 1 中,并且该 NIC 的网关 IP 设置为 10.0.0.254,
它的第二个 NIC 位于子网 2 中。

现在这意味着:
如果服务器 1 想要联系服务器 2 - 它将选择 NIC 2,因为它是直接连接的网络并且具有最高的路由优先级。换句话说,服务器 2 的 IP 地址与服务器 1 的 NIC2 位于同一子网中。
但是,如果服务器 1 想要联系服务器 3 - 没有专门为其设置的路由,并且它不在直接连接的网络上。因此将选择默认网关 10.0.0.254。
如果服务器 3 想要与服务器 1 NIC1 10.0.0.1 通信,则同样适用。服务器 3 将使用它自己的默认网关。
但是,如果服务器 3 想要与 NIC 2 的 IP - 10.0.1.1 通信 - 则行不通。流量模式将按照以下方式进行:
服务器 3 -> 10.0.3.254 -> 10.0.1.254 -> 10.0.1.1 因此数据包到达服务器 1 NIC 2。但接下来会发生什么将是一个问题。
服务器 1 在 NIC2 上接收来自服务器 3 的数据包 - 但是现在需要进行路由决策。如何发送回复?
子网 10.0.3.0/24 没有专门设置的路由。因此,服务器 1 将选择通过其默认网关和 NIC1 进行回复。
这些数据包将到达服务器 3 - 但是由于源地址不匹配,因此无法建立 TCP 通信。

10.0.3.1+----------> 10.0.1.1
  ^                  10.0.0.1
  |                     +
  +---------------------+

在 Linux 世界中,有一种解决方案虽然很少使用,但却存在。它被称为“策略路由”。简而言之,它允许根据收到的 NIC 流量来设置路由决策。
对于上面的例子,它将是这样的:
如果服务器 1 在 NIC2 上接收流量 - 不使用默认网关,而是通过子网 2 的网关发送回复。
我不知道 Windows 世界中有这样的类似物。
所以据我所知 - 设置为两个 IP 都可以从远程主机访问是不可能的。
您可以通过在服务器 1 上引入静态路由,将服务器 3 通过服务器 1 NIC2 IP 访问服务器 1,但这样您将无法从服务器 3 NIC1 访问服务器 1。

相关内容