到目前为止,我总是使用有线和无线接口configuration笔记本电脑,每个接口都提供了与DHCP不同的IP地址,并且每个IP地址都parsing为不同的主机名。 这一直感到kludgey,但工作。
我们的系统pipe理员做了一个configuration,由于实际原因不起作用,这涉及到链接相同的IP地址到两个不同的MAC地址。 它实际上不工作,因为他们使用的工具这样做,但谷歌search这个configuration告诉我,这实际上可以工作。
我也发现post,指出Windows将不会接受具有相同IP的两个接口。
那么,这里的最佳实践是什么,每种方法的利弊呢? 在我的情况下,我在笔记本电脑上运行Fedora Linux。 这听起来像使用相同的IP为两个网卡的事实上是一个更好的解决scheme,因为我会有相同的主机名,无论我如何连接。
这并不完全清楚,但为了争辩起见,我们只是假设您一次只能使用1个接口,这样您就不会在两个不同的mac地址上同时分配和激活相同的IP 。 这是行不通的(至less不是在工作这个词的传统意义上)。 同样,他们必须是相同的子网,显然,如果无线和有线networking在不同的子网上,相同的IP分配无法工作。
如果有线networking和无线networking都输出相同的子网,那么使用相同的IP来提供特定的接口是相当简单的,但是DHCP没有限制,防止相同的IP被分配给两个不同的MAC地址(尽pipe它特别必须是在dhcpconfiguration中configuration)来完成。 如果某个特定的地址是为您保留的,那么您也没有理由不能在每个networking的手动configuration中根据需要静态地提出该地址。
使用相同的主机名parsing到同一子网上的两个IP地址,我发现的最大的问题是来自pipe理方。 查询DNS或WINS(在MS域上)时,名称仅parsing为其中一个IP。 从我所能告诉的,它解决了最近发布的那个。 因此,例如,如果您的计算机更新(例如,通过DHCP),“主”之后的“次级”连接是什么。
这是一个真实世界的例子,经常发生在我的networking上。 用户有一个双连接,有线和无线笔记本电脑。 我可以pipe理PC和各种networking浏览器和发现工具在一个特定的地址find它。 然后无线网卡更新它的信息。 我的电脑上的DNScaching显示在与networking认为不同的地址,因为查询只返回最新的名称/ IP组合。 WINS将其显示为具有两个名称/ IP。 你会认为它仍然可以工作,但是当我在远程计算机上运行一些pipe理任务时,我得到超时和“找不到RPC服务器”。
我必须做一些挖掘在DNS / DHCP / WINS中find具有相同名称的双地址,然后通过IP而不是名称连接。 此外,无线连接通常是防火墙(如果运行Windows),而有线连接不是按组策略,而计算机login到域中(无需担心,如果不在域中,它将防火墙)。
所有这些都会导致从外部连接到所需的计算机时出现问题。 从笔记本电脑本身来看,一切似乎都行得通。 两个连接的度量使它保持使用“首选”networking连接(通常是有线连接,通常更快)。
问题是尝试从外部连接/pipe理/发现计算机。
我的戴尔笔记本电脑有一个很好的实用工具,当通过电线连接时会禁用无线function,并在电池上禁用有线连接,从而消除此问题。
如果在连接有线网卡时没有像Mgotts那样禁用无线网卡的设置,或者手动禁用无线网卡的方便方式(飞机切换),某些操作系统可能会拒绝接受无线网卡上的地址第二个网卡,如果他们进行ARP检查,以确保IP是可用的,并回复自己(似乎有些情况下Windows XP以这种方式混淆自己)。
对于无线网卡和有线网卡,如果没有明确的pipe理,一次只有一个网卡处于活动状态,那么同样的IP设置还有一个缺点。 当其他系统为IP的ARP时,他们可以从无线和有线NIC获得答复。 在这种情况下,他们将select哪一个MAC地址(可能有利于较慢的MAC地址)。 因此,即使您将路由设置为更喜欢更快的有线网卡(在MacOS X上最容易实现,但也可能在其他系统上实现),其他系统的返回stream量无论如何都可能会发送到您的无线网卡。 而且,如果您确实pipe理一次只有一个NIC处于活动状态,则切换时可能会出现几秒钟的“故障”,而其他系统的ARP表中仍有其他系统的MAC地址。
(说到pipe理两个网卡,以便只有一个是活动的 – 有一个MacOS X提示发布了几个版本的脚本,完全自动完成此操作。)
同IP设置的最大优点之一是,即使从一个接口切换到另一个接口,现有的TCP或VPN连接也将继续工作。 如果你只是在做networking的东西,这可能无关紧要,因为在不同的IP设置你的浏览器将重新创build连接透明(而在Web服务器端,它甚至不会看到一个IP变化,如果你的防火墙NAT都为相同的外部IP)。 但是如果您使用VPN或SSH连接,则无需重新build立这些连接非常方便。
configuration相同的IP设置最棘手的部分可能是让您的DHCP服务器接受它; 至less有一些版本的DD-WRT不允许它 ,而DNSmasq DHCP服务器则要求你以特定的方式来做 – 从个人经验来说,我可以说OpenWRT会让你设置它,然后DNSmasq DNS / DHCP服务器将无法启动。 一个相关的ServerFault问题讨论了你需要做些什么来使它适用于Windows 2003 DHCP服务器。 如上所述,可能需要在两个NIC上强制使用相同的MAC地址(具体取决于硬件和操作系统,您可能需要将无线MAC克隆到有线NIC上)。
对于两个NIC使用相同的MAC地址也可能有助于减轻上面提到的由于其他系统上过时的ARP表条目导致的“故障”,并且即使您没有控制其它系统,也可以获得相同的IP设置DHCP服务器(例如在你的工作场所)。 在系统的所有网卡上设置相同的MAC有一些先例 – 旧的DEC系统做到这一点,Sun / Solaris系统仍然可以。 这样做有一些问题,这可能是为什么大多数系统不这样做。
如果您的无线AP或交换机已经实现了端口安全选项,您可能会发现MAC被阻塞在一个或另一个NIC上,并且在具有多个交换机的大型桥接networking中,与远处系统连接的“故障”可能是除非您的笔记本电脑通过所有中间交换机主动发送stream量(广播或多播stream量将执行),以便它们更新其转发表,并且到共享MAC地址的stream量转到当前活动的NIC。
如果您使用的IPv6(通常不使用DHCP),而是将MAC地址embedded到IPv6的低64位(主机部分)中,则为两个NIC使用相同的MAC地址也可能需要获得相同的IP地址地址。