URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 57337
[ Назад ]

Исходное сообщение
"Как организовать роутинг icmp пакетов через другой линк ?"

Отправлено les , 14-Июн-05 00:01 
Задача: Нужно чтобы icmp echo-request пакеты уходили по второму линку

iptables -t mangle -A PREROUITNG -s 192.168.1.0/24 -p icmp --icmp-type echo-request -j MARK --set-mark 1

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -p icmp --icmp-type echo-request -o eth1 -j SNAT 130.130.130.130

echo 10 mytable >> /etc/iproute2/rt_tables

ip rule add fwmark 1 table mytable
ip route add default via 130.130.130.131 table mytable  (второй канал)

В итоге iptraf показывает на внешнем интерфейсе что icmp-request послан  и icmp-reply принят, но машине которая за натом этот echo-reply не приходит. Тобишь ядро не делает connection tracking. Почему ?


Содержание

Сообщения в этом обсуждении
"Как организовать роутинг icmp пакетов через другой линк ?"
Отправлено jonatan , 14-Июн-05 09:20 
1. Правильней будет так:

ip rule add fwmark 1 table mytable
ip route add 130.130.130.128/29 dev eth1 src 130.130.130.130 table mytable
ip route add default via 130.130.130.131 table mytable

2. В FORWARD ответы разрешены?


"Как организовать роутинг icmp пакетов через другой линк ?"
Отправлено Dig , 14-Июн-05 11:17 
>1. Правильней будет так:
>
>ip rule add fwmark 1 table mytable
>ip route add 130.130.130.128/29 dev eth1 src 130.130.130.130 table mytable
>ip route add default via 130.130.130.131 table mytable
>
>2. В FORWARD ответы разрешены?

В форвард все ACCEPT, тоже самое делаю с tcp траффиком работает, прочитал мануал по иптаблес: ядро расматривает echo-request как состояние NEW а echo-reply как ESTABLISHED

ip route add 130.130.130.128/29 dev eth1 src 130.130.130.130 table mytable  - что делает это правило ?


"Как организовать роутинг icmp пакетов через другой линк ?"
Отправлено jonatan , 14-Июн-05 11:38 
http://gazette.linux.ru.net/rus/articles/lartc/x348.html

Достаточно было написать хотя бы так:
ip route add default via 130.130.130.131 dev eth1 table mytable
а так ОС не будет знать, где находится 130.130.130.131 и будет искать маршрут еще в таблице main.


"Как организовать роутинг icmp пакетов через другой линк ?"
Отправлено Dig , 14-Июн-05 12:30 
Вообщем вопрос остается открытым, как завернуть icmp echo-request на другой канал

"Как организовать роутинг icmp пакетов через другой линк ?"
Отправлено jonatan , 14-Июн-05 12:37 
Странно, почему tcp работает, а icmp - нет. Если в FORWARD все разрешено, то connection tracking не должен влиять. Покажите все-таки правила.
iptables -nvL
iptables -nvL -t nat
iptables -nvL -t mangle