使用 Windows 7 路由 2 个 NIC

使用 Windows 7 路由 2 个 NIC

根据下图,我有一个网络拓扑。第一台计算机通过 IP 为 10.44.12.112 的网络适配器连接到计算机 2。我需要使用 PLC 与计算机 1 通信,但 IP 10.44.12.215 无法 ping 通 IP 10.44.12.150。我尝试手动添加路由,在 IPEnableRouter 注册表编辑器上启用,但计算机 1 仍然无法与一台 PLC 通信。计算机 2 与计算机和 PLC 1 这两个设备通信。没有路由器,我该如何解决这个问题?非常感谢,Haroldo

Computer 1- ESXi          Computer 2- Windows 7                     PLC
| 10.44.12.216  |  ------   | 10.44.12.112  | ------------- | 10.44.12.150  |
|255.255.255.0  |           | 255.255.255.0 |               | 255.255.255.0 |
| 10.44.12.111  |           |  10.44.12.111 |

                            | 10.44.12.111  |
                            | 255.255.255.0 |

答案1

网络配置错误:由于所有 3 个设备在逻辑上都位于同一个子网 10.44.12.0/24 中,因此计算机 1 在尝试访问 PLC 时不会考虑任何路由。它只是将带有目标 PLC 的数据放入电缆中,而 PC2 会忽略这些数据。

你可以

  1. 使用以太网交换机连接所有 3 台设备,或者
  2. 将 PC2 和 PLC 之间的子网更改为其他 IP 地址(例如 10.44.13.x),并手动设置路由。

答案2

我有完全相同的拓扑结构,包括 PLC。通常,我将计算机 1 和 2 连接到涉及不同子网的物理路由器。然后,我将计算机 2 变成软件路由器,并在计算机 1 上手动添加一条到计算机 2<->PLC 子网的路由。但这在同一个子网上工作正常,没有物理路由器。您需要:

  1. 通过 IPEnableRouter 设置将计算机 2 变成路由器
  2. 将计算机2-nic1设置为计算机1上网卡的网关
  3. 修复 Windows 在计算机 1 上创建的路由
  4. 在计算机2上添加到计算机1的回程路由

可能让您感到困惑的两件事是,win7 的防火墙默认阻止 ICMP 数据包,并且您必须在应用 IPEnableRouter 设置后重新启动。因此,一旦正确配置了所有内容,您可能会认为没有连接。为 ICMPv4 回显回复数据包添加例外以获取 ping 回复。重新启动以应用 IPEnableRouter 设置。

NIC 配置

     Computer 1- win7             Computer 2- win7 nic1
ip   |192.168.100.5| ---x-over--- |192.168.100.6|
mask |255.255.255.0|              |255.255.255.0|
gate |192.168.100.6|              |             |

                                  Computer 2- win7 nic2         PLC (w/internal switch)
                             ip   |192.168.100.1| ------------- |192.168.100.2|
                             mask |255.255.255.0|               |255.255.255.0|
                             gate |             |               |             |

1. 通过 IPEnableRouter 设置将计算机 2 变成路由器

编辑计算机2的注册表,设置以下值:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\IPEnableRouter (DWORD) = 1

确保重新启动。当我第一次设置它时,这让我困惑了一段时间。

2.将计算机2-nic1设置为计算机1上网卡的网关

我使用界面的 IPv4 GUI 配置页面来执行此操作。

3.修复 Windows 在计算机 1 上创建的路由

当您按照我的拓扑结构中所述配置 nic 时,Windows 将自动设置这些路由。

Network Destination    Netmask         Gateway     Interface     Metric
192.168.100.0    255.255.255.0         On-link     192.168.100.5    276
192.168.100.5  255.255.255.255         On-link     192.168.100.5    276

表面上看,这些似乎就足够了。但是 192.168.100.0 路由需要指定 192.168.100.6 作为网关。如果计算机 1 只有 1 个网卡,您可以像这样更改它:

route change 192.168.100.0 mask 255.255.255.0 192.168.100.6

如果计算机 1 有多个网卡,则需要指定正确的接口。使用arp -a获取接口 ID(在我的情况下为 0xb):

route change 192.168.100.0 mask 255.255.255.0 192.168.100.5 if 0xb

由此产生的计算机 1 路线:

Network Destination    Netmask         Gateway     Interface     Metric
192.168.100.0    255.255.255.0    192.168.100.6    192.168.100.5     21
192.168.100.5  255.255.255.255         On-link     192.168.100.5    276

4.在电脑2上添加到电脑1的对等路由

route add 192.168.100.5 mask 255.255.255.255 192.168.100.6

计算机2得到的路线:

Network Destination    Netmask         Gateway     Interface     Metric
192.168.100.0  255.255.255.0           On-link     192.168.100.1    276
192.168.100.0  255.255.255.0           On-link     192.168.100.6    276
192.168.100.1  255.255.255.255         On-link     192.168.100.1    276
192.168.100.5  255.255.255.255         On-link     192.168.100.6     21
192.168.100.6  255.255.255.255         On-link     192.168.100.6    276

通过此配置,所有 3 个设备都可以相互通信。我要重申,您需要在 win7 防火墙中解除对 ICMP 回显回复数据包的阻止才能看到 ping。请注意,这些路由在重新启动后不会持久,但您可以查找其他命令来执行此操作。

相关内容