Hi!

Serge пишет:
В сообщении от Wednesday 09 April 2008 07:50:56 am Gosha написал(а):
Serge пишет:
cat MARK
if from 192.168.1.2/255.255.255.0  to 172.26.15.0/24 mark 5 (эти пакеты я
хочу пересылать через интерфейс, являющийся default gw)

if from 192.168.1.2/255.255.255.0  to ! 192.168.1.0/24 mark 2 (хочу
переслать пакеты не через default gw)
return

как сделать что бы после выполнения 1 го правила в MARK дальше проверка
не производилась. Так как в зависимости от того в какой
последовательности записаны правила по разному перенаправляются пакеты
А зачем Вы маркируете пакеты, которые пойдут через default gw?
Они и без маркировки пойдут куда следует. :-)
Маркируйте только те, которые пойдут другим путем и только для
них и делайте отдельную табличку маршрутизации c помощью iproute2.
разве правило if from 192.168.1.2/255.255.255.0 to ! 192.168.1.0/24 mark 2 (хочу
переслать пакеты не через default gw)
не будет абсолютно ВСЕ пакеты заворачивать на другой интерфейс, не являющийся default GW?

Можно ли как то дописать в правиле еще и return. Что бы дальше не проверялись правила, если уже произошло совпадение?

Кстати, у Вас прописано: 192.168.1.2/255.255.255.0 - это ошибка,
адрес хоста с маской сети класса С.

Предположим, что Вы имели в виду просто адрес хоста 192.168.1.2.

Насколько я понял, Вы хотите, чтобы пакеты в сеть 172.26.15.0/24
и в локальную сеть 192.168.1.0/24 шли бы дефолтным маршрутом, а во все остальные сети - не дефолтным маршрутом.
IMHO вот это обеспечит Ваши нужды:

iptables -t mangle -A PREROUTING -s 192.168.1.2 -d 192.168.1.0/24 \
-j RETURN

iptables -t mangle -A PREROUTING -s 192.168.1.2 -d ! 172.26.15.0/24 \
-j MARK --set-mark 2

--
Gosha

_______________________________________________
Sysadmins mailing list
[email protected]
https://lists.altlinux.org/mailman/listinfo/sysadmins

Ответить