Я сейчас снимаю 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-адреса на самих машинах.
Также после просмотра всех других страниц для получения информации по этому поводу. Я также нашел этот красивый небольшой учебник, который может помочь во всем разобраться: