2015-09-04 73 views
0

我在同一本地网络上有两台服务器192.168.10。#;主服务器设置为192.168.10.5(IP-1),并运行UD​​P与某些网络设备通信的c#应用程序;另一台服务器是主服务器的备份,它是192.168.10.6(IP-2),但c#应用程序未运行。 在两台服务器上都运行一个任务,其主要目的是使用netsh脚本将服务器的IP设置为IP-1,如果网络中没有IP-1服务器,然后运行主c#应用程序,或者如果IP-1已经存在,请将服务器设置为IP-2。如何在Windows登录前为服务器分配IP地址

问题是: 如果其中一台服务器因分配IP-1地址而关闭,另一台会立即获得IP-1,但当另一台服务器再次打开时,它会给我一个IP冲突。因此,我需要在连接到本地网络之前使用第三个IP地址IP-3启动服务器,然后对其进行配置,具体取决于运行的内容。

我有这个问题,因为UPD设备需要远程IP地址进行通信,并且服务器备份必须自动执行。

(对不起,我的英语不好)

谢谢大家。

+0

通常情况下,您可能会在两个服务器之间直接相互连接的单独网络接口上有心跳,或者服务器在现有网络上仅用于心跳的辅助网络地址(可能未路由)。 –

+0

我会搜索一些关于如何做的信息,我非常喜欢这个解决方案!但是如果应该在服务器上运行的虚拟机上设置IP地址呢?心跳必须是身体的心跳? – Nedo2490

回答

0

这两台服务器中的每台服务器都需要自己的IP,但不能与其他任何人共享。这样,当服务器启动时,就不存在IP冲突。然后,检查共享IP是否存在的脚本(与两台服务器中的每一个的IP不同)可以毫无问题地运行。

例如,一台服务器具有IP-1,另一台服务器具有IP-2。然后其中一台服务器将启动IP-3并启动绑定到IP-3的C#应用​​程序。因此,IP-3将是与IP-1或IP-2相同的物理接口上的虚拟IP。

+0

所以这样我就需要一个由c#应用程序本身创建的虚拟IP地址?它会与外部物理设备一起工作吗?还是应该将它添加到IPV4配置的IP地址列表中? – Nedo2490

+0

@ Nedo2490查看我答案的更新。 – dbush

+0

好的,我采纳了这个解决方案,谢谢!再加上如果可以有任何兴趣,我的一个朋友告诉我用gpedit.msc你可以在服务器启动时运行脚本,这样你就可以在服务器连接到网络之前设置IP地址! – Nedo2490

0

您可以尝试使用虚拟接口并分配一个主IP地址和多个多从IP地址。