Перейти к содержимому
Калькуляторы

IMQ Linux На ядрах больше 2.6.30 У кого нибудь работает?

Обновил ядро с linux-2.6.24.4 до 2.6.30.8, перестал работать IMQ

Использовал для ядра linux-2.6.30.8-imq-test2.diff

Для iptables iptables-1.4.3.2-imq.patch

Естественно версии ядра и таблеса совпадают с патчами.

Все пропатчилось-собралось, делаю /usr/sbin/ip link set imq0 up, все ок

но после

iptables -t mangle -A POSTROUTING -o eth0.468 -d ! 91.ххх.ххх.0/22 -j IMQ --todev 0

пакеты перестают ходить через eth0.468, хотя ifconfig показывает что пакеты вроде как есть на TX|RX

 

eth0.468 Link encap:Ethernet HWaddr 00:1B:21:48:3E:70

inet addr:77.ххх.ххх.50 Bcast:77.ххх.ххх.51 Mask:255.255.255.252

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:245287 errors:0 dropped:0 overruns:0 frame:0

TX packets:221880 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:11503561 (10.9 MiB) TX bytes:11414872 (10.8 MiB)

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Неужели никто не использует IMQ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А зачем? Мучиться патчить ядро, если есть более правильная (?) реализация - ifb

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Неужели никто не использует IMQ?
С простыми, не-vlan интерфейсами всё замечательно работает:

 

>uname -rms
Linux 2.6.30.9-96.fc11.2.iva.i686.PAE i686

>lsmod | grep -i imq
imq                     4768  428
xt_IMQ                  1552  2

>iptables -t mangle -nvxL PREROUTING
Chain PREROUTING (policy ACCEPT 114811103366 packets, 108555888264746 bytes)
pkts        bytes 	   target     prot opt in     out     source               destination
34547502076 23500816073489 MARK       all  --  eth1   *       0.0.0.0/0            0.0.0.0/0           match-set ua dst /* UA Out */ MARK xset 0xc9/0xffffffff
34547502076 23500816073489 IMQ        all  --  *      *       0.0.0.0/0            0.0.0.0/0           mark match 0xc9 IMQ: todev 0
34547502076 23500816073489 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0           mark match 0xc9
23438007475 15606338680336 MARK       all  --  eth1   *       0.0.0.0/0            0.0.0.0/0           /* World Out */ MARK xset 0xca/0xffffffff
23438007475 15606338680336 IMQ        all  --  *      *       0.0.0.0/0            0.0.0.0/0           mark match 0xca IMQ: todev 0

>ifconfig imq0
imq0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
         UP RUNNING NOARP  MTU:16000  Metric:1
         RX packets:889360036 errors:0 dropped:0 overruns:0 frame:0
         TX packets:771415405 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:11000

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Неужели никто не использует IMQ?
С простыми, не-vlan интерфейсами всё замечательно работает:

 

А с vlan пробывали?

 

 

>uname -rms
Linux 2.6.30.9-96.fc11.2.iva.i686.PAE i686

>lsmod | grep -i imq
imq                     4768  428
xt_IMQ                  1552  2

>iptables -t mangle -nvxL PREROUTING
Chain PREROUTING (policy ACCEPT 114811103366 packets, 108555888264746 bytes)
pkts        bytes 	   target     prot opt in     out     source               destination
34547502076 23500816073489 MARK       all  --  eth1   *       0.0.0.0/0            0.0.0.0/0           match-set ua dst /* UA Out */ MARK xset 0xc9/0xffffffff
34547502076 23500816073489 IMQ        all  --  *      *       0.0.0.0/0            0.0.0.0/0           mark match 0xc9 IMQ: todev 0
34547502076 23500816073489 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0           mark match 0xc9
23438007475 15606338680336 MARK       all  --  eth1   *       0.0.0.0/0            0.0.0.0/0           /* World Out */ MARK xset 0xca/0xffffffff
23438007475 15606338680336 IMQ        all  --  *      *       0.0.0.0/0            0.0.0.0/0           mark match 0xca IMQ: todev 0

>ifconfig imq0
imq0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
         UP RUNNING NOARP  MTU:16000  Metric:1
         RX packets:889360036 errors:0 dropped:0 overruns:0 frame:0
         TX packets:771415405 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:11000

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А что за модуль такой xt_IMQ ?

У меня только

lsmod

 

Module Size Used by

imq 4448 0

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А что за модуль такой xt_IMQ ?

Это TARGET-модуль IPTables для IMQ-устройства. Например, как в вышеприведенном примере.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А что за модуль такой xt_IMQ ?
Это TARGET-модуль IPTables для IMQ-устройства. Например, как в вышеприведенном примере.

