LINUX.ORG.RU
ФорумAdmin

iproute2 & MARK


0

0

Люди спасайте!!! Уже третий день гемороюсь!!! Почему это не работает:

echo "201 LO" >> /etc/iproute2/rt_tables
iptables -t mangle -A OUTPUT -s 127.0.0.1 -j MARK --set-mark 2001
ip rule add fwmark 2001 table 201
ip route add default via gw_address table LO
ip route flush cache

из этого компа же запускаю ping www.ru, и ничего невыходит.Причем degfault getawey только в таблице 201.(D main или default его нет).
не работает также если вторую строку заменить на:
iptables -t mangle -A OUTPUT -j MARK --set-mark 2001

а вот так работает без проблем:
ip rule add dev lo table LO
ip route add default via gw_address table LO
ip route flush cache

Пожалуйста не бросайте....


ч ДЕКУФЧЙФЕМШОПУФЙ, ЛПД ТПХФЙОЗБ ЧЩРПМОСЕФУС _РЕТЕД_ ЧЩЪПЧПН

NF_IP_LOCAL_OUT, Ч ЛПФПТПН ПВТБВБФЩЧБЕФУС OUTPUT ФБВМЙГЩ mangle.

пВ ЬФПН, ЛУФБФЙ, ОБРЙУБОП Ч 'Linux Netfilter Hacking HOWTO'.

рП ЧУЕК ЧЕТПСФОПУФЙ - РПЬФПНХ. мЙВП ЙУРПМШЪПЧБФШ nat, МЙВП ДЕМБФШ

ОПЧХА ФБВМЙГХ mangle :)

--

Slava.

anonymous
()
Ответ на: комментарий от anonymous

Sorry. New Browser :)

In fact, the routing code called before the NF_IP_LOCAL_OUT hook,

which executing the OUTPUT of mangle (Linux Netfilter Hacking HOWTO)

Use nat, or write the new mangle table.

--

Slava.

anonymous
()

Я чего-то не понимаю, использовать -t nat не могу так как там не поддерживается -j MARK --set-mark Х, написать самому mangle? В каком смысле? на сях & asm ? А зачам тогда в доках писать вооще про существование mangele....? Я видел примеры, там пишет что все работает.... Ядро собрано у меня как надо(2.4.4)..... Эта возможность была еще у ipchains..... Может письмо написать разработчику iptables & iproute2 и спросить чо за ......? А теперь чего мене делать? Я хочу роутить на основании MAC-адрессов eth. (-m mac --mac-source)... Пожалуйста!!!, только не предлагайте купить SWITCH Помогитееееее....

stanv
() автор топика

А с чего ты взял, что соединение пойдет со 127.0.0.1?
оно пойдет с того интерфейса, который обращен к gw_address (назовем его iface_ip.
попробуй сделать
iptables -t mangle -A OUTPUT -s iface_ip -j MARK --set-mark 2001

И потом пустить ping с параметром -I
только пинг не всегда поддерживает этот параметр.
бери ping из пакета iproute2

MagMike
()
Ответ на: комментарий от anonymous

Не знаю про iptables, но ipchains принимает в dec-нотации значение для маркировки пакета, а ip оперирует с ними в hex-нотацией...

anonymous
()

Спасибо! Сча попробуем...

stanv
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.