URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 95344
[ Назад ]

Исходное сообщение
"Сеть на KVM (PROXMOX)"

Отправлено AlexR , 13-Янв-14 18:31 
Помогите с настройкой сети
Имеем физический Сервер
IP 185.15.88.y/255.255.255.252
GW 185.15.88.z
Для виртуалок пров дал сеть
94.100.86.112/30
Контейнеры OpenVZ работают без проблем. А вот KVM никак не хочет. Нужно что бы у KVM был ip внешний, соответственно и что бы по нему был доступ с внешки.

# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:1a:64:ca:c7:64
          inet6 addr: fe80::21a:64ff:feca:c764/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5019924 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4925285 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:558068821 (532.2 MiB)  TX bytes:655403400 (625.0 MiB)

eth0.1    Link encap:Ethernet  HWaddr 00:1a:64:ca:c7:64
          inet6 addr: fe80::21a:64ff:feca:c764/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1267 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:81942 (80.0 KiB)

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:138037 errors:0 dropped:0 overruns:0 frame:0
          TX packets:138037 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:99299608 (94.6 MiB)  TX bytes:99299608 (94.6 MiB)

tap111i0  Link encap:Ethernet  HWaddr 6e:67:ad:81:0d:d9
          inet6 addr: fe80::6c67:adff:fe81:dd9/64 Scope:Link
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          RX packets:6 errors:0 dropped:0 overruns:0 frame:0
          TX packets:879 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500
          RX bytes:468 (468.0 B)  TX bytes:53580 (52.3 KiB)

venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet6 addr: fe80::1/128 Scope:Link
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:137802 errors:0 dropped:0 overruns:0 frame:0
          TX packets:142132 errors:0 dropped:7 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:30561182 (29.1 MiB)  TX bytes:11106810 (10.5 MiB)

vmbr0     Link encap:Ethernet  HWaddr 00:1a:64:ca:c7:64
          inet addr:185.15.88.166  Bcast:185.15.88.167  Mask:255.255.255.252
          inet6 addr: fe80::21a:64ff:feca:c764/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5024213 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4877436 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:467837887 (446.1 MiB)  TX bytes:630302260 (601.1 MiB)

vmbr0v1   Link encap:Ethernet  HWaddr 00:1a:64:ca:c7:64
          inet6 addr: fe80::1cf1:1eff:fe52:a273/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:13 errors:0 dropped:0 overruns:0 frame:0
          TX packets:39 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:484 (484.0 B)  TX bytes:1854 (1.8 KiB)


Содержание

Сообщения в этом обсуждении
"Сеть на KVM (PROXMOX)"
Отправлено PavelR , 13-Янв-14 19:54 
> Помогите с настройкой сети
> Имеем физический Сервер
> IP 185.15.88.y/255.255.255.252
> GW 185.15.88.z
> Для виртуалок пров дал сеть
> 94.100.86.112/30
> Контейнеры OpenVZ работают без проблем. А вот KVM никак не хочет. Нужно
> что бы у KVM был ip внешний, соответственно и что бы
> по нему был доступ с внешки.

Сеть у вас не работает, т.к. пакеты к провайдеру летят с мак-адресов виртуалок.
Это происходит потому-что вы делаете бридж и объединяете сетевую карту сервера и виртуальные сетевые карты.

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

Реальные айпи адреса внутри виртуалки вешаете как-то так:

auto eth0
iface eth0 inet static
address 1.2.3.18
pointopoint 192.168.1.1
gateway 192.168.1.1
netmask 255.255.255.255
post-up ethtool -K eth0 tx off
post-up /sbin/ip addr add 192.168.1.22 dev eth0

Либо конфигурьте серый адрес + вешайте на него алиас, но исходящий трафик работать немножко не будет.

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

Также может потребоваться включить net.ipv4.conf.eth0.proxy_arp=1 на основном и виртуальных адаптерах (хотя у вас маршрутизируемая подсеть и вроде как это требоваться не должно).


"Сеть на KVM (PROXMOX)"
Отправлено AlexR , 13-Янв-14 21:45 
> auto eth0
> iface eth0 inet static
> address 1.2.3.18
> pointopoint 192.168.1.1
> gateway 192.168.1.1
> netmask 255.255.255.255
> post-up ethtool -K eth0 tx off
> post-up /sbin/ip addr add 192.168.1.22 dev eth0

Т.е. на самой виртуалке повесить белый IP никак? На этой виртуалке будет работат софтина, и у нее на интерфейсе был белый реальный IP


