我想创build几个别名到eth0,但有地址分配的DHCP而不是被设置为静态IP的。 这甚至有可能吗?
我见过的所有例子都使用下面的命令分配一个静态IP:
ifconfig eth0:0 192.168.1.11 up
谢谢
iproute2有一个没有很好logging的function,允许创build额外的虚拟networking接口,并为它们分配不同的MAC地址; 那么您应该能够在每个DHCP客户端上运行两个单独的实例。
要创build虚拟接口,请执行
ip link add link eth0 name eth1 address 00:11:22:33:44:55 type macvlan
然后尝试运行DHCP客户端。
问你为什么要这样做是合理的。 如果机器使用了许多具有不同angular色的地址,那么如果机器是dynamic的,机器将如何确定哪个angular色使用哪个angular色?
另请注意,带有:0后缀的ifconfig语法已弃用; 与iproute2你可以简单地使用
ip addr add 10.0.0.1/24 dev eth0 ip addr add 10.0.0.2/24 dev eth0
以此类推以将多个地址分配给单个接口。
我不知道你想用什么别名,但是你可以通过创build一个具有多个虚拟接口(它们每个都有一个唯一的MAC地址)的网桥接口,在一个物理接口上获得多个与DHCP协同工作的接口。
据我所知,这是不可能的。 DHCP根据MAC地址(以及一些规则)分配地址,并且所有别名都基于相同的MAC,所以DHCP服务器将无法区分任何请求,因为它们全部来自同一个MAC。 除此之外,一旦设置了基本的IP地址,您将很难说服您的DHCP客户端需要另一个地址。
我已经阅读了用户configurationMACVLANS,从他们的ISP拉动DHCP地址。 这样做,MACVLAN接口从ISP获得一个新的公共IP地址。 为什么有人想要这个,对我来说似乎有点狡猾,除非是在PC上进行某种types的负载均衡或虚拟化(如何进行NAT),我可以从我的DSL调制解调器获得8个dynamicIP地址。对我来说,还有一个给我的SAT盒子)我已经尝试过了,而且是有效的。 您可以closures一个MACVLAN,并去DSLreports,并find您的“公共”IP地址。 转到另一个MACVLAN,执行相同的操作,并显示一个不同的“公共”IP。 有一个networking接口,并希望多个DHCP地址? 让你走的东西,“嗯”。
有一个原因,我会看到这可能是可取的:dynamicnetworking地址转换。 这不是您通常所想到的普通的Linux伪装types的端口地址转换,而是一系列实际地址到需要使用它们的内部主机的按需dynamic映射。
如果您使用dynamicNAT,则不必将特定事件的端口静态映射到单个主机。 例如,如果我有一个“魔兽世界”更新程序在我的私人networking中运行的不仅仅是计算机,而且随着无处不在的端口地址转换(伪装),只有一个人能够参与类似于bittorrent的共享,因为您可以只将一个外部IP地址的暴露端口映射到一个内部地址。 如果你有一个地址列表,你可以dynamic分配完整的地址转换,但是,你不需要做任何端口映射。 由于许多有线电视提供商不允许你获得一个IP地址范围的静态分配,所以你不得不使用DHCP询问每个IP地址,然后将这些地址dynamic地NAT到内部地址。 使用单独的物理接口进行dynamicNAT将是浪费的,因为您真正需要的是在同一接口上更多的MAC地址。
这个链接指出的一件事是,你不能在macvlan虚拟接口的父物理接口上使用dhcp,因为它会混淆dhcp。 我还没有尝试过任何一个,我真的很兴奋尝试使用macvlan接口来使用dmcp工作在我的cablemodem上,正如@ b0fh和@ lars-bailey所build议的那样。
我使用这个,它的工作原理:
ip link add link eth0 name eth1 address 00:11:22:33:44:55 type macvlan
我有Fedora 15。