在一个网络上处理具有相同MAC地址的多个设备的好方法是什么?


10

我正在使用的设备均已下线,并且都设置为相同的MAC地址。我可以将每个IP设置为具有自己的静态IP,我想知道是否可以同时将它们连接到网络,以便向它们传输配置数据(包括新的MAC地址)?

我有一个Cisco SF 200-24“智能交换机”,到目前为止,我已经尝试将交换机上的每个端口设置为其自己的VLAN(模式:访问),并将另一个端口设置为在所有VLAN上,如下所示:我想与这些单位进行通话的通往上游服务器的中继线。

现在,我已将每台设备的侧面都设置为静态IP,但是似乎很难让它们通过中继线与上游计算机进行通信。我不希望(或不希望)这些设备能够相互通信,而只是将服务器连接到中继端口。

使用现有的设备,我正在做的事情是否可行?还是要单独配置每个设备?

“您是个白痴,不要将具有相同MAC的东西连接到同一网络”在这里可能也是一个可以接受的答案,但我希望可能会有一个更有趣的答案。

编辑:呵呵,人们对这里的网络硬件充满热情。我想我不应该感到惊讶。我继承了这个可爱的传统设计,直到我可以向制造商索取新的固件版本时,我都忍受了。谢谢大家的参与。


您对问题的描述仅限于短语“似乎有麻烦”。尝试执行此操作时,对发生的问题进行更详细的描述会很有帮助。
David Schwartz

13
我会将这些无用的设备退回“生产线”,并建议在您将业务转移到其他地方时,坚持制造……好…… 除网络设备以外的任何其他设备。一家愚蠢的公司可能会对这些设备做很多其他愚蠢的事情。
罗伯·摩尔

2
@RobM说了什么。正确的做法是将整个批次退回为有缺陷的产品。
迈克尔·汉普顿

2
抓住扳手故意造成MAC碰撞的白痴(偶然发生的可能性极低)。
Shadur

2
另外,请同意@RobM。厂商显然是白痴。将您的业务转移到其他地方- 制造网络硬件的人没有借口像这样搞砸。
Shadur

Answers:


15

大约6年前,我不得不在我们的一家生产工厂中“修复”相同的情况。

我必须告诉生产工程师他们是白痴:-)。
在他们的辩护中:这是有史以来的第一个网络产品,而R&D并没有完全考虑生产的后果。

那时没有办法解决(现在仍然没有)。
每个设备必须单独连接到PC才能重新配置MAC。(后来证明我们仍然需要这样做,因为在研发完成一些错误修复后,每个设备也需要刷新新固件。)

在随后的系列中,开发人员使过程变得尽可能轻松:标准固件具有一个非常基本的最小引导加载程序,该引导加载程序将使用硬编码的固定ip地址来引导TCP / IP堆栈。这将启动并尝试从另一个硬编码的ip地址TFTP完整固件映像。完成后,第二个包含唯一MAC的文件将从TFTP服务器中拉出并刷新到设备中。
设备重新启动后,会提供完整的闪存映像,该映像对其IP地址进行DHCP。获取dhcp地址后,它将具有自己的mac-addres的小文件上传到TFTP服务器,以确认已完成。

控制它的PC运行DHCP服务器和TFTP服务器。还有一个使用Mac地址准备文件的控制应用程序。
设备成功上传其确认文件后,控制应用程序会给操作员竖起大拇指以插入下一个设备,并将下一个mac地址写入文件。
(应用程序知道下载和刷新通常需要多长时间。从第一次TFTP传输到确认文件的上载之间有太多时间,操作员会被告知设备可能有故障。内置质量测试网络堆栈。)
跳火LAN选项也是一个功能,用户可以用它来升级固件。
无论如何都必须实现它,因此我们不妨使用它来处理“如何在其中获取初始配置”问题。

PS。DHCP服务器提供了一个自定义DHCP选项以向设备标识自己。在客户局域网中,DHCP显然不会这样做,因此,当我们的设备看到“正常” DHCP服务器时,它们只是继续启动而没有尝试上传确认文件。


TFTP位听起来可以很好地解决此问题。我忘了TFTP也可以放文件!
Anthony A.

10

您是个白痴,不要将具有相同MAC的东西连接到同一网络。

;-)

严格来说,MAC地址对于IEEE 802.3网络的工作方式绝对至关重要。如果多个设备位于具有相同MAC的以太网电缆的同一物理位上,则当ARP数据包飞过时,每个接收器都会以“就是我”作为响应。

因此,您必须维护导线的单独物理位。您提到了VLAN。它们在第2层中运行,第2层与以太网MAC地址(尽管在逻辑链路控制或LLC子层中)在同一位置。

因此,是的,VLAN可以解决问题。但是,您确实需要为设备授予唯一的第3层(IP)地址,这可能是一个挑战,因为您将无法使用DHCP。

简而言之,回到我的第一行。


8

“您是个白痴,不要将具有相同MAC的东西连接到同一网络”

(你说没关系):)

对您的问题的正确答案是修复制造过程,以依次或在设备上分配不同的MAC地址(日期为mfg'd,然后为唯一的编号,等等)。


7

解雇您的制造商。

我是认真的。这甚至不是业余时间的错误,这是完全无能的危险水平。

就像银行发现打印实物钞票的公司以相同的序列号发送了几百万张钞票,或者汽车制造商得知最新一批的车牌上都具有相同的车牌号。

基本的错误;你不是要负责找出如何否则他们变成有搞砸了。

返回整批,要求退钱,找人主管提供网络硬件。


6

与其告诉您您是个白痴-即使您说还可以-我还是要告诉您为什么不应该将具有相同MAC的东西放在同一网络上。

SystemA想要与SystemB交谈。SystemA获取SystemB的IP地址,并尝试确定两者之间的路由。如果SystemA和SystemB在同一网络上,则SystemA需要SystemB的MAC地址才能向SystemB发送数据包。SystemA通过广播ARP消息获取此信息,并将此信息缓存在ARP表中。

(如果SystemA在加利福尼亚,而SystemB在纽约,则找到将数据包发送到纽约的路由,并且连接到SystemB的路由器/交换机需要知道SystemB的MAC地址,以便它可以将数据包发送出去。因此, MAC地址仍在使用中,但是SystemA不需要知道它。SystemA只需要知道其自己的路由器的MAC地址。)

因此,基本上:当您将具有相同MAC地址的设备放在网络上时,如果有多个设备说“就是我!”,那么试图与这些设备进行通信的任何事情都会变得困惑。听起来您正在尝试通过VLAN解决此问题,但是...

我建议反对。我只是说。


2
与其他答案和评论的精神保持一致,我认为您应该将OP称为白痴。正如他们所说的“在罗马时” ... :)
joeqwerty

大声笑!我打破了一个坏消息,他可能真的必须将它们全部一一设置(如果他不归还它们,这可能不是一个选择,我怀疑是更高层的人把这些强加了设备)。所以你知道。同情心。:)
Katherine Villyard 2013年

1

这可能是我唯一会这么说的时间。

您想用集线器替换交换机。

这应该使您可以与每个设备进行通信,而数据包不会被交换机上的CAM表过滤。


...但是您必须手动配置每个主机的IP!
F. Hauri

2
您甚至可以再购买一个集线器吗?
乔恩·罗德斯

@JonRhoades不,你不能。这些天,它们都是笨拙的,不受管理的交换机。必须正确支持100 Mb / s和1 Gb / s。以太网规范要求必须能够切换回较低的速度(在Gb / s交换机的情况下为10 Mb / s和/或100 Mb / s)。这需要缓冲1个完整数据包的能力,因此在技术上必须至少是一个桥接器。
Tonny

…这就是为什么我保持100Mbps集线器的原因-对于轻松查看流量非常有用:D
MikeyB

1

媒体访问控制地址(MAC地址)是分配给网络接口以在物理网段上进行通信的唯一标识符。”

礼貌地向生产线经理建议,他可能在对制造过程进行一些调整之前先查找“ MAC地址”的定义。

就我们所知,这可能是他们不知道(而不是设计)的过程中的缺陷,但是需要做一些事情,因为这种基本错误会破坏对产品的信心并导致可避免的并发症。

这个问题将在制造时更容易解决,而不是在部署有问题的设备后难以解决。

有时每隔一段时间,设备会出现在具有相同MAC的网络上,但这很少见(通常可以通过换出便宜的NIC轻松解决。)对于整批产品来说,拥有相同的MAC几乎会将它们放在“缺陷”类别(就某些人而言),即使将它们单独考虑也完全没有缺陷。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.