"Сеть на KVM (PROXMOX)"
Отправлено PavelR , 13-Янв-14 22:04 

> Т.е. на самой виртуалке повесить белый IP никак?

неправильный вывод.



"Сеть на KVM (PROXMOX)"
Отправлено AlexR , 13-Янв-14 22:22 
>> Т.е. на самой виртуалке повесить белый IP никак?
> неправильный вывод.

Можно я начну сначала? А то каша в голове от перечитанного.
Пров мне дал IP для самого сервака
IP 185.15.88.y
Mask 255.255.255.252
GW 185.15.88.z
Для виртуалок сказал можно использовать любой из сети
net 94.100.86.x/30
Т.е. 94.100.86.x, 94.100.86.1x, 94.100.86.2x, 94.100.86.3x
На вопрос шлюза для виртуалок - сказал что сеть должна быть PtP т.е. шлюз и IP одинаковы.

Для OpenVZ при создании говорю добавить Адрес Venet и пушу туда IP 94.100.86.2x
После установки все работает.
Для KVM уже по всякому попробовал - ну никак не могу завести сеть.

Вот конфиг хостовой мшины
iface eth1 inet manual
auto vmbr0
iface vmbr0 inet static
address  185.15.88.y
netmask  255.255.255.252
gateway  185.15.88.z
bridge_ports eth0
bridge_stp off
bridge_fd 0
Вот с виртуалки
auto eth0
iface eth0 inet static
address  94.100.86.x
netmask  255.255.255.255
gateway  94.100.86.x
А вот отсюда можно подробней? Что я не так сделал и где нужно подправить?
З.Ы. На хостовой машине уже есть виртуалка OpenVZ(IP 94.100.86.2x) и она должна остаться работать.


"Сеть на KVM (PROXMOX)"
Отправлено PavelR , 13-Янв-14 23:14 
>[оверквотинг удален]
> Вот с виртуалки
> auto eth0
>  iface eth0 inet static
>  address  94.100.86.x
>  netmask  255.255.255.255
>  gateway  94.100.86.x
> А вот отсюда можно подробней? Что я не так сделал и где
> нужно подправить?
> З.Ы. На хостовой машине уже есть виртуалка OpenVZ(IP 94.100.86.2x) и она должна
> остаться работать.

Вы делаете бридж и объединяете сетевую карту сервера и виртуальные сетевые карты.
Соответственно, сеть в виртуалках у вас не работает, т.к. пакеты к провайдеру летят с мак-адресов виртуалок, чего он не ожидает.

Также ответные пакеты он посылает на мак-адрес хоста, и они не попадают внутрь виртуалок.

Так делать не надо и надо переделать бридж(мост) на маршрутизацию.


"Сеть на KVM (PROXMOX)"
Отправлено AlexR , 13-Янв-14 23:50 
> Соответственно, сеть в виртуалках у вас не работает, т.к. пакеты к провайдеру
> летят с мак-адресов виртуалок, чего он не ожидает.
> Также ответные пакеты он посылает на мак-адрес хоста, и они не попадают
> внутрь виртуалок.
> Так делать не надо и надо переделать бридж(мост) на маршрутизацию.

Сразу оговорюсь, пров не hetzner.de

Общение с провайдером дало следующую информацию.
Вопрос: Есть фильтрация или привязка по MAC
Ответ: Нет
Может и врут конечно...

Переделать на маршрутизацию это примерно как то так?:
На хост машине
# нам выдали подсеть 94.100.86.x/30
auto vmbr200
iface vmbr200 inet static
        pre-up brctl addbr vmbr200
        up ip link set up vmbr200
        up ip addr add 94.100.86.x/32 dev vmbr0
        up ip route add 94.100.86.1x/30 dev vmbr200

Соответственно в виртуалке настройки даем IP 94.100.86.2x и шлюзом 94.100.86.1x

Но тут получается что кол-во IP адресов уменьшается. А именно если с вариантами OpenVZ я могу поднять в данном случае 4 контейнера, то тут только один ?


"Сеть на KVM (PROXMOX)"
Отправлено AlexR , 14-Янв-14 01:54 
Вроде как настроил то наконец:
в сетевом интерфейсе виртуалки сделал его как бридж на vmbr0 (внешний канал хостовой машины)и немного изменил
IP 94.100.86.x/32
gateway IP_HOST_машины
pointopoint IP_HOST_машины

"Сеть на KVM (PROXMOX)"
Отправлено AlexR , 14-Янв-14 02:05 
> Вроде как настроил то наконец:
> в сетевом интерфейсе виртуалки сделал его как бридж на vmbr0 (внешний канал
> хостовой машины)и немного изменил
> IP 94.100.86.x/32
> gateway IP_HOST_машины
> pointopoint IP_HOST_машины

И на хост-машине маршрут дописал
ip add addr 94.100.86.x/32 dev vmbr0


"Сеть на KVM (PROXMOX)"
Отправлено PavelR , 14-Янв-14 09:44 
>> Вроде как настроил то наконец:
>> в сетевом интерфейсе виртуалки сделал его как бридж на vmbr0 (внешний канал
>> хостовой машины)и немного изменил
>> IP 94.100.86.x/32
>> gateway IP_HOST_машины
>> pointopoint IP_HOST_машины
> И на хост-машине маршрут дописал
> ip add addr 94.100.86.x/32 dev vmbr0

как-то так, да.

>Но тут получается что кол-во IP адресов уменьшается.

Поэтому и надо делать маршрутизацию каждого айпи отдельно, либо через серую сеть, либо через указание маршрута к каждому из IP через vif-девайс. И можно будет использовать все выделенные IP-адреса.


"Сеть на KVM (PROXMOX)"
Отправлено BarS , 14-Янв-14 10:01 
Не знаю. Я у себя удалил сеть, создал сеть типа "route" и все. Бридж на внешнем интерфейсе и все видят виртуалку как отдельный комп, а у сетевухи такие же настройки как у отдельных компов на сетевухе.

"Сеть на KVM (PROXMOX)"
Отправлено BarS , 14-Янв-14 10:12 
Наврал, сетевуха виртуалки бриджем к внешнему интерфейсу. Вот так работает.
source bridge = 'br0'
у внешней ip 0/0
у br0 ip подсети, на сетевой виртуалки тоже ip подсети.

"Сеть на KVM (PROXMOX)"
Отправлено BarS , 14-Янв-14 10:13 
> Наврал, сетевуха виртуалки бриджем к внешнему интерфейсу. Вот так работает.
> source bridge = 'br0'
> у внешней ip 0/0
> у br0 ip подсети, на сетевой виртуалки тоже ip подсети.

пингуется как внешний так и виртуалка, и у них разные mac адреса.


"Сеть на KVM (PROXMOX)"
Отправлено PavelR , 14-Янв-14 12:41 
> Не знаю. Я у себя удалил сеть, создал сеть типа "route" и
> все. Бридж на внешнем интерфейсе и все видят виртуалку как отдельный
> комп, а у сетевухи такие же настройки как у отдельных компов
> на сетевухе.

у тебя всё правильно. У тебя своя плоская сеть, но это не соответствует реальности топикстартера.

У него выделенный на сервер IP + маршрутизируемые на него 4 (четыре) IP-адреса.

Совершенно другая реальность.


"Сеть на KVM (PROXMOX)"
Отправлено BarS , 14-Янв-14 13:07 
> Совершенно другая реальность.

Шутишь? На br0 у меня IP сервера, одна машина бриджем на br0 (в той же сети), другие на route сети бриджем на virbr0. Ему только первый br0 не нужен вот и все.


"Сеть на KVM (PROXMOX)"
Отправлено AleR , 14-Янв-14 14:21 
>> Совершенно другая реальность.
> Шутишь? На br0 у меня IP сервера, одна машина бриджем на br0
> (в той же сети), другие на route сети бриджем на virbr0.
> Ему только первый br0 не нужен вот и все.

Рано обрадовался. Уже совсем перестал пр=онимать что и как работает.
Пришел утром сегодня, пингую виртуалку - не работает. Захожу на ХОСТ машину - виртуалка запущена, но ни с нее ничего не пингуется ни она не пингуется.
Смотрю - оказалось сервак перегружался утром. Позвонил прову - сказал что да, была проблема с электричеством.
Но что случилось то с сетью? Посмотрел конфиги - вроде все на месте.
iface eth0 inet manual
auto vmbr0
iface vmbr0 inet static
<------>address  185.15.88.y
<------>netmask  255.255.255.252
<------>gateway  185.15.88.z
<------>bridge_ports eth0
<------>bridge_stp off
<------>bridge_fd 0
# Для Бриджа KVM
<------>ip route add 94.100.86.x/32 dev vmbr0

