Linux Advanced Routing & Traffic Control HOWTO (Hubert, Graf) - страница 64

># ip6tables –A PREROUTING –i eth0 –t mangle –p tcp –j MARK –mark 1

Но тем не менее, это крайне слабое утешение, поскольку пакет пройдет мимо RPDB.

12.5.3. Использование селектора u32 для пакетов IPv6.

Для передачи по сетям IPv4, трафик IPv6 обычно инкапсулируется в SIT–туннель. За дополнительной информацией по созданию такого рода туннелей, обращайтесь к разделу Тоннелирование IPv6. Это позволяет выполнять фильтрацию IPv4-пакетов, которые, в качестве полезной нагрузки, несут пакеты IPv6.

Следующий фильтр отберет все пакеты IPv6, инкапсулированные в IPv4:

># tc filter add dev $DEV parent 10:0 protocol ip prio 10 u32 \

> match ip protocol 41 0xff flowid 42:42

Продолжим в том же духе. Предположим, что пакеты IPv6 передаются по сети IPv4, и не имеют набора опций. Тогда, для обнаружения пакетов ICMPv6 можно использовать следующий фильтр. 0x3a (58) — Next-Header для ICMPv6.

># tc filter add dev $DEV parent 10:0 protocol ip prio 10 u32 \

> match ip protocol 41 0xff \

> match u8 0x05 0x0f at 0 \

> match u8 0x3a 0xff at 26 \

> flowid 42:42

Фильтрация по адресу получателя потребует от нас дополнительных усилий. Например, следующий фильтр отбирает пакеты с адресом получателя 3ffe:202c:ffff:32:230:4fff:fe08:358d:

># tc filter add dev $DEV parent 10:0 protocol ip prio 10 u32 \

> match ip protocol 41 0xff \

> match u8 0x05 0x0f at 0 \

> match u8 0x3f 0xff at 44 \

> match u8 0xfe 0xff at 45 \

> match u8 0x20 0xff at 46 \

> match u8 0x2c 0xff at 47 \

> match u8 0xff 0xff at 48 \

> match u8 0xff 0xff at 49 \

> match u8 0x00 0xff at 50 \

> match u8 0x32 0xff at 51 \

> match u8 0x02 0xff at 52 \

> match u8 0x30 0xff at 53 \

> match u8 0x4f 0xff at 54 \

> match u8 0xff 0xff at 55 \

> match u8 0xfe 0xff at 56 \

> match u8 0x08 0xff at 57 \

> match u8 0x35 0xff at 58 \

> match u8 0x8d 0xff at 59 \

> flowid 10:13

Эту же методику можно использовать для отбора по адресу подсети, например 2001:

># tc filter add dev $DEV parent 10:0 protocol ip prio 10 u32 \

> match ip protocol 41 0xff \

> match u8 0x05 0x0f at 0 \

> match u8 0x20 0xff at 28 \

> match u8 0x01 0xff at 29 \

> flowid 10:13

Глава 13. Параметры настройки сети в ядре.

В ядре имеется масса параметров, которые могут быть изменены под различные нужды. Хотя, заданные по-умолчанию параметры удовлетворяют потребности в 99% случаев, но не зря же мы назвали это руководство Advanced HOWTO!

Очень интересные настройки вы найдете в /proc/sys/net , загляните туда. Конечно же, изначально не все тонкости будут описаны здесь, но мы работаем над этим.

Между прочим, значительная часть настроек описана в файле