У меня есть CentOS 6.5 KVM Host с 3 KVM-Guest CentOS 6.5. Теперь я хочу назначить общедоступный IP-адрес для хоста и по одному общедоступному IP-адресу для каждого гостя, используя один сетевой интерфейс. Мои IP-адреса (назначенные сетевым администратором):
Маска: 255.255.254.0
Шлюз 10.25.146.9
Вот изображение, которое лучше объясняет мою ситуацию:
Я новичок в Linux, пожалуйста, помогите мне :)
заранее спасибо
Вы можете использовать мост на хост-сервере. Остальные KVM будут использовать статический IP-адрес.
Как создать мост: Ссылка на сайт. Теперь вам просто нужно использовать мост в ваших KVM. Если вы используете virsh с аргументом --network = bridge: br0
Чтобы установить новую виртуальную машину с помощью virsh, я использую эту команду:
virt-install --connect qemu:///system --name test_vm --ram 1024 --vcpus 2 --disk path=/vms/test_vm.img,size=10 \
--network=bridge:br0 \
--os-type=linux --graphics vnc,password=test --autostart --virt-type kvm
Специальная строка 2. сообщает симулятору использовать мост br0. Ядро Linux автоматически создает ответвительные устройства для моста, вы можете проверить это с помощью ifconfig.
Теперь виртуальной машине нужен статический IP-адрес. В CentOS вам нужно отредактировать /etc/sysconfig/network-scripts/ifcfg-eth0
:
DEVICE="eth0"
BOOTPROTO="none"
HWADDR=
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID=
IPADDR=10.25.147.10*
NETMASK=255.255.254.0
DNS1=10.25.146.???
GATEWAY=10.25.146.9
Ваша картина неверна - вы не можете назначать IP-адреса за пределами узлов KVM, а только внутри узлов KVM.
Если вы хотите назначить 3 IP-адреса для 3-х KVM-машин, вы должны использовать KVM-переключатель и назначить IP-адрес на всех KVM-хостах (и только в KVM-хостах!). Они будут общаться через программный переключатель, и вы увидите их под своими адресами.