Два сетевых адаптера для одного гостя KVM

Я удалил старого гостя KVM и теперь у меня есть запасной IP-адрес. Теперь я назначил этот (ранее работавший!) IP-адрес другому гостю KVM, например:

virsh # attach-interface my-guest bridge br0 vnet1 00:50:56:00:57:05 --model virtio --persistent

Гостевой XML-файл теперь выглядит так:

virsh # dumpxml my-guest
<domain type='kvm' id='3'>
  <name>my-guest</name>
  ...
  <devices>
    <emulator>/usr/bin/kvm-spice</emulator>
    ...
    <interface type='bridge'>
      <mac address='00:50:56:00:57:04'/>
      <source bridge='br0'/>
      <target dev='vnet0'/>
      <model type='virtio'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </interface>
    <interface type='bridge'>
      <mac address='00:50:56:00:57:05'/>
      <source bridge='br0'/>
      <target dev='vnet1'/>
      <model type='virtio'/>
      <alias name='net1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </interface>
    ...
  </devices>
  ...
</domain>

Из-за вида случайно назначенного слота PCI новый IP-адрес теперь eth0 а старый eth1,

Я сменил гостя /etc/network/interfaces соответственно:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
# 148.251.73.28 <- new IP address
auto eth0
iface eth0 inet dhcp

# 148.251.73.27 <- old IP address
auto eth1
iface eth1 inet dhcp

При входе в систему меня даже приветствует это дружеское сообщение о том, что оба интерфейса должны быть настроены правильно, поскольку им автоматически назначаются правильные IP-адреса (на основе MAC-адресов):

System load:  1.54                Users logged in:        0
Usage of /:   22.6% of 448.72GB   IP address for eth0:    148.251.73.28
Memory usage: 12%                 IP address for eth1:    148.251.73.27
Swap usage:   0%                  IP address for docker0: 172.17.42.1
Processes:    207

А теперь проблема: только eth0, новый IP-адрес, работает. Я не могу связаться с сервером через eth1,

Примечание: у меня сервер nginx слушает 0.0.0.0,

Все эти тесты не пройдены:

$ curl --interface eth1 ifconfig.co
$ curl --interface eth1 148.251.73.28   (eth1 -> eth0)
$ curl --interface eth0 148.251.73.27   (eth0 -> eth1)

И как ни странно, это работает:

$ curl --interface eth1 148.251.73.27   (eth1 -> eth1)

Какого черта? У кого-нибудь есть какие-либо подсказки о том, что может вызвать это?

Не в последнюю очередь, хозяин /etc/network/interfaces:

# Loopback device:
auto lo
iface lo inet loopback

# device: eth0
auto  br0
iface br0 inet static
  address     148.251.52.150
  broadcast   148.251.52.159
  netmask     255.255.255.224
  gateway     148.251.52.129
  pointopoint 148.251.52.129

  bridge_ports eth0
  bridge_stp off
  bridge_fd 1
  bridge_hello 2
  bridge_maxage 12

  # default route to access subnet
  up route add -net 148.251.52.128 netmask 255.255.255.224 gw 148.251.52.129 br0

0 ответов

Другие вопросы по тегам