Если я хочу иметь 2 статических IP-адреса, я могу сделать что-то вроде этого:
auto eth0
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
broadcast 192.168.1.255
auto eth0:0
iface eth0:0 inet static
address 192.168.1.11
netmask 255.255.255.0
broadcast 192.168.1.255
Однако я бы хотел использовать DHCP для получения адресов. Я пробовал следующее:
auto eth0
iface eth0 inet dhcp
auto eth0:0
iface eth0:0 inet dhcp
... но я только закончил с eth0 и не вторым IP. Есть ли простой способ сделать это?
Вам также необходимо убедиться, что основной интерфейс настроен для беспорядочного режима:
ip link set dev eth0 promisc on
Если вы используете виртуальную машину, убедитесь, что ваш VM-хост разрешает гостю использовать беспорядочный режим.
Вы можете собрать все это в /etc/network/interfaces следующим образом:
# Primary interface
auto eth0
iface eth0 inet dhcp
up ip link set dev eth0 promisc on
# Macvlan interfaces
auto vir1
iface vir1 inet dhcp
pre-up ip link add link eth0 address 02:cd:ab:00:10:01 vir1 type macvlan
post-down ip link delete vir1
auto vir2
iface vir2 inet dhcp
pre-up ip link add link eth0 address 02:cd:ab:00:10:02 vir2 type macvlan
post-down ip link delete vir2
... и т. д.