OpenVZ Forum


Home » International » Russian » Не идет трафик через мост
Не идет трафик через мост [message #33732] Tue, 04 November 2008 20:01 Go to next message
ivan_v is currently offline  ivan_v
Messages: 3
Registered: November 2008
Junior Member
Всем привет.

Есть задача: создать изолированное виртуальное окружение из n-ного кол-ва VE. Т.е. объединить контейнеры в VLAN без контакта с реальной сетью.

Есть и проблема: не идет трафик между контейнерами. Sad

Система:
HW - Alt Linux 2.6.18-ovz-smp-alt14
VE - Debian 4.0.1

vzctl version 3.0.23

Что настроено:
1) 2 контейнера с veth
[root@alt-03 /]# cat /etc/vz/conf/200[12].conf | grep NETIF
NETIF=" ifname=eth0,mac=52:54:00:01:52:F0,host_ifname=veth2001.0,hos t_mac=52:54:00:01:52:F0 "
NETIF=" ifname=eth0,mac=52:54:00:DE:CE:98,host_ifname=veth2002.0,hos t_mac=52:54:00:DE:CE:98 "

2) адресация внутри контейнеров:
[root@alt-03 ~]# cat /vz/private/200[12]/etc/network/interfaces | grep -v "#"
auto eth0 venet0 lo
iface eth0 inet static
address 192.168.100.10
netmask 255.255.255.0
broadcast 192.168.100.255
iface venet0 inet static
address 127.0.0.1
netmask 255.255.255.255
broadcast 0.0.0.0
iface lo inet loopback

auto eth0 venet0 lo
iface eth0 inet static
address 192.168.100.11
netmask 255.255.255.0
broadcast 192.168.100.255
iface venet0 inet static
address 127.0.0.1
netmask 255.255.255.255
broadcast 0.0.0.0
iface lo inet loopback

3) есть вирт. мост:
bridge name bridge id STP enabled Interfaces
vmbr0 8000.000000000000 yes

4) после старта контейнеров система рапортует, что
[root@alt-03 ~]# vzctl start 2001
Starting container ...
Container is mounted
Setting CPU units: 1000
Setting CPUs: 1
Configure meminfo: 65536
Configure veth devices: veth2001.0
Adding interface veth2001.0 to bridge vmbr0 on CT0 for CT2001
Container start in progress...

[root@alt-03 ~]# vzctl start 2002
Starting container ...
Container is mounted
Setting CPU units: 1000
Setting CPUs: 1
Configure meminfo: 65536
Configure veth devices: veth2002.0
Adding interface veth2002.0 to bridge vmbr0 on CT0 for CT2002
Container start in progress...

при этом у моста появляются два подлкюченных к нему интерфейса:

bridge name bridge id STP enabled interfaces
vmbr0 8000.5254000152f0 yes veth2001.0
veth2002.0

Но почему-то ifconfig без параметров не показывает ни veth2001.0, ни veth2002.0, ни vmbr0.

При этом при попытке послать пинг с одной VE на другую никакой активности на интерфейсах не наблюдается.

Даю ifconfig veth2001.0 0 ; ifconfig veth2002.0 0 ; ifconfig vmbr0 0.

После этого ifconfig нормально все отображает и видно, что пакеты поступают на интерфейсы.

Например, при посылке пяти icmp пакетов с VE 2001 имеем:
2001:/# ifconfig
eth0 Link encap:Ethernet HWaddr 52:54:00:01:52:F0
inet addr:192.168.100.10 Bcast:192.168.100.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:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:168 (168.0 b)

На втором контейнере видно, что они поступили и были отправлены:
2002:/# ifconfig
eth0 Link encap:Ethernet HWaddr 52:54:00:DE:CE:98
inet addr:192.168.100.11 Bcast:192.168.100.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:168 (168.0 b) TX bytes:168 (168.0 b)

В обратную сторону, т.е. со второй на первую, то же самое.