А какие патчи для ядра и iptables вы использовали? можно ссылки?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А какие патчи для ядра и iptables вы использовали? можно ссылки?
Патчи и spec-файлы для kernel (добавлены ACCOUNT, IMQ, IPSet; исправлены nf_nat, xt_connlimit, pkt_sched), iptables (добавлены ACCOUNT, IMQ, IPSet) и iproute (исправлен tc_core) из Fedora 11.

 

kernel.tar.gz iptables.tar.gz iproute.tar.gz

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А какие патчи для ядра и iptables вы использовали? можно ссылки?
Патчи и spec-файлы для kernel (добавлены ACCOUNT, IMQ, IPSet; исправлены nf_nat, xt_connlimit, pkt_sched), iptables (добавлены ACCOUNT, IMQ, IPSet) и iproute (исправлен tc_core) из Fedora 11.

 

kernel.tar.gz iptables.tar.gz iproute.tar.gz

Спасиба БОЛЬШОЕ, буду пробовать

Изменено пользователем SSTS

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А какие патчи для ядра и iptables вы использовали? можно ссылки?
Патчи и spec-файлы для kernel (добавлены ACCOUNT, IMQ, IPSet; исправлены nf_nat, xt_connlimit, pkt_sched), iptables (добавлены ACCOUNT, IMQ, IPSet) и iproute (исправлен tc_core) из Fedora 11.

 

kernel.tar.gz iptables.tar.gz iproute.tar.gz

Спасиба БОЛЬШОЕ, буду пробовать

