The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Проблема с iptables -t mangle -A PREROUTING -d и ip rule fwm..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Проблема с iptables -t mangle -A PREROUTING -d и ip rule fwm..."  
Сообщение от ix (ok) on 16-Окт-07, 23:23 
В общем проблемы 2е, заранее приношу свои извенения, если я не нашёл ответа, которы уже есть, пару дней уже гуглю и здесь тоже искал, но видимо из-за неумения искать возможно не нашёл ответа :D
В общем стояла задача маркировать несколько видов траффика на основе анализа destionation address и потом, в зависимости от источника разбивать весь траффик на два канала - один для локального провайдера, другой для всего остального. При этом для всего одного источника(компьютера) нужно делать SNAT а для другого(он же сервер) нужно просто маршрутизировать. В ходе решения так сказать, столкнулся с парой проблем.

Первая: iptables попросту не понимает маски в -d , если указать хостнейм или просто айпишник, то всё впорядке, ежели айпишник с маской, то правило не реагирует. Пример правила:
iptables -t mangle -A PREROUTING -s 192.168.20.2 -d 81.91.32.0/19 -j MARK --set-mark 1002
А вот если сделать так:
iptables -t mangle -A PREROUTING -s 192.168.20.2 -j MARK --set-mark 1002
или так:
iptables -t mangle -A PREROUTING -s 192.168.20.2 -d 81.91.36.61 -j MARK --set-mark 1002
то всё пашет без запинки.

Вторая: ну пометить то я пометил, хотя не всё что надо как видно из первой проблемы, но метки установлены, проверял через -j LOG, проверял и через сами таблицы с помощью такого
iptables -t nat -A POSTROUTING -m mark -mark 1002 -j SNAT --to-source 85.235.47.26
Ну и в итоге снат работает, то есть метка айпитеблесами всё же устанавливается, хотя и без возможности использовать маски.
Но вот делать так:
ip rule fwmark 1002 table 30
не получается, оно попросту не работает, хотя скажем так :
ip rule from 192.168.20.2 table 30
всё срабатывает на ура.

Поискал вот это в конфиге ядре, не нашёл:
IP: use netfilter MARK value as routing key (CONFIG_IP_ROUTE_FWMARK

Версия ядра: linux-2.6.20-gentoo-r7
Версия айпитаблиц: 1.3.8
Версия iproute2: 2.6.15.20060110

Вполне вероятно что сам делаю что-то такое, чего нельзя делать, хотя судя по Linux Advanced Routing & Traffic Control HOWTO делается именно так.
Поможите чем можете, пасибо)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Проблема с iptables -t mangle -A PREROUTING -d и ip rule fwm..."  
Сообщение от ix (ok) on 17-Окт-07, 18:18 
Такс, в общем обновил ядро, даже слез с джентовского, поставил ванилу 2.6.22.1
iproute2 тоже обновил до 2.6.22.20070710
Результат тот же самый, может всё таки дело в опциях ядра(что-то надо включить или наоборот выключить) или быть может я хочу того, что тот же айпитеблес не может.
Дестинейшин вообще должен работать в mangle PREROTING или нет ? Просто я видел примеры, там везде порты, а адрес назначения не указывается, вот и подумал, может я делаю то, чего айпитеблес не может. А вот насчёт не работающего fwmark, может просто опция в ядре сейчас изменилась и находится в другом месте? Судя по симптомам это походит на
IP: use netfilter MARK value as routing key (CONFIG_IP_ROUTE_FWMARK)
Однако в конфиге нет ничего подобного, да и в менуконфиг не нашёл ничего похожего рядом с адвансет роутинг и полис роутинг. Кто нить шарился в этом, хотя бы дагадку что ли). Просто вожусь, и постепенно захожу в тупик, а надо бы понять что не так то)
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Проблема с iptables -t mangle -A PREROUTING -d и ip rule fwm..."  
Сообщение от ix (ok) on 18-Окт-07, 17:11 
Хм, ну с проблемой номер раз разобрался, дестинейшин робит, просто у меня скрипт генерировал неверный дабор правил, в конце которых было фро алл и тоже ставило метку, ну и конечно менялась метка на ту, что оно ставило.
А вот по повобу fwmark то всё по прежнему(
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Проблема с iptables -t mangle -A PREROUTING -d и ip rule fwm..."  
Сообщение от Val email(??) on 27-Окт-07, 20:20 
Испытываю похожую проблему (ip игнорирует fwmark), но у меня она с пакетами, генерируемыми самим шлюзом. А в данном случае, похоже, проблема в том, что 1002 для iptables и для iproute2 - это разные 1002. Первый оперирует десятичными числами, а второй - шестнадцатеричными. Попробуйте заменить 1002 на 3EA в команде ip.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру