OpenVZ Forum


Home » International » Russian » Проброс sflow в виртуальную машину
Проброс sflow в виртуальную машину [message #21974] Thu, 18 October 2007 10:27 Go to next message
Dr_Agpn is currently offline  Dr_Agpn
Messages: 10
Registered: October 2007
Location: Russia
Junior Member
Здравствуйте,
задача пробросить sflow поток в виртуальную машину. Sflow соответственно это udp. Пробовал как при помощи Iptables так и при помощи xinetd. Пакеты udp на интерфейсе venet0 как реальной так и виртуальной машины не появляются.

Openvz стоит на RHEL 5.0:
Linux kami 2.6.18-8.1.14.el5.028stab045.1 #1 SMP Mon Oct 1 13:22:25 MSD 2007 i686 i686 i386 GNU/Linux
Re: Проброс sflow в виртуальную машину [message #22036 is a reply to message #21974] Fri, 19 October 2007 07:23 Go to previous messageGo to next message
vaverin is currently offline  vaverin
Messages: 708
Registered: September 2005
Senior Member
Обычно в таких случаях разобраться помогает tcpdump.
Смотрите, доходят ли пакеты до ноды (на внешнем интерфейсе), потом смотрим прокидывает ли нода пакеты в venet, потом заходим внутрь VE и смотрим, доходят ли пакеты до нее. Потом смотрим уходят ли reply обратно -- есть ли они внутри VE, видны ли они на ноде в venet, уходят ли они в конце концов на внешний интерфейс.

Я правильно Вас понимаю, что пакеты снаружи до Вашей ноды доходят, но в venet не идут? В таком случае имеет смысл проверить роутинг и убедиться что iptables ничего не дропает.

И пожалуйста поясните пожалуйста Вашу фразу
"Пробовал как при помощи Iptables так и при помощи xinetd"

С уважением,
Василий Аверин
Re: Проброс sflow в виртуальную машину [message #22064 is a reply to message #22036] Fri, 19 October 2007 10:23 Go to previous messageGo to next message
Dr_Agpn is currently offline  Dr_Agpn
Messages: 10
Registered: October 2007
Location: Russia
Junior Member
Конечно я проверял при помощи tcpdump. Пакеты приходят на внешний интерфейс машины. Далее я в начале прописал

iptables -t nat -A PREROUTING -i eth1 -p udp --dport 6343 -j DNAT --to-destination 172.16.0.2

172.16.0.2 - ip виртуальной машины
соответственно больше в iptables не загружено.

Затем я попробовал сделать проброс при помощи xinetd:

{
type = UNLISTED
port = 6343
socket_type = stream
protocol = udp
wait = no
user = root
disable = no
redirect = 172.16.0.2 6343
}

но в логах ругань по поводу что udp не поддерживается хотя в манах по xinetd.conf примеры использования udp есть.

Ни в том ни в другом случае пакеты на интерфейсе venet0 реально машины пакеты не появляются. Соответственно на интерфейсе venet0 виртуально машины пакетов тоже нет.
Re: Проброс sflow в виртуальную машину [message #22067 is a reply to message #22064] Fri, 19 October 2007 11:17 Go to previous messageGo to next message
vaverin is currently offline  vaverin
Messages: 708
Registered: September 2005
Senior Member
А что, udp у вас адресуется не внутрь VE? А куда, на ноду? или это broadcast?

Если это не broadcast -- то по iptables счетчикам посмотреть, работает ли это правило. по идее дальше эти пакеты должны отфорвардиться внутрь VE. C host node пакеты, полагаю, проходят? а полиси на forward часом не drop? И еще стоит проверить разрешен ли у вас форвардинг на ноде (net.ipv4.ip_forward)

Если это broadcast, то тут нужен ретранслятор, типа xinetd. Попробуйте его потрейсить и посмотреть, отправляет ли он пакеты или нет.
Re: Проброс sflow в виртуальную машину [message #22073 is a reply to message #22067] Fri, 19 October 2007 12:01 Go to previous messageGo to next message
Dr_Agpn is currently offline  Dr_Agpn
Messages: 10
Registered: October 2007
Location: Russia
Junior Member
Udp пакеты приходят на реальную машину. Их надо передать внутрь на VE. Это не бродкаст.
Счетчик правила в iptables стоит на нуле.

xinetd я запустить не смог - он мне пишет что udp не поддерживется при том конфиге что я показал выше.

[root@kami ~]# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1
[root@kami ~]#

[root@kami ~]# iptables -L | grep ACCEPT
Chain INPUT (policy ACCEPT)
Chain FORWARD (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)
[root@kami ~]#
Re: Проброс sflow в виртуальную машину [message #22074 is a reply to message #22073] Fri, 19 October 2007 12:40 Go to previous messageGo to next message
vaverin is currently offline  vaverin
Messages: 708
Registered: September 2005
Senior Member
1) iptables вообще видит этот траффик? Счетчики на других правилах растут?

2) нет ли ошибки с именем интерфейса? пакеты в самом деле идут с eth1?

3) проверьте, может у вас выключены conntracks в VE0?
modinfo ip_conntrack
parm: ip_conntrack_disable_ve0:int

4) проходит ли вообще какой-нить трафик снаружи до VE? ping например снаружи до VE доходит?
Re: Проброс sflow в виртуальную машину [message #22077 is a reply to message #22074] Fri, 19 October 2007 13:30 Go to previous messageGo to next message
Dr_Agpn is currently offline  Dr_Agpn
Messages: 10
Registered: October 2007
Location: Russia
Junior Member
1)хрм - и правда не видит

[root@kami ~]# iptables -L -nv
Chain INPUT (policy ACCEPT 376K packets, 77M bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:6343

хотя траффик есть

tcpdump -i eth1 port 6343
......
17:16:17.344018 IP 82.xxx.yyy.25.ddi-udp-1 > 172.16.0.2.sflow: UDP, length 384
17:16:18.348960 IP 82.xxx.yyy.25.ddi-udp-1 > 82.179.184.98.sflow: UDP, length 560
17:16:18.348974 IP 82.xxx.yyy.25.ddi-udp-1 > 172.16.0.2.sflow: UDP, length 560

394 packets captured
788 packets received by filter

2)Да - в моей системе запущен только eth1. И sflow приходит именно на этот интерфейс с одного из наших маршрутизаторов HP.

3)[root@kami ~]# modinfo ip_conntrack
......
parm: ip_conntrack_disable_ve0:int

можете объяснить что это значит?

4) пакеты из-вне идут в VE. В реальной операционке стоит проброс порта до 172.16.0.2:443 (в VE поднят Apache+mod_ssl). Раньше он был средствами iptables сделан - сейчас - при помощи xinetd.
Re: Проброс sflow в виртуальную машину [message #22100 is a reply to message #22077] Sat, 20 October 2007 07:14 Go to previous messageGo to next message
vaverin is currently offline  vaverin
Messages: 708
Registered: September 2005
Senior Member
Dr_Agpn wrote on Fri, 19 October 2007 17:30

3)[root@kami ~]# modinfo ip_conntrack
......
parm: ip_conntrack_disable_ve0:int

