Я пытаюсь получить несколько IP-адресов, используя клиент ISC, поставляемый с Red Hat Enterprise Linux 5, чтобы предоставить IP-адреса нескольким приложениям, которые будут работать на отдельных виртуальных интерфейсах (таких как eth0:1, eth0:2), отличных от некоторые работают на физическом интерфейсе.
Для этого я создал файлы по пути "/etc/sysconfig/network-scripts/ifcfg-eth0:", где N - для псевдонимов.
Содержимое файлов для виртуальных интерфейсов аналогично eth0 и выглядит следующим образом:
DEVICE=eth0:1
BOOTPROTO=dhcp
HWADDR=xx:xx:xx:xx:xx:xx
ONBOOT=yes
TYPE=Ethernet
USERCTL=no
IPV6INIT=no
PEERDNS=yes
Здесь значение HWADDR является значением MAC-адреса NIC и таким же, как в eth0.
Помимо этого, для того, чтобы клиент DHCP мог принимать несколько IP-адресов на одном сетевом адаптере, я использую поле пользовательского идентификатора клиента для виртуальных интерфейсов в файле "/etc/dhclient.conf", его содержимое выглядит следующим образом:
send dhcp-lease-time 3600;
require subnet-mask, domain-name-servers;
timeout 60;
retry 60;
select-timeout 5;
interface "eth0"{
send dhcp-client-identifier "1:xx:xx:xx:xx:xx:xx";
}
interface "eth0:1" {
send dhcp-client-identifier "1:xx:xx:xx:xx:xx:xx-eth01";
}
interface "eth0:2" {
send dhcp-client-identifier "1:xx:xx:xx:xx:xx:xx-eth02";
}
initial-interval 2;
Но во время загрузки IP-адрес только для eth0, то есть физический интерфейс успешно получен от DHCP-сервера во время загрузки, и отображается следующее сообщение
Determining IP information for eth0... done.
в то время как для виртуальных интерфейсов во время загрузки отображается следующая ошибка:
error in ifcfg-eth0:1: didn't specify device or ipaddr
error in ifcfg-eth0:2: already seen ipaddr in ifcfg-eth0:1
И, наконец, файл аренды dhcp также создается только для eth0, а не для виртуальных интерфейсов.
Для справки я предоставляю ссылку, по которой предполагается, что такое приложение заполнено (https://serverfault.com/questions/363695/using-dhcp-with-multi-homed-nics/363700#363700) и что-либо другое, Сам dhclient имеет опцию «-I» для предоставления пользовательского идентификатора клиента с помощью командной строки (что также не работает).
Пожалуйста, помогите.
Спасибо и всего наилучшего за ценный вклад.