我在RHEL盒子eth0:1上创build了一个子接口,并复制了eth0configuration并更改了所有设置,以反映eth0:1和IP地址。 但是,当我发出ifup eth0:1收到此错误:
[root@server-1 ~]# ifup eth0:1 Error, some other host already uses address 192.168.0.2. [root@server-1 ~]# ping -c 1 192.168.0.2 PING 192.168.0.2 (192.168.0.2) 56(84) bytes of data. --- 192.168.0.2 ping statistics --- 1 packets transmitted, 0 received, 100% packet loss, time 10000ms
但是,当我发出: ifconfig eth0:1 192.168.0.2 up的命令工作,没有错误。 我将使用后面的命令,但是当我使用它时,它会干扰我的主要eth0接口,并且因为它在与子接口eth0:1相同的子网上而导致我的DNSstream量路由。 我会再提出有关DNS问题的文章。
这些是接口的configuration
[root@server-1 network-scripts]# cat ifcfg-eth0 DEVICE="eth0" BOOTPROTO="static" HWADDR="00:50:56:AF:0C:06" IPADDR="192.168.0.1" IPV6INIT="yes" NETMASK="255.255.255.0" ONBOOT="yes" TYPE="Ethernet" DNS1="192.168.2.10" DNS2="192.168.3.10" [root@server-1 network-scripts]# cat ifcfg-eth0:1 DEVICE="eth0:1" BOOTPROTO="static" HWADDR="00:50:56:AF:0C:06" IPADDR="192.168.0.2" IPV6INIT="yes" NETMASK="255.255.255.0" ONBOOT="no" TYPE="Ethernet" DNS1="192.168.2.10" DNS2="192.168.3.10"
ip addr show
[root@server-1 network-scripts]# ip addr show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:50:56:AF:0c:06 brd ff:ff:ff:ff:ff:ff inet 192.168.0.1/24 brd 192.168.0..255 scope global eth0 inet 192.168.2.1/30 brd 192.168.2.3 scope global eth0:2 inet 192.168.2.5/30 brd 192.168.2.7 scope global eth0:3 inet6 fe80::250:56ff:fe97:c06/64 scope link valid_lft forever preferred_lft forever
此消息由/etc/sysconfig/network-scripts/ifup-eth或/etc/sysconfig/network-scripts/ifup-aliases ,该/etc/sysconfig/network-scripts/ifup-aliases处理ifcfg-ethXconfiguration文件以configurationnetworking接口。
当您仔细检查脚本时,会发现这个错误出现在arping命令之后,该命令试图查明ifcfg-ethX文件中指定的IP地址在networking中是否是唯一的。
脚本尽量避免networking中的重复configuration。 Ifconfig不关心,只是将IP地址添加到接口。 检查您的configuration文件两次,因为可能有一些IP地址两次。
最后,值得一提的是,你可以把ARPCHECK=no指令放到ifcfg-ethX文件来禁止这个检查。
在阅读dsmsk80回答并查看ifup-eth脚本后,我解决了这个问题。 关键是这样的:
/sbin/arping -c 2 -w 3 -D -I <INTERFACE> <VLAN>
所以对于OP的例子:
/sbin/arping -c 2 -w 3 -D -I eth0:1 192.168.0.2
我最近使用的这个东西返回了这个:
> /sbin/arping -c 2 -w 3 -D -I eth0.1508 192.168.8.1 ARPING 192.168.8.1 from 0.0.0.0 eth0.1508 Unicast reply from 192.168.8.1 [00:1C:C4:A1:D8:39] 0.605ms Sent 1 probes (1 broadcast(s)) Received 1 response(s)
然后,我可以把这个MAC(00:1C:C4:A1:D8:39)在交换机的dynamic地址部分查找。 这又告诉我已经使用该IP的接口的VLAN和端口号。