можете объяснить что это значит?

Модуль ip_conntrack на наших ядрах имеет параметр, запрещающий использование conntracks в VE0:
http://wiki.openvz.org/Using_NAT_for_VE_with_private_IPs#IP_ conntracks
По этой причине NAT в VE0 тоже работать не будет.
Dr_Agpn wrote on Fri, 19 October 2007 17:30

4) пакеты из-вне идут в VE. В реальной операционке стоит проброс порта до 172.16.0.2:443 (в VE поднят Apache+mod_ssl). Раньше он был средствами iptables сделан - сейчас - при помощи xinetd.

IMHO это значит, что у вас траффик адресуется VE0, где xinetd создает новое соединение.
А меня интересует, проходят ли у Вас хоть какие-нить пакеты снаружи до VE. Я хочу понять, есть ли на вашей ноде роутинг для VE. Вы можете попинговать VE IP снаружи? Или у Вас VE IP приватный и недоступен снаружи?

С уважением,
Василий Аверин
Re: Проброс sflow в виртуальную машину [message #22108 is a reply to message #22100] Sat, 20 October 2007 11:27 Go to previous messageGo to next message
Dr_Agpn is currently offline  Dr_Agpn
Messages: 10
Registered: October 2007
Location: Russia
Junior Member
Роутинга нет. У VE приватный ip и он не доступен снаружи.
Re: Проброс sflow в виртуальную машину [message #22117 is a reply to message #22108] Sun, 21 October 2007 09:21 Go to previous messageGo to next message
vaverin is currently offline  vaverin
Messages: 708
Registered: September 2005
Senior Member
Значит надо с iptables разбираться.
проверьте, прописана ли у Вас в /etc/modprobe.conf опция, отключающая conntracks внутри VE, что-нибудь типа

options ip_conntrack ip_conntrack_disable_ve0=1
Re: Проброс sflow в виртуальную машину [message #22186 is a reply to message #22117] Tue, 23 October 2007 05:59 Go to previous messageGo to next message
Dr_Agpn is currently offline  Dr_Agpn
Messages: 10
Registered: October 2007
Location: Russia
Junior Member
[root@kami ~]# grep disable /etc/modprobe.conf
[root@kami ~]#

там таких строк нет. =(
Re: Проброс sflow в виртуальную машину [message #22198 is a reply to message #22186] Tue, 23 October 2007 09:21 Go to previous messageGo to next message
gblond is currently offline  gblond
Messages: 64
Registered: May 2007
Member
Dr_Agpn wrote on Tue, 23 October 2007 09:59

[root@kami ~]# grep disable /etc/modprobe.conf



Еще нужно поискать в каталоге /etc/modprobe.d/

Лучше сделайте
cat /sys/module/ip_conntrack/parameters/ip_conntrack_disable_ve0

Что показывает iptables -L -t nat?
Re: Проброс sflow в виртуальную машину [message #22270 is a reply to message #22198] Wed, 24 October 2007 11:44 Go to previous messageGo to next message
Dr_Agpn is currently offline  Dr_Agpn
Messages: 10
Registered: October 2007
Location: Russia
Junior Member
[root@kami ~]# cat /sys/module/ip_conntrack/parameters/ip_conntrack_disable_ve0
0
[root@kami ~]#

последняя попытка была такой:
[root@kami ~]# iptables -L -t nat -nv
Chain PREROUTING (policy ACCEPT 212K packets, 33M bytes)
pkts bytes target prot opt in out source destination
3 1208 DNAT udp -- eth1 * 0.0.0.0/0 0.0.0.0/0 udp dpt:6343 to:172.16.0.2

Chain POSTROUTING (policy ACCEPT 14083 packets, 935K bytes)
pkts bytes target prot opt in out source destination
8 528 MASQUERADE all -- * eth1 172.16.0.0/24 0.0.0.0/0

Chain OUTPUT (policy ACCEPT 13085 packets, 885K bytes)
pkts bytes target prot opt in out source destination
[root@kami ~]#
Re: Проброс sflow в виртуальную машину [message #22276 is a reply to message #22270] Wed, 24 October 2007 12:28 Go to previous message
gblond is currently offline  gblond
Messages: 64
Registered: May 2007
Member
Как вы видите 3 пакета было проброшено.

Попробуйте добавить следующую команду для печати доп.информации:

iptables -t nat -A POSTROUTING -o venet0 -p udp --dport 6343 -j LOG

Previous Topic: Проблема с монтированием NFS шар с VE сервера
Next Topic: new kernel -> grsec patches.
Goto Forum:
  


Current Time: Sun May 12 11:36:26 GMT 2024

Total time taken to generate the page: 0.01521 seconds