ALT Linux sysadmins discussion
 help / color / mirror / Atom feed
* [Sysadmins] перенаправление маркированых пакетов
@ 2008-04-07  6:21 Serge
  2008-04-09  4:50 ` Gosha
  0 siblings, 1 reply; 5+ messages in thread
From: Serge @ 2008-04-07  6:21 UTC (permalink / raw)
  To: ALT Linux sysadmin discuss

Здравствуйте!

использую Server 4.0 + branch
c помощью iproute2 + маркированием пакетов, перенаправляю нужные пакеты на 
другой интерфейс роутера, смотрящего в инет.
Проблемма:
/etc/net/ifaces/default/fw/iptables/mangle

cat PREROUTING
-i eth1 tcp from 192.168.1.2 to ! $LOCALNET dports 
20,21,22,25,110,113,119,143,3389 -j MARK
-i eth1 udp from 192.168.1.2 to ! $LOCALNET dports 
20,21,22,25,110,113,119,143,3389 -j MARK

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 дальше проверка не 
производилась. Так как в зависимости от того в какой последовательности 
записаны правила по разному перенаправляются пакеты


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Sysadmins] перенаправление маркированых пакетов
  2008-04-07  6:21 [Sysadmins] перенаправление маркированых пакетов Serge
@ 2008-04-09  4:50 ` Gosha
  2008-04-09  7:25   ` Serge
  0 siblings, 1 reply; 5+ messages in thread
From: Gosha @ 2008-04-09  4:50 UTC (permalink / raw)
  To: ALT Linux sysadmin discuss

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.

--
Gosha



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Sysadmins] перенаправление маркированых пакетов
  2008-04-09  4:50 ` Gosha
@ 2008-04-09  7:25   ` Serge
  2008-04-09 17:01     ` Gosha
  0 siblings, 1 reply; 5+ messages in thread
From: Serge @ 2008-04-09  7:25 UTC (permalink / raw)
  To: ALT Linux sysadmin discuss

В сообщении от 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. Что бы дальше не проверялись 
правила, если уже произошло совпадение?

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Sysadmins] перенаправление маркированых пакетов
  2008-04-09  7:25   ` Serge
@ 2008-04-09 17:01     ` Gosha
  2008-04-10  4:52       ` Serge
  0 siblings, 1 reply; 5+ messages in thread
From: Gosha @ 2008-04-09 17:01 UTC (permalink / raw)
  To: ALT Linux sysadmin discuss

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



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Sysadmins] перенаправление маркированых пакетов
  2008-04-09 17:01     ` Gosha
@ 2008-04-10  4:52       ` Serge
  0 siblings, 0 replies; 5+ messages in thread
From: Serge @ 2008-04-10  4:52 UTC (permalink / raw)
  To: ALT Linux sysadmin discuss

> Кстати, у Вас прописано: 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!
правда, cделал таким образом:

cat MARK
if from 192.168.1.2 to 172.26.15.0/24 mark 5 
if from 192.168.1.2  to 172.26.15.0/24 return

if from 192.168.1.2  to ! 192.168.1.0/24 mark 2 
if from 192.168.1.2  to ! 192.168.1.0/24 return
return
последний return лишний, но оставил на всяк случай


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2008-04-10  4:52 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-04-07  6:21 [Sysadmins] перенаправление маркированых пакетов Serge
2008-04-09  4:50 ` Gosha
2008-04-09  7:25   ` Serge
2008-04-09 17:01     ` Gosha
2008-04-10  4:52       ` Serge

ALT Linux sysadmins discussion

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sysadmins/0 sysadmins/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sysadmins sysadmins/ http://lore.altlinux.org/sysadmins \
		sysadmins@lists.altlinux.org sysadmins@lists.altlinux.ru sysadmins@lists.altlinux.com
	public-inbox-index sysadmins

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sysadmins


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git