1

Добрый день!

Есть CentOS 6.5, на ней стоит kvm и CentOS 6.5 - 3 копии.
Необходимо, чтобы Центоси в kvm так же были видны из локалки с разными ip.
Например, сам сервер имеет 192.168.1.100, и копии на kvm имеют такой же адрес, только в последнем октете 111,112,113.
Прочитал статью, http://www.alsigned.ru/?p=2027, здесь несколько тем нашел по поиску, но успехи как-то не очень. ab
Что есть на самом сервере:

физический интерфейс eth1:

[root@octet]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE="eth1"
BOOTPROTO="static"
HWADDR="C8:BE:19:27:D0:AF"
BRIDGE=bridge0
ONBOOT="yes"

И мост:

[root@octet]# cat /etc/sysconfig/network-scripts/ifcfg-bridge0
DEVICE="bridge0"
TYPE=Bridge
BOOTPROTO="static"
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
ONBOOT="yes"

То есть патчик, который подключается в eth1, другим концом подключен в роутер, где отключен DHCP, и ip я раздаю ручками.
На bridge0 мост с eth1 для kvm.

[root@octet]# virsh net-list
Имя               Статус Автозапуск Persistent
--------------------------------------------------
network              активен yes           yes

[root@octet]# brctl show
bridge name     bridge id               STP enabled     interfaces
bridge0         8000.c8be1927d0af       no              eth1
virbr0          8000.525400831588       yes             virbr0-nic
                                                        vnet0

А вот на kvm не работает:
есть только lo, при ifup eth0 пишет "Похоже, что устройство eth0 отсутствует. Инициализация отложена.".
При ifup eth1 - "конфигурация для eth1 не найдена".

ЧЯДНТ и что еще необходимо донастроить?
Заранее спасибо!

În jur e totul trecător. ©

2

Настройки гостей покажите

3

[root@octet ~]# virsh -c qemu:///system iface-list
Имя               Статус MAC-адрес
--------------------------------------------
bridge0              активен c8:be:19:27:d0:af
lo                   активен 00:00:00:00:00:00


В /etc/libvirt/qemu/www.xml (1-ая центось):

 <interface type='network'>
      <mac address='52:54:00:8e:be:cb'/>
      <source network='network'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </interface>
[root@octet ~]# cat /etc/libvirt/qemu/networks/network.xml
<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
  virsh net-edit network
or other application using the libvirt API.
-->

<network>
  <name>network</name>
  <uuid>f2c41a43-c1e2-b1ca-0847-a6ff5d335512</uuid>
  <forward dev='eth1' mode='route'>
    <interface dev='eth1'/>
  </forward>
  <bridge name='virbr0' stp='on' delay='0' />
  <mac address='52:54:00:83:15:88'/>
  <ip address='192.168.1.1' netmask='255.255.255.240'>
    <dhcp>
      <range start='192.168.1.8' end='192.168.1.14' />
    </dhcp>
  </ip>
</network>
În jur e totul trecător. ©

4

А почему в качестве бриджа указан virbr0, а не bridge0?

5

Указал

 <bridge name='bridge0' stp='on' delay='0' />
  <mac address='52:54:00:BE:7D:0F'/>
  <ip address='192.168.100.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.100.128' end='192.168.100.254' />
    </dhcp>

Ничего не изменилось.

În jur e totul trecător. ©

6

Так, теперь давайте с сетью разберемся... у Вас 192.168.1. или 192.168.100.?

7

alexfinn пишет:

Так, теперь давайте с сетью разберемся... у Вас 192.168.1. или 192.168.100.?


192.168.1.0/24
Но для виртуалок я хотел бы 192.168.1.111, 112,113.

În jur e totul trecător. ©

8

LuckyStar пишет:

<ip address='192.168.100.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.100.128' end='192.168.100.254' />
    </dhcp>

9

кстати, вот кусок из конфига, касательно сетевого устройства:

<devices>
    ...
    <interface type='bridge'>
      <mac address='52:54:00:e7:c4:dd'/>
      <source bridge='bridge'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    ...
</devices>

Больше у этой виртуалки про сеть ничего не сказано. Айпишник для конкретной виртуалки задается, соответственно, в конфигах самой виртуалки

10 (20.01.2014 17:02:59 отредактировано LuckyStar)

Поменял:

 <bridge name='bridge0' stp='on' delay='0' />
  <mac address='C8:BE:19:27:D0:AF'/>
  <ip address='192.168.1.100' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.1.111' end='192.168.1.115' />
    </dhcp>

А какой интерфейс-то запускать на виртуалке? ab

În jur e totul trecător. ©

11

У Вас их там несколько что ли?

12

Смотрите, устройство vnet от виртуалки должно быть в бридже bridge0 в данном случае

13 (20.01.2014 17:11:44 отредактировано LuckyStar)

Но по ifup vnet0 выдает, что "Конфигурация для vnet0 не найдена", а по ifconfig есть только lo со 127.0.0.1

Вот, кстати, интерфейсы с хост-системы:

# ifconfig
bridge0   Link encap:Ethernet  HWaddr C8:BE:19:27:D0:AF
          inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::cabe:19ff:fe27:d0af/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1178549 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1170169 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:132956621 (126.7 MiB)  TX bytes:388444356 (370.4 MiB)

eth0      Link encap:Ethernet  HWaddr D8:50:E6:4D:E5:4F
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

eth1      Link encap:Ethernet  HWaddr C8:BE:19:27:D0:AF
          inet6 addr: fe80::cabe:19ff:fe27:d0af/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4700011 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2464305 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:5122753436 (4.7 GiB)  TX bytes:531922814 (507.2 MiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:29044 errors:0 dropped:0 overruns:0 frame:0
          TX packets:29044 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:28902300 (27.5 MiB)  TX bytes:28902300 (27.5 MiB)

virbr0    Link encap:Ethernet  HWaddr 52:54:00:BE:7D:0F
          inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

vnet0     Link encap:Ethernet  HWaddr FE:54:00:8E:BE:CB
          inet6 addr: fe80::fc54:ff:fe8e:becb/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:256 errors:0 dropped:0 overruns:1 carrier:0
          collisions:0 txqueuelen:500
          RX bytes:0 (0.0 b)  TX bytes:22366 (21.8 KiB)
În jur e totul trecător. ©

14

Перезапустите демон libvirtd, перезапустите виртуалку и будем смотреть

15

alexfinn пишет:

Перезапустите демон libvirtd, перезапустите виртуалку и будем смотреть

Готово, перезапустил.

În jur e totul trecător. ©

16

покажите вывод команды

brctl show

с хоста
и

ip a

с гостя

17 (20.01.2014 17:24:08 отредактировано LuckyStar)

С хост-системы:

[root@octet ~]# brctl show[img]
bridge name     bridge id               STP enabled     interfaces
bridge0         8000.c8be1927d0af       no              eth1
                                                        vnet0

С гостя:
С гостя

În jur e totul trecător. ©

18

Ок, назначайте интерфейсу eth1 в госте нужный айпишник

19

/etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE="eth1"
BOOTPROTO="static"
IPADDR=192.168.1.111
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
ONBOOT="yes"

Таким образом?

În jur e totul trecător. ©

20

Ага, похоже на то ab Проверяйте.

21

alexfinn пишет:

Ага, похоже на то ab Проверяйте.

Ага, спасибо огромное, работает!!!   bs

По аналогии, значит, и другие так же настраивать?

În jur e totul trecător. ©

22

Ну да. У каждой сетевухи должен быть свой отдельный мак-адрес и айпишник, соответственно ab

23

alexfinn пишет:

Ну да. У каждой сетевухи должен быть свой отдельный мак-адрес и айпишник, соответственно ab

Отлично! Еще раз огромное спасибо!

И вопрос будет последний: прочитал так же много мануалов и тому подобного по iptables.
Но какое правило лучше всего использовать на основном сервере, чтобы с 443 порта все летело на 192.168.1.111 и тот же 443?

În jur e totul trecător. ©

24

LuckyStar пишет:

Но какое правило лучше всего использовать на основном сервере, чтобы с 443 порта все летело на 192.168.1.111 и тот же 443?

Может, все-таки отдельные вопросы в отдельных ветках?

25

Хорошо!
Тогда тему можно закрыть. Изначальный вопрос полностью разжеван до мелочей. ab

În jur e totul trecător. ©

26

LuckyStar пишет:

Добрый день!

Есть CentOS 6.5, на ней стоит kvm и CentOS 6.5 - 3 копии.
Необходимо, чтобы Центоси в kvm так же были видны из локалки с разными ip.
Например, сам сервер имеет 192.168.1.100, и копии на kvm имеют такой же адрес, только в последнем октете 111,112,113.
Прочитал статью, http://www.alsigned.ru/?p=2027, здесь несколько тем нашел по поиску, но успехи как-то не очень. ab
Что есть на самом сервере:

физический интерфейс eth1:

[root@octet]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE="eth1"
BOOTPROTO="static"
HWADDR="C8:BE:19:27:D0:AF"
BRIDGE=bridge0
ONBOOT="yes"

лучше BOOTPROTO=none тут статика нет, так как нет собственно айпи


И мост:

[root@octet]# cat /etc/sysconfig/network-scripts/ifcfg-bridge0
DEVICE="bridge0"
TYPE=Bridge
BOOTPROTO="static"
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
ONBOOT="yes"

я бы еще добавил DELAY=0, иначе, особенно при миграциях, grace arp будет высылаться с опозданием, и гости не появятся в сети несколько минут.

То есть патчик, который подключается в eth1, другим концом подключен в роутер, где отключен DHCP, и ip я раздаю ручками.
На bridge0 мост с eth1 для kvm.

[root@octet]# virsh net-list
Имя               Статус Автозапуск Persistent
--------------------------------------------------
network              активен yes           yes

[root@octet]# brctl show
bridge name     bridge id               STP enabled     interfaces
bridge0         8000.c8be1927d0af       no              eth1
virbr0          8000.525400831588       yes             virbr0-nic
                                                        vnet0

насчет того что vnet0 должен был оказаться включенным в bridge0 уже сказали

А вот на kvm не работает:
есть только lo, при ifup eth0 пишет "Похоже, что устройство eth0 отсутствует. Инициализация отложена.".
При ifup eth1 - "конфигурация для eth1 не найдена".

ЧЯДНТ и что еще необходимо донастроить?
Заранее спасибо!

помимо неправильного моста, для того чтоб использовать eth0, надо уибедиться в том что правильный мак прописан в гостевом ifcfg-eth0 и 70-persistent-net-rules

27

Добрый день.
Ситуация очень похожа, но всё же есть разница.
Начну с описания, имеется два белых адреса хх.хх.хх.28 и хх.хх.хх.29. Стоит Centos 6.5, установлен KVM.
Адрес с окончанем 29 - это физическая машина. Адрес с окончанием 28 - это виртуальная машина работающая по bridge0. Есть связь в/из интернета, с этим никаких проблем нету (пока на хосте для надёжности настройки отключил iptables).
Нужно настроить хост так, чтоб работа виртуальных машин которые будут создаваться с серыми (локальными адресами), не мешали работе виртуальной машине с 29-ым адресом.
Нужно иметь возможность создавать виртуальные машины с локальными адресами, назначать можно руками, а можно по DHCP (это уже плюшки). Важно чтоб виртуальные машины видели друг друга и имели полный доступ в интрнет. Работать виртуальные машины должны через 29-ый адрес. 28-ой должен работать через eth0, но мешать и мешаться не должен второму белому ip и серым адресам.
Всё работает через интерфейс eth0, бридж с названием bridge0.

28

Так а в чем проблема-то? virbr0 доступен на хосте, через него и выпускайте виртуалки с серыми адресами

29

Именно это и не выходит. Перелопатил уйму мануалов и пару раз ставил всё с нуля из-за кучи неверных попыток.
Для начала, попробую описать как делаю. Создаю допустим виртуальную машину ХР с привязкой к бриджу. Там указываю в настройках сети
IP : 192.168.44.44
Netmask : 255.255.255.0
Gateway : xx.xx.xx.29
DNS1,2 указываю првайдерские.

Какие дальнейшие действия на хосте?
С белым адресом в случае с 28-ым адресом всё достаточно просто всё обстояло, я его пустил через бридж (указал бридж при установке виртуальной машины), а после указал необходимые настройки с системе, касающиеся ip, netmask и gateway.

30

Стоп, а зачем привязывать к бриджу-то? Для серых адресов используйте virbr0 или что у вас там из интерфейсов есть.