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

Ubuntu 16 KVM создает мост для нескольких гостей

РАЗРЕШЕНО, СМ. ИЗМЕНИТЬ ВНИЗ

Я запускаю сервер Ubuntu 16.04.1 на голом железе с несколькими сетевыми адаптерами. В Ubuntu я использую KVM, и на нем у меня есть виртуальная машина, на которой работает сервер Ubuntu 16.

Я хочу создать следующую сетевую структуру:

  1. частная сеть, не доступная для внешней сети, которую будут использовать все мои гостевые виртуальные машины, и с ее помощью хост сможет подключаться к ним по SSH.

  2. мост к некоторым сетевым адаптерам хоста, который я могу подключать и отсоединять, когда мне нужно. на вопрос, скажем, у меня есть 1 сетевая карта, а его IP-адрес - 10.0.0.6, он подключен к маршрутизатору, который подключен к Интернету.

Я думал, что он заработал, но по какой-то причине теперь он не работает, и мои гости могут получить доступ только к сети 10.x.x.x, но не могут получить доступ к внешней сети (нет пинга до 8.8.8.8).

Я думаю, что по какой-то причине только один гость может получить доступ к Интернету одновременно, и, возможно, мне нужно лучше понять концепции моста.

Мой хост / etc / network / interfaces выглядит так:

    auto br1
    iface br1 inet static
        address 10.0.0.6
        netmask 255.255.255.0
        gateway 10.0.0.138
        broadcast 10.0.0.255
        dns-nameservers 8.8.8.8 4.2.2.2
        bridge_ports eno1
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0
        post-up ip link set br1 address xx:xx..

где вместо xx: xx .. я получил MAC-адрес eno1, а eno1 - это сетевая карта, через которую хост подключен к Интернету, его IP-адрес - 10.0.0.6, а IP-адрес маршрутизатора (фактически, межсетевой экран ..) - 10.0.0.138

Это команда, которую я использую для подключения моста br1 к гостю:

virsh attach-interface server_name --type bridge --source br1 --model virtio --live

Теперь в KVM я определил виртуальную сеть следующим образом:

<network>
  <name>privatenet</name>
  <uuid>some uuid that the virsh generated</uuid>
  <bridge name='privatebr0' stp='on' delay='0'/>
  <mac address='52:54:00:36:61:7a'/>
  <ip address='192.168.0.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.0.2' end='192.168.0.254'/>
    </dhcp>
  </ip>
</network>

А теперь мои гости / etc / network / interfaces выглядят так:

auto ens3
iface ens3 inet static
        address 192.168.0.22
        gateway 192.168.0.1
        netmask 255.255.255.0
        broadcast 192.168.0.255

auto ens8
iface ens8 inet dhcp

это результат гостей ifconfig:

ens3      Link encap:Ethernet  HWaddr 52:54:00:e4:b2:06  
          inet addr:192.168.0.21  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::5054:ff:fee4:b206/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6066 errors:0 dropped:20 overruns:0 frame:0
          TX packets:1100 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:379362 (379.3 KB)  TX bytes:566124 (566.1 KB)

ens8      Link encap:Ethernet  HWaddr 52:54:00:cc:78:12  
          inet addr:10.0.0.21  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::5054:ff:fecc:7812/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5494 errors:0 dropped:0 overruns:0 frame:0
          TX packets:343 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:804727 (804.7 KB)  TX bytes:20928 (20.9 KB)

Я могу пинговать другие компьютеры, подключенные к сети 10.x.x.x, но не могу пинговать 8.8.8.8

что мне не хватает?

РЕДАКТИРОВАТЬ: Хорошо, похоже, что я присоединяю и отсоединяю интерфейсы, из-за чего один и тот же хост будет зарегистрирован с разными MAC-адресами и IP-адресами, и брандмауэру это по какой-то причине не понравилось. Я оставил адреса на брандмауэре и теперь использую --mac в команде присоединения и статический IP.