Так почему же контейнеры ничего не получают на свои запросы?
Re: Не идет трафик через мост [message #33737 is a reply to message #33732] Thu, 06 November 2008 07:55 Go to previous messageGo to next message
maratrus is currently offline  maratrus
Messages: 1495
Registered: August 2007
Location: Moscow
Senior Member
Здравствуйте,

Quote:


Даю ifconfig veth2001.0 0 ; ifconfig veth2002.0 0 ; ifconfig vmbr0 0.


ifconfig vmbr0 достаточно

Еще необходимо:
echo 1 > /proc/sys/net/ipv4/conf/vmbr0/forwarding
echo 1 > /proc/sys/net/ipv4/conf/vmbr0/proxy_arp


Quote:


После этого ifconfig нормально все отображает и видно, что пакеты поступают на интерфейсы.
...
На втором контейнере видно, что они поступили и были отправлены:



Не очень понятно, а в чем проблема? Пинг не проходит? Используйте, пожалуйста, tcpdump для выяснения поведения пакетов.
Re: Не идет трафик через мост [message #33755 is a reply to message #33737] Sat, 08 November 2008 13:28 Go to previous messageGo to next message
ivan_v is currently offline  ivan_v
Messages: 3
Registered: November 2008
Junior Member
Спасибо за советы.

Quote:


ifconfig vmbr0 достаточно



- если не поднять хостовые пары интерфейсов, то трафик из контейнера в принципе не идет. я экспериментировал и так, и эдак ...

Quote:

Еще необходимо:
echo 1 > /proc/sys/net/ipv4/conf/vmbr0/forwarding
echo 1 > /proc/sys/net/ipv4/conf/vmbr0/proxy_arp




- с первой строкой согласен, и форфардинг для моста включен. а вот proxy_arp мне не нужен, ибо все контейнеры в одном сетевом сегменте.

Quote:


Не очень понятно, а в чем проблема? Пинг не проходит?



- проблемы была (*) в том, что контейнер, инициирующий отправку пакетов, не получал никакого отклика на них. это мог быть как и icmp пакет, так и tcp/udp

Quote:


Используйте, пожалуйста, tcpdump для выяснения поведения пакетов.



- tcpdump работает уже после интерфейса. если на интерфейс ничего не падает, то что же дампить?

* сейчас проблема решилась. Была взята другая сборка ядра и в качестве гост-системы использовалась Убунта. Пакеты пошли Cool
Re: Не идет трафик через мост [message #33793 is a reply to message #33755] Mon, 10 November 2008 11:34 Go to previous messageGo to next message
maratrus is currently offline  maratrus
Messages: 1495
Registered: August 2007
Location: Moscow
Senior Member
Здравствуйте,

Quote:


- tcpdump работает уже после интерфейса. если на интерфейс ничего не падает, то что же дампить?


я имел в виду запуск tcpdump:
1. внутри одной VE
2. на HN, на соответсвующем конце veth (или на bridge)
3. внутри другой VE

Quote:


сейчас проблема решилась. Была взята другая сборка ядра и в качестве гост-системы использовалась Убунта. Пакеты пошли


То есть было сделано то же самое, когда конфигурация не работала? Не понятно было в чем была проблема?
Re: Не идет трафик через мост [message #33807 is a reply to message #33793] Tue, 11 November 2008 19:17 Go to previous message
ivan_v is currently offline  ivan_v
Messages: 3
Registered: November 2008
Junior Member
После нескольких часов ковыряний проблема была локализована. Виновником оказался LibVIRT, который я использую в своем проекте и о котором не упомянул - сорри, мой косяк ... Confused

Quote:


То есть было сделано то же самое, когда конфигурация не работала? Не понятно было в чем была проблема?
- обратите внимание на эти две строки:

NETIF=" ifname=eth0,mac=52:54:00:01:52:F0,host_ifname=veth2001.0,hos t_mac=52:54:00:01:52:F0 "
NETIF=" ifname=eth0,mac=52:54:00:DE:CE:98,host_ifname=veth2002.0,hos t_mac=52:54:00:DE:CE:98 "

это veth интрефейсы и их парные окончания на хост ноде. значения mac и host_mac одинаковы. В рез-те мост в таблицу коммутации помещал вместо двух маков на интерфейс один. Создателям либвирта я уже отписал, но и Вам спасибо за помощь!
Previous Topic: openvz и madwifi
Next Topic: Сетевая проблема
Goto Forum:
  


Current Time: Sat Apr 27 22:03:24 GMT 2024

Total time taken to generate the page: 0.03358 seconds