OpenVZ Forum


Home » International » Russian » Работа с VLAN
Работа с VLAN [message #5123] Mon, 14 August 2006 05:41 Go to next message
Samoylov_Mihail is currently offline  Samoylov_Mihail
Messages: 7
Registered: August 2006
Junior Member
Доброго дня.

Подскажите, пожалуйста, возможно ли, и если да, то как посредством OpenVZ реализовать следующую схему:

На ноду приходит несколько tagged VLAN-интерфейсов, в каждом из которых поднято по несколько IP-адресов и каждый из этих адресов присвоен отдельной VE'шке.
Если бы IP-адрес на VLAN-интерфейсе был один, я бы не мудрствуя лукаво отдал интерфейс в VE через netdev_add, а вот как сделать шаринг одного VLAN-интерфейса между несколькими VE не понимаю.
Спасибо заранее.
Re: Работа с VLAN [message #5145 is a reply to message #5123] Tue, 15 August 2006 09:49 Go to previous messageGo to next message
dev is currently offline  dev
Messages: 1693
Registered: September 2005
Location: Moscow
Senior Member

через veth и бриджи


http://static.openvz.org/userbars/openvz-developer.png
Re: Работа с VLAN [message #5146 is a reply to message #5145] Tue, 15 August 2006 09:54 Go to previous messageGo to next message
Samoylov_Mihail is currently offline  Samoylov_Mihail
Messages: 7
Registered: August 2006
Junior Member
Да, спасибо, получилось.

Вкратце:
В ноде выполняем
modprobe vzethdev
echo “vzethdev” >>/etc/modules
vzctl set VEID|NAME --veth_add vethVEID.VLANID,MAC1,VE_DEV,MAC2 --save
После старта виртуальной машины выполняем:
function host_network_setup()
{
##HOSTNAME_VE
#инициализация виртуального интерфейса
ifconfig vethVEID.VLANID 0
#изменение его параметров
echo 1 > /proc/sys/net/ipv4/conf/vethVEID.VLANID/forwarding
echo 1 > /proc/sys/net/ipv4/conf/vethVEID.VLANID/proxy_arp
#добавление VLAN-интерфейса на IF, инициализация его
vconfig add IF VLANID
ifconfig eth0.VLANID 0
#создание моста, добавление в него виртуальных интерфейсов и VLAN-интерфейса
brctl addbr vzbrVLANID
brctl addif vzbrVLANID vethVEID.VLANID
brctl addif vzbrVLANID eth0.VLANID
#инициализация моста
ifconfig vzbrVLANID 0
echo 1 > /proc/sys/net/ipv4/conf/vzbrVLANID/forwarding
echo 1 > /proc/sys/net/ipv4/conf/vzbrVLANID/proxy_arp
#Добавление роута на IP-адрес VE через мост
ip r add IP dev vzbrVLANID
}

В VE
touch /etc/init.d/ip
chmod +x /etc/init.d/ip
update-rc.d ip defaults

/etc/init.d/ip:
#!/bin/sh

/sbin/ifconfig VE_DEV 0
/sbin/ip addr add IP/MASK dev VE_DEV
/sbin/ip ro del default
/sbin/ip route add default dev VE_DEV
Re: Работа с VLAN [message #29561 is a reply to message #5146] Thu, 17 April 2008 05:25 Go to previous messageGo to next message
darkstar is currently offline  darkstar
Messages: 38
Registered: November 2007
Location: /Ukraine/Kiev
Member
У меня нет возможности попробывать, но разве есть толк применения proxy_arp в bridge'ах как показал Samoylov_Mihail ???

Igor Nemilostivy
Re: Работа с VLAN [message #29573 is a reply to message #29561] Thu, 17 April 2008 11:20 Go to previous messageGo to next message
darkstar is currently offline  darkstar
Messages: 38
Registered: November 2007
Location: /Ukraine/Kiev
Member
Даже больше! Мне кажется так вообще нельзя делать. Потому что ядро начнет говорить что мас его бриджа пуп земли. Proxy_arp потеряет координацию и будет сообщать в eth0.VLANID и в vethVEID.VLANID свой mac на любой arp-запрос и отправлять всему бриджу, а не противоположному интрефейсу. Получится чтото типа широковещательно конфликта IP-адресов.

Igor Nemilostivy
Re: Работа с VLAN [message #29578 is a reply to message #5123] Thu, 17 April 2008 12:13 Go to previous messageGo to next message
sa10 is currently offline  sa10
Messages: 103
Registered: May 2007
Location: Minsk
Senior Member
Хотя у меня все и работает я задумался...
Имеющиеся в документации рекомендации относительно proxy_arp как то не вяжутся с моей реальностью...
Располагаю структурой интерфейсов похожую на это
VE0
eth0     eth1
   \     /
    bond0---vlanXXX---br1--veth1005.0--eth0(10.X.X.22) VE1005
   /     \                  
vlan5    vlan10 (без адреса)
           \    
          br0(bridge)
             \ 
           ve102.0 (veth)
               \
VE102         eth0(172.16.5.78)


При наличии на сервере несколько десятков veth
Выполнить нечто подобное
echo 1 > /proc/sys/net/ipv4/conf/veth101.0/proxy_arp

я не могу.
Каталог /proc/sys/net/ipv4/conf/
содержит только
all brserv default eth0 eth1 lo venet0


Вопрос: - для каких интерфейсов мне следует включить proxy_arp?


На вский случай напомню для чего нужен proxy_arp:
Quote:

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

Другими словами - это позволяет получать прозрачные соединения, но не грузить сети трафиком для них не предназначенным.
http://www.linux.by/howto/mini/Proxy-ARP-Subnet.html
http://www.mgul.ac.ru/~t-alex/Linux/Traffic-Control-HOWTO/ch 2.htm





--------------------

[Updated on: Thu, 17 April 2008 12:17]

Report message to a moderator

Re: Работа с VLAN [message #29579 is a reply to message #29578] Thu, 17 April 2008 12:52 Go to previous messageGo to next message
darkstar is currently offline  darkstar
Messages: 38
Registered: November 2007
Location: /Ukraine/Kiev
Member
Весьма интересно, потому что Samoylov_Mihail скорее всего использовал вот эту доку http://wiki.openvz.org/Virtual_Ethernet_device.
А там он делал сброс и поднятия конца VE - ifconfig veth101.0 0 .

Вы sa10, видимо такого не сделали.
И оно у Вас так завелось? Smile


Igor Nemilostivy

[Updated on: Thu, 17 April 2008 12:53]

Report message to a moderator

Re: Работа с VLAN [message #29582 is a reply to message #29579] Thu, 17 April 2008 14:11 Go to previous messageGo to next message
sa10 is currently offline  sa10
Messages: 103
Registered: May 2007
Location: Minsk
Senior Member
Quote:

И оно у Вас так завелось?

А чего бы ему не завестись?
Работает под нагрузкой уже месяцев 8-9 Cool
Обслуживает несколько организаций.
В качестве несущей системы используется gentoo.

Quote:

ifconfig veth101.0 0

Действительно эта команда обеспечивает появление veth101.0 в в /proc/sys/net/ipv4/conf/
Однако стандартный скрипт /usr/sbin/vznetcfg при старте VE поднимает veth командой
ip link set "$dev" up

Зачем адрес ему назначать?
Адрес 0 или 0.0.0.0 является последним маршрутом, если использование других маршрутов не привело к успеху.
Зачем он в сети где все определено однозначно и успех хаотичных блужданий никому не нужен?
veth как труба с двумя концами работает, по крайней мере в моей конфигурации, или я ошибаюсь?
Для veth уж точно никакой proxy_arp не нужен.
А вот с бриджами относительно ненужности proxy_arp я не уверен.






--------------------

[Updated on: Thu, 17 April 2008 14:12]

Report message to a moderator

Re: Работа с VLAN [message #29610 is a reply to message #5123] Fri, 18 April 2008 06:16 Go to previous messageGo to next message
sa10 is currently offline  sa10
Messages: 103
Registered: May 2007
Location: Minsk
Senior Member
Samoylov_Mihail wrote on Mon, 14 August 2006 08:41

как сделать шаринг одного VLAN-интерфейса между несколькими VE не понимаю.


vlan втыкается в bridge, а с другой стороны в бридж выткается неограниченное количество veth c сразных VE. Чтобы это делалось автоматически пришлось модифицировать /usr/sbin/vznetcfg
У меня это выглядит примерно так:
VE0
eth0     eth1
   \     /
    bond0---vlanXXX---br1--veth1005.0--eth0(10.X.X.22) VE1005
   /     \                  
vlan5    vlan10 (без адреса)
           \    
          br0(bridge без адреса)--veth2001.0-eth0 (VE2001)
             \       \-veth2002.0-eth0 (VE2002)
           veth102.0
               \
              eth0(VE102)


--------------------

[Updated on: Fri, 18 April 2008 06:17]

Report message to a moderator

Re: Работа с VLAN [message #29611 is a reply to message #29582] Fri, 18 April 2008 06:52 Go to previous messageGo to next message
darkstar is currently offline  darkstar
Messages: 38
Registered: November 2007
Location: /Ukraine/Kiev
Member
Тогда я так понимаю Вы также не делали
Quote:

#Добавление роута на IP-адрес VE через мост
ip r add IP dev vzbrVLANID

и
Quote:

[ve-101]# /sbin/ip addr add 192.168.0.101 dev eth0
[ve-101]# /sbin/ip route add default dev eth0

сделали с маской/броадкастом и нужным шлюзом, верно?
Очень интересно точно осознать как применять OpenVZ c bridge'ами, так как в wiki тут такой вопрос неоговаривалсо.

Потом,
Quote:

Для veth уж точно никакой proxy_arp не нужен.

Вот тут я с Вами не согласен! Если не применять bridge, и если этот тазик не является gate'ом для всех, то как можно обойтись без proxy_arp ???


Igor Nemilostivy
Re: Работа с VLAN [message #29612 is a reply to message #29611] Fri, 18 April 2008 07:09 Go to previous messageGo to next message
darkstar is currently offline  darkstar
Messages: 38
Registered: November 2007
Location: /Ukraine/Kiev
Member
Млин... чтото совсем запуталсо... мои утверждение выше, где я несогласен с sa10 немного завели меня в незнание чегото - а как же все тогда работает в стандартной самой маленькой конфигурации с применением venet0? Как тазики-клиенты, узнают о VE, которое находится за маршрутизатором уровня L3 (venet0) HN-тазика, если он не является для клиентов gate'ом?

Igor Nemilostivy

[Updated on: Fri, 18 April 2008 07:12]

Report message to a moderator

Re: Работа с VLAN [message #29613 is a reply to message #5123] Fri, 18 April 2008 07:44 Go to previous message
sa10 is currently offline  sa10
Messages: 103
Registered: May 2007
Location: Minsk
Senior Member
бридж просто является хабом в который включается все что угодно, езернет пакеты (не ip) пакеты дублируются на все подключенные дивайсы. Мост не нужно указывать как маршрут и адрес ему не нужен.
proxy_arp, как я понял, может позволить быть когда надо мостом, когда надо маршрутизатором в зависимости от наличия в arp запросах искомых адресов, он позволяет не транслировать все пакеты во все концы. venet я не использую вообще. VE у меня не видят по сети HN (VE0), c VE0 не доступны по сети VE


--------------------

Previous Topic: Soft and hard limit.
Next Topic: Kernel 2.6.24 и ovz004.1
Goto Forum:
  


Current Time: Fri Mar 29 15:58:37 GMT 2024

Total time taken to generate the page: 0.01879 seconds