Назад | Перейти на главную страницу

Субинтерфейс уже используется на другом хосте - новый интерфейс

Я создал суб-интерфейс в блоке RHEL, eth0:1, и скопировал eth0 config и изменил все настройки, чтобы отразить 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, interface, и портит маршрутизацию моего DNS-трафика, потому что он находится в той же подсети, что и подчиненный интерфейс eth0:1. Я сделаю еще один пост о проблеме DNS.

Это конфиги интерфейсов

[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 какой процесс ifcfg-ethX файлы конфигурации для настройки сетевых интерфейсов.

При более внимательной проверке скриптов вы обнаружите, что эта ошибка появляется после arping команда, которая пытается выяснить, указаны ли IP-адреса, указанные в ifcfg-ethX файлы уникальны в сети.

Сценарии стараются избегать дублирования конфигураций в сети. Ifconfig все равно, он просто добавляет IP-адрес в интерфейс. Дважды проверьте файлы конфигурации, так как дважды может быть какой-то 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) и найти его в разделе динамических адресов моего коммутатора. Это, в свою очередь, сообщило мне VLAN и номера портов интерфейса, который уже использовал этот IP.