Попробовал, все тоже самое. Может я где-то туплю :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Попробовал, все тоже самое. Может я где-то туплю :(

Покажи как поднимаешь сам IMQ-интерфейс и перенаправляешь в него трафик в IPTables.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Попробовал, все тоже самое. Может я где-то туплю :(
Покажи как поднимаешь сам IMQ-интерфейс и перенаправляешь в него трафик в IPTables.

/usr/sbin/ip link set imq0 up

 

ifconfig imq0

imq0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00

UP RUNNING NOARP MTU:16000 Metric:1

RX packets:27426 errors:0 dropped:0 overruns:0 frame:0

TX packets:20437 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:11000

RX bytes:2152967 (2.0 MiB) TX bytes:1700377 (1.6 MiB)

 

 

 

iptables -t mangle -A POSTROUTING -o eth0.469 ! -d 91.xxx.xxx.0/22 -j IMQ --todev 0

iptables -t mangle -A POSTROUTING -o eth0.470 ! -d 91.xxx.xxx.0/22 -j IMQ --todev 0

 

 

Правила отрабатывают. Но трафик через эти вланы перестает бегать. Хотя счетчики на правилах увеличиваются

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У меня всё работает:

kernel 2.6.30.5

iptables v1.4.5

 

-A POSTROUTING -o vlan0100 -j IMQ --todev 0

-A PREROUTING -i vlan0100 -j IMQ --todev 1

 

modprobe imq

ip link set imq0 up

ip link set imq1 up

 

может где то в tc у тебя заморочка.

А iptables пачил типа вот так?

patch -p1 < ./iptables-1.4.3.2-imq_xt.diff

chmod +x /usr/src/sys/iptables-1.4.5/extensions/.IMQ-testx

 

Изменено пользователем nickD

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А зачем? Мучиться патчить ядро, если есть более правильная (?) реализация - ifb

Вы сначала расскажите как подружить NAT с ifb.

По мне я бы вообще из ядра эту правильную реализацию выкинул, а неправильный imq втавил.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У меня всё работает:

kernel 2.6.30.5

iptables v1.4.5

 

-A POSTROUTING -o vlan0100 -j IMQ --todev 0

-A PREROUTING -i vlan0100 -j IMQ --todev 1

 

modprobe imq

ip link set imq0 up

ip link set imq1 up

 

может где то в tc у тебя заморочка.

 

tc я еще даже и не трогал еще

 

А iptables пачил типа вот так?

patch -p1 < ./iptables-1.4.3.2-imq_xt.diff

chmod +x /usr/src/sys/iptables-1.4.5/extensions/.IMQ-testx

patch -p1 < ./iptables-1.4.3.2-imq_xt.diff

patching file extensions/.IMQ-testx

patching file extensions/libxt_IMQ.c

patching file include/linux/netfilter/xt_IMQ.h

 

chmod +x extensions/.IMQ-testx

ls -al extensions/ | grep IMQ

-rwxr-xr-x 1 root root 113 2009-12-17 15:19 .IMQ-testx*

-rw-r--r-- 1 root root 2483 2009-12-17 15:19 libxt_IMQ.c

 

./configure

make

ls -al extensions/ | grep IMQ

-rwxr-xr-x 1 root root 113 2009-12-17 15:19 .IMQ-testx*

-rw-r--r-- 1 root root 183 2009-12-17 15:22 .libxt_IMQ.oo.d

-rw-r--r-- 1 root root 2483 2009-12-17 15:19 libxt_IMQ.c

-rw-r--r-- 1 root root 10104 2009-12-17 15:22 libxt_IMQ.oo

-rwxr-xr-x 1 root root 12259 2009-12-17 15:22 libxt_IMQ.so*

make install

iptables -V

iptables v1.4.5

iptables -t mangle -A POSTROUTING -o eth0.468 -s 0/0 -m set ! --set LOCAL_NETS dst -j IMQ --todev 0

 

iptables -L POSTROUTING -n -v -t mangle

Chain POSTROUTING (policy ACCEPT 1462M packets, 1153G bytes)

pkts bytes target prot opt in out source destination

178 8000 IMQ all -- * eth0.468 0.0.0.0/0 0.0.0.0/0 ! match-set LOCAL_NETS dst IMQ: todev 0

 

 

ifconfig imq0

 

imq0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00

UP RUNNING NOARP MTU:16000 Metric:1

RX packets:27449 errors:0 dropped:0 overruns:0 frame:0

TX packets:20460 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:11000

RX bytes:2154459 (2.0 MiB) TX bytes:1701869 (1.6 MiB)

 

ifconfig eth0.468

eth0.468 Link encap:Ethernet HWaddr 00:1B:21:48:3E:70

inet addr:77.xx.xxx.50 Bcast:77.xx.xxx.51 Mask:255.255.255.252

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:4567 errors:0 dropped:0 overruns:0 frame:0

TX packets:2787 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:218350 (213.2 KiB) TX bytes:144006 (140.6 KiB)

 

ping 77.xx.xxx.49

PING 77.xx.xxx.49 (77.88.206.49) 56(84) bytes of data.

^C

--- 77.xx.xxx.49 ping statistics ---

4 packets transmitted, 0 received, 100% packet loss, time 3000ms

^^^^^^^^^^^^^^^^^^^^^^ :(

 

В том-то и дело что это происходит еще до того как я начинаю строить правила tc

 

tc -s -d qdisc ls dev imq0

qdisc pfifo_fast 0: root bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1

Sent 1244 bytes 19 pkt (dropped 0, overlimits 0 requeues 0)

rate 0bit 0pps backlog 0b 0p requeues 0

Изменено пользователем SSTS

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Попробовал, все тоже самое. Может я где-то туплю :(
Покажи как поднимаешь сам IMQ-интерфейс и перенаправляешь в него трафик в IPTables.

У тебя в примере все работает в PREROUTING. У тебя есть NAT ?

 

А как у тебя собран IMQ

AA AB BA или ВВ

 

У меня

CONFIG_IMQ=y

# CONFIG_IMQ_BEHAVIOR_AA is not set

# CONFIG_IMQ_BEHAVIOR_AB is not set

CONFIG_IMQ_BEHAVIOR_BA=y

# CONFIG_IMQ_BEHAVIOR_BB is not set

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У тебя в примере все работает в PREROUTING. У тебя есть NAT ?

 

А как у тебя собран IMQ

>grep IMQ /boot/config-2.6.30.9-102.fc11.1.iva.i686.PAE
CONFIG_NETFILTER_XT_TARGET_IMQ=m
CONFIG_IMQ=m
# CONFIG_IMQ_BEHAVIOR_AA is not set
CONFIG_IMQ_BEHAVIOR_AB=y
# CONFIG_IMQ_BEHAVIOR_BA is not set
# CONFIG_IMQ_BEHAVIOR_BB is not set
CONFIG_IMQ_NUM_DEVS=2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У тебя в примере все работает в PREROUTING. У тебя есть NAT ?

 

А как у тебя собран IMQ

>grep IMQ /boot/config-2.6.30.9-102.fc11.1.iva.i686.PAE
CONFIG_NETFILTER_XT_TARGET_IMQ=m
CONFIG_IMQ=m
# CONFIG_IMQ_BEHAVIOR_AA is not set
CONFIG_IMQ_BEHAVIOR_AB=y
# CONFIG_IMQ_BEHAVIOR_BA is not set
# CONFIG_IMQ_BEHAVIOR_BB is not set
CONFIG_IMQ_NUM_DEVS=2

 

А NAT есть?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А NAT есть?
Есть:

 

*nat
:POSTROUTING ACCEPT [0:0]

[0:0] -A POSTROUTING -o eth0 -s 10.0.0.0/8 -j SNAT --to-source x.y.z.1-x.y.z.254 --persistent

COMMIT

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А NAT есть?
Есть:

 

*nat
:POSTROUTING ACCEPT [0:0]

[0:0] -A POSTROUTING -o eth0 -s 10.0.0.0/8 -j SNAT --to-source x.y.z.1-x.y.z.254 --persistent

COMMIT

eth0 внешний интерфейс?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.