Конфиг сетевки самой виртуалки
IP 94.100.86.x/32
gateway IP_HOST_машины
pointopoint IP_HOST_машины

Перезапустил сети, перегрузил все что можно. Никак ... Даже с виртуалки хостовую машину перестал пинговать.


"Сеть на KVM (PROXMOX)"
Отправлено BarS , 14-Янв-14 14:52 
> Перезапустил сети, перегрузил все что можно. Никак ... Даже с виртуалки хостовую
> машину перестал пинговать.

virsh net-list



"Сеть на KVM (PROXMOX)"
Отправлено BarS , 14-Янв-14 14:56 
Я думаю у тебя должно быть так:
virbr0 - бридж для внешней eth0
у eth0 IP 0/0
у virbr0 IP сервера
сеть типа 'route'
ну и разрешен форвард и разрешен firewall.
У меня чуть сложнее настроено, еще один бридж и от него виртуалки видят напрямую физическую сеть...

"Сеть на KVM (PROXMOX)"
Отправлено pavel_simple , 14-Янв-14 15:08 
>> Не знаю. Я у себя удалил сеть, создал сеть типа "route" и
>> все. Бридж на внешнем интерфейсе и все видят виртуалку как отдельный
>> комп, а у сетевухи такие же настройки как у отдельных компов
>> на сетевухе.
> у тебя всё правильно. У тебя своя плоская сеть, но это не
> соответствует реальности топикстартера.
> У него выделенный на сервер IP + маршрутизируемые на него 4 (четыре)
> IP-адреса.
> Совершенно другая реальность.

PavelR, ну вот что с ними делать -- оне же ВСЁ делают методом научного тыка -- даже никде ниразу не пытаясь понять происходящее. Очередное поколение куладминов?


"Сеть на KVM (PROXMOX)"
Отправлено AleR , 14-Янв-14 17:34 
> PavelR, ну вот что с ними делать -- оне же ВСЁ делают
> методом научного тыка -- даже никде ниразу не пытаясь понять происходящее.
> Очередное поколение куладминов?

ну вот только не надо...
я до 4 утра пытался понять это самое происходящее....

Извиняюсь за панику. Просто маршрут на хостовой машине поднимался до того как поднимался brctl.
Встал вопрос немного другого характера, да простят мена модераторы если не в тему, но
Поставил на одну из нод винду и как мне ей сказать что у нее ip 94.100.86.3x с маской 255.255.255.255


"Сеть на KVM (PROXMOX)"
Отправлено pavel_simple , 14-Янв-14 18:38 
>[оверквотинг удален]
>> методом научного тыка -- даже никде ниразу не пытаясь понять происходящее.
>> Очередное поколение куладминов?
> ну вот только не надо...
> я до 4 утра пытался понять это самое происходящее....
> Извиняюсь за панику. Просто маршрут на хостовой машине поднимался до того как
> поднимался brctl.
> Встал вопрос немного другого характера, да простят мена модераторы если не в
> тему, но
> Поставил на одну из нод винду и как мне ей сказать что
> у нее ip 94.100.86.3x с маской 255.255.255.255

а у неё не /32 сеть а /30


"Сеть на KVM (PROXMOX)"
Отправлено PavelR , 14-Янв-14 18:47 
>[оверквотинг удален]
>> методом научного тыка -- даже никде ниразу не пытаясь понять происходящее.
>> Очередное поколение куладминов?
> ну вот только не надо...
> я до 4 утра пытался понять это самое происходящее....
> Извиняюсь за панику. Просто маршрут на хостовой машине поднимался до того как
> поднимался brctl.
> Встал вопрос немного другого характера, да простят мена модераторы если не в
> тему, но
> Поставил на одну из нод винду и как мне ей сказать что
> у нее ip 94.100.86.3x с маской 255.255.255.255

Я честно говоря не помню нюансов. Вроде как зависит от винды, что она готова пережевать.
Исходящие соединения важны?  Если нет, то можно как доп айпи повесить.
Важна ли взаимная доступность между окружениями? если не очень - то можно указать маску 252.

В моем случае помогало то, что везде был включен проксиарп и адреса были из общей плоской подсети.

Винда - оффтопик :))))


"Сеть на KVM (PROXMOX)"
Отправлено BarS , 15-Янв-14 23:31 
> PavelR, ну вот что с ними делать -- оне же ВСЁ делают
> методом научного тыка -- даже никде ниразу не пытаясь понять происходящее.
> Очередное поколение куладминов?

Ну ты дэбил.