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

Настройка сетевых интерфейсов в Ubuntu для виртуальной машины KVM

Я сейчас снимаю Ubuntu server. На этой машине я хотел бы запускать виртуальные машины, используя KVM. Для некоторого доступа в Интернет я установил Kimchi, очень простой инструмент управления KVM на основе HTML5.

В любом случае у меня проблемы с настройкой сети для виртуальных машин. На данный момент у меня есть один основной IP и несколько дополнительных IP. Основной IP-адрес зарезервирован для хоста, поэтому я могу получить к нему доступ по SSH и т. Д. Обратите внимание, что хост-сервер напрямую подключен к Интернету с этим общедоступным IP-адресом, между ними нет ничего.

Очевидно, теперь я хотел бы, чтобы первая виртуальная машина использовала один из дополнительных IP-адресов.

Это /etc/network/interfaces до сих пор:

auto lo
iface lo inet loopback

# device: eth0
auto  eth0
iface eth0 inet static
  address   1**.***.***.**6
  broadcast 1**.***.***.**1
  netmask   2**.***.***.**2
  gateway   1**.***.***.**9
  # default route to access subnet
  up route add -net 1**.***.***.**8 netmask 2**.***.***.**2 gw 1**.***.***.**9 eth0

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

Как мне нужно настроить, чтобы виртуальная машина автоматически использовала дополнительный IP-адрес?

Вот более подробное пошаговое руководство по созданию моста:

Выполните следующие действия на сервере kvm:

sudo остановить сетевой менеджер

эхо "ручное" | sudo tee /etc/init/network-manager.override

Это отключит ваш сетевой менеджер и предотвратит его перезапуск.

Затем мы работаем над конфигурацией интерфейса, начиная с отключения интерфейса:

ifdown eth0

отредактируйте "/ etc / network / interfaces" и найдите физический интерфейс, скорее всего, eth0

Вам нужно заменить информацию об интерфейсе eth0, чтобы он выглядел следующим образом:

auto br0
   iface br0 inet static
       address XXX.XXX.X.X
       netmask XXX.XXX.XXX.x
       network XXX.XXX.X.X
       broadcast XXX.XXX.XXX.X
       gateway XXX.XXX.X.X
       bridge_ports eth0
       bridge_stp on
       bridge_maxwait 0

Затем вы сможете вернуть свой адаптер с помощью:

ifup br0

вам также необходимо добавить следующее в настройки '/etc/sysctl.conf'

net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0

и загрузите настройки с помощью

sysctl -p /etc/sysctl.conf

Также добавьте строки

/ sbin / sysctl -p /etc/sysctl.conf
iptables -A FORWARD -p tcp --tcp-flags SYN, RST SYN -j TCPMSS --clamp-mss-to-pmtu

в ваш файл '/etc/rc.local' непосредственно перед строкой «exit 0», чтобы эти эффекты запускались при загрузке.

запустить brctl show

и найдите строку br0, которая показывает интерфейс eth0. Теперь это мостовое устройство.

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

virsch edit <name of guest VM>

Вам необходимо отредактировать раздел интерфейса, чтобы он выглядел примерно так:

<interface type='bridge'>
        <source bridge='br0'/>
        <mac address='<YOUR MAC ADDRESS>'/>
        <model type='virtio'/>   # try this if you experience problems with VLANs
     </interface>

Теперь ваши устройства должны быть соединены мостом. Вам все равно нужно будет правильно настроить IP-адреса на самих машинах.

Также после просмотра всех других страниц для получения информации по этому поводу. Я также нашел этот красивый небольшой учебник, который может помочь во всем разобраться:

http://www.dedoimedo.com/computers/kvm-bridged.html