Jump to content

Recommended Posts

Posted

Обновил ядро с 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)

 

 

Posted
Неужели никто не использует 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

Posted
Неужели никто не использует 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

Posted

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

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

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

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

Posted
А какие патчи для ядра и 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

Posted (edited)
А какие патчи для ядра и 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

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

Edited by SSTS
Posted
А какие патчи для ядра и 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

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

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

Posted

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

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

Posted
Попробовал, все тоже самое. Может я где-то туплю :(
Покажи как поднимаешь сам 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

 

 

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

 

Posted (edited)

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

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

 

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

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

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

Posted (edited)
У меня всё работает:

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

Edited by SSTS
  • 4 weeks later...
Posted
Попробовал, все тоже самое. Может я где-то туплю :(
Покажи как поднимаешь сам 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

 

Posted
У тебя в примере все работает в 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

Posted
У тебя в примере все работает в 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 есть?

 

Posted
А 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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.