Помогите с настройкой сети
Имеем физический Сервер
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)
> Помогите с настройкой сети
> Имеем физический Сервер
> 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 на основном и виртуальных адаптерах (хотя у вас маршрутизируемая подсеть и вроде как это требоваться не должно).
> 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
> Т.е. на самой виртуалке повесить белый IP никак?неправильный вывод.
>> Т.е. на самой виртуалке повесить белый 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) и она должна остаться работать.
>[оверквотинг удален]
> Вот с виртуалки
> 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) и она должна
> остаться работать.Вы делаете бридж и объединяете сетевую карту сервера и виртуальные сетевые карты.
Соответственно, сеть в виртуалках у вас не работает, т.к. пакеты к провайдеру летят с мак-адресов виртуалок, чего он не ожидает.Также ответные пакеты он посылает на мак-адрес хоста, и они не попадают внутрь виртуалок.
Так делать не надо и надо переделать бридж(мост) на маршрутизацию.
> Соответственно, сеть в виртуалках у вас не работает, т.к. пакеты к провайдеру
> летят с мак-адресов виртуалок, чего он не ожидает.
> Также ответные пакеты он посылает на мак-адрес хоста, и они не попадают
> внутрь виртуалок.
> Так делать не надо и надо переделать бридж(мост) на маршрутизацию.Сразу оговорюсь, пров не 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 контейнера, то тут только один ?
Вроде как настроил то наконец:
в сетевом интерфейсе виртуалки сделал его как бридж на vmbr0 (внешний канал хостовой машины)и немного изменил
IP 94.100.86.x/32
gateway IP_HOST_машины
pointopoint IP_HOST_машины
> Вроде как настроил то наконец:
> в сетевом интерфейсе виртуалки сделал его как бридж на vmbr0 (внешний канал
> хостовой машины)и немного изменил
> IP 94.100.86.x/32
> gateway IP_HOST_машины
> pointopoint IP_HOST_машиныИ на хост-машине маршрут дописал
ip add addr 94.100.86.x/32 dev vmbr0
>> Вроде как настроил то наконец:
>> в сетевом интерфейсе виртуалки сделал его как бридж на 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-адреса.
Не знаю. Я у себя удалил сеть, создал сеть типа "route" и все. Бридж на внешнем интерфейсе и все видят виртуалку как отдельный комп, а у сетевухи такие же настройки как у отдельных компов на сетевухе.
Наврал, сетевуха виртуалки бриджем к внешнему интерфейсу. Вот так работает.
source bridge = 'br0'
у внешней ip 0/0
у br0 ip подсети, на сетевой виртуалки тоже ip подсети.
> Наврал, сетевуха виртуалки бриджем к внешнему интерфейсу. Вот так работает.
> source bridge = 'br0'
> у внешней ip 0/0
> у br0 ip подсети, на сетевой виртуалки тоже ip подсети.пингуется как внешний так и виртуалка, и у них разные mac адреса.
> Не знаю. Я у себя удалил сеть, создал сеть типа "route" и
> все. Бридж на внешнем интерфейсе и все видят виртуалку как отдельный
> комп, а у сетевухи такие же настройки как у отдельных компов
> на сетевухе.у тебя всё правильно. У тебя своя плоская сеть, но это не соответствует реальности топикстартера.
У него выделенный на сервер IP + маршрутизируемые на него 4 (четыре) IP-адреса.
Совершенно другая реальность.
> Совершенно другая реальность.Шутишь? На br0 у меня IP сервера, одна машина бриджем на br0 (в той же сети), другие на route сети бриджем на virbr0. Ему только первый br0 не нужен вот и все.
>> Совершенно другая реальность.
> Шутишь? На 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_машиныПерезапустил сети, перегрузил все что можно. Никак ... Даже с виртуалки хостовую машину перестал пинговать.
> Перезапустил сети, перегрузил все что можно. Никак ... Даже с виртуалки хостовую
> машину перестал пинговать.virsh net-list
Я думаю у тебя должно быть так:
virbr0 - бридж для внешней eth0
у eth0 IP 0/0
у virbr0 IP сервера
сеть типа 'route'
ну и разрешен форвард и разрешен firewall.
У меня чуть сложнее настроено, еще один бридж и от него виртуалки видят напрямую физическую сеть...
>> Не знаю. Я у себя удалил сеть, создал сеть типа "route" и
>> все. Бридж на внешнем интерфейсе и все видят виртуалку как отдельный
>> комп, а у сетевухи такие же настройки как у отдельных компов
>> на сетевухе.
> у тебя всё правильно. У тебя своя плоская сеть, но это не
> соответствует реальности топикстартера.
> У него выделенный на сервер IP + маршрутизируемые на него 4 (четыре)
> IP-адреса.
> Совершенно другая реальность.PavelR, ну вот что с ними делать -- оне же ВСЁ делают методом научного тыка -- даже никде ниразу не пытаясь понять происходящее. Очередное поколение куладминов?
> PavelR, ну вот что с ними делать -- оне же ВСЁ делают
> методом научного тыка -- даже никде ниразу не пытаясь понять происходящее.
> Очередное поколение куладминов?ну вот только не надо...
я до 4 утра пытался понять это самое происходящее....Извиняюсь за панику. Просто маршрут на хостовой машине поднимался до того как поднимался brctl.
Встал вопрос немного другого характера, да простят мена модераторы если не в тему, но
Поставил на одну из нод винду и как мне ей сказать что у нее ip 94.100.86.3x с маской 255.255.255.255
>[оверквотинг удален]
>> методом научного тыка -- даже никде ниразу не пытаясь понять происходящее.
>> Очередное поколение куладминов?
> ну вот только не надо...
> я до 4 утра пытался понять это самое происходящее....
> Извиняюсь за панику. Просто маршрут на хостовой машине поднимался до того как
> поднимался brctl.
> Встал вопрос немного другого характера, да простят мена модераторы если не в
> тему, но
> Поставил на одну из нод винду и как мне ей сказать что
> у нее ip 94.100.86.3x с маской 255.255.255.255а у неё не /32 сеть а /30
>[оверквотинг удален]
>> методом научного тыка -- даже никде ниразу не пытаясь понять происходящее.
>> Очередное поколение куладминов?
> ну вот только не надо...
> я до 4 утра пытался понять это самое происходящее....
> Извиняюсь за панику. Просто маршрут на хостовой машине поднимался до того как
> поднимался brctl.
> Встал вопрос немного другого характера, да простят мена модераторы если не в
> тему, но
> Поставил на одну из нод винду и как мне ей сказать что
> у нее ip 94.100.86.3x с маской 255.255.255.255Я честно говоря не помню нюансов. Вроде как зависит от винды, что она готова пережевать.
Исходящие соединения важны? Если нет, то можно как доп айпи повесить.
Важна ли взаимная доступность между окружениями? если не очень - то можно указать маску 252.В моем случае помогало то, что везде был включен проксиарп и адреса были из общей плоской подсети.
Винда - оффтопик :))))
> PavelR, ну вот что с ними делать -- оне же ВСЁ делают
> методом научного тыка -- даже никде ниразу не пытаясь понять происходящее.
> Очередное поколение куладминов?Ну ты дэбил.