ALT Linux Community general discussions
 help / color / mirror / Atom feed
* [Comm] iproute2 и локальные службы
@ 2005-03-30  7:55 Маркелов Александр
  2005-03-30  8:18 ` Dmitry Vodennikov
  0 siblings, 1 reply; 8+ messages in thread
From: Маркелов Александр @ 2005-03-30  7:55 UTC (permalink / raw)
  To: community

Доброго времени суток!
Хочу по примеру описанному тут 
http://lists.altlinux.ru/pipermail/community/2001-January/002487.html
разрулить свою сеть.
Задача следующая, есть 2 инета быстрый и медленный, и локальная сеть. 
Хочу все запросы на веб трафик пустить через быстрый инет, при этом 
предварительно пропустить через кэш, все остальное по медленному.
делаю следующие:

route add default gw ШЛЮЗ-МЕДЛЕННОГО-КАНАЛА dev cp0
echo "10	highspeed" >> /etc/iproute2/rt_tables
/sbin/ip route add default via ШЛЮЗ-БЫСТРОГО-КАНАЛА dev eth1 table highspeed
/sbin/ip rule add from БЫСТРАЯ-ПОДСЕТЬ/МАСКА preference 100 table highspeed
/sbin/ip route flush cache

Быстрая-подсеть это только ip адрес на интерфейсе eth1 быстрого канала.
Squid заставляю слушать на локальном адресе, а ходить в инет с адреса 
быстрого-канала, тем самым все запросы должны пойти согласно таблице 
highspeed через шлюз быстрого канала.
(Схему пока не опробовал, но выглядит вполне работоспособно)

Но вот вопрос какой, локальные службы на роутере, которым явным образом 
не сказанно с какого source ip ходить, они каким образом пойдут ? С 
какого ip и соответственно по какому каналу ?

PS: А куда правильно /sbin/ip команды засовывать, что бы они при старте 
системы срабатывали ? (вовремя?)


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

* Re: [Comm] iproute2 и локальные службы
  2005-03-30  7:55 [Comm] iproute2 и локальные службы Маркелов Александр
@ 2005-03-30  8:18 ` Dmitry Vodennikov
  2005-03-30  8:32   ` Маркелов Александр
  0 siblings, 1 reply; 8+ messages in thread
From: Dmitry Vodennikov @ 2005-03-30  8:18 UTC (permalink / raw)
  To: community

Маркелов Александр пишет:
> Доброго времени суток!
> Хочу по примеру описанному тут 
> http://lists.altlinux.ru/pipermail/community/2001-January/002487.html
> разрулить свою сеть.
> Задача следующая, есть 2 инета быстрый и медленный, и локальная сеть. 
> Хочу все запросы на веб трафик пустить через быстрый инет, при этом 
> предварительно пропустить через кэш, все остальное по медленному.
> делаю следующие:
> 
> route add default gw ШЛЮЗ-МЕДЛЕННОГО-КАНАЛА dev cp0
> echo "10    highspeed" >> /etc/iproute2/rt_tables
> /sbin/ip route add default via ШЛЮЗ-БЫСТРОГО-КАНАЛА dev eth1 table 
> highspeed
> /sbin/ip rule add from БЫСТРАЯ-ПОДСЕТЬ/МАСКА preference 100 table highspeed
> /sbin/ip route flush cache
> 
> Быстрая-подсеть это только ip адрес на интерфейсе eth1 быстрого канала.
> Squid заставляю слушать на локальном адресе, а ходить в инет с адреса 
> быстрого-канала, тем самым все запросы должны пойти согласно таблице 
> highspeed через шлюз быстрого канала.
> (Схему пока не опробовал, но выглядит вполне работоспособно)
> 
> Но вот вопрос какой, локальные службы на роутере, которым явным образом 
> не сказанно с какого source ip ходить, они каким образом пойдут ? С 
> какого ip и соответственно по какому каналу ?
Могу ошибаться, но вроде бы если сделать что-то типа такого:
/sbin/ip rule add iif lo table highspeed
то локальные службы будут ходить через highspeed



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

* Re: [Comm] iproute2 и локальные службы
  2005-03-30  8:18 ` Dmitry Vodennikov
@ 2005-03-30  8:32   ` Маркелов Александр
  2005-03-30 11:57     ` Grigory Fateyev
  0 siblings, 1 reply; 8+ messages in thread
From: Маркелов Александр @ 2005-03-30  8:32 UTC (permalink / raw)
  To: community

Dmitry Vodennikov пишет:
> Могу ошибаться, но вроде бы если сделать что-то типа такого:
> /sbin/ip rule add iif lo table highspeed
> то локальные службы будут ходить через highspeed
Меня такая мысль посещала, но почему то я не уверен, что локальные 
службы ходят с интерфейса lo, конечно я тоже могу ошибаться :)


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

* Re: [Comm] iproute2 и локальные службы
  2005-03-30  8:32   ` Маркелов Александр
@ 2005-03-30 11:57     ` Grigory Fateyev
  2005-03-31  3:35       ` [Comm] " max
  0 siblings, 1 reply; 8+ messages in thread
From: Grigory Fateyev @ 2005-03-30 11:57 UTC (permalink / raw)
  To: community

Hello, Маркелов!
30 Марта 2005г. в 12:32 You wrote:

> Dmitry Vodennikov пишет:
> > Могу ошибаться, но вроде бы если сделать что-то типа такого:
> > /sbin/ip rule add iif lo table highspeed
> > то локальные службы будут ходить через highspeed
> Меня такая мысль посещала, но почему то я не уверен, что локальные 
> службы ходят с интерфейса lo, конечно я тоже могу ошибаться :)

Ну очень приятная хауту :)

Linux Advanced Routing & Traffic Control HOWTO 
http://gazette.linux.ru.net/rus/articles/index-lartc.html

-- 
Всего наилучшего!
greg_[at]_anastasia_[dot]_ru Григорий.



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

* [Comm] Re: iproute2 и локальные службы
  2005-03-30 11:57     ` Grigory Fateyev
@ 2005-03-31  3:35       ` max
  2005-03-31  9:57         ` Маркелов Александр
  0 siblings, 1 reply; 8+ messages in thread
From: max @ 2005-03-31  3:35 UTC (permalink / raw)
  To: community

В сообщении от 30 Март 2005 17:57 Grigory Fateyev написал(a):
> Hello, Маркелов!
>
> 30 Марта 2005г. в 12:32 You wrote:
> > Dmitry Vodennikov пишет:
> > > Могу ошибаться, но вроде бы если сделать что-то типа такого:
> > > /sbin/ip rule add iif lo table highspeed
> > > то локальные службы будут ходить через highspeed
> >
> > Меня такая мысль посещала, но почему то я не уверен, что локальные
> > службы ходят с интерфейса lo, конечно я тоже могу ошибаться :)
>
> Ну очень приятная хауту :)
>
> Linux Advanced Routing & Traffic Control HOWTO
> http://gazette.linux.ru.net/rus/articles/index-lartc.html

Что там в руководстве ещё не посмотрел, но точно знаю что вот так будет 
работать:

1. правила iptables для метки пакетов которые нужно отправить через highspeed. 
В данном случае любые локальные запросы на 80 порт (что прокси и делает) 
iptables -t mangle -A OUTPUT -p tcp --dport 80 -j MARK --set-mark 2

2. правила ip для изменения маршрута для пакетов помеченных меткой "2".
/sbin/ip rule add fwmark 2 table highspeed
-- 
MaX

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

* Re: [Comm] Re: iproute2 и локальные службы
  2005-03-31  3:35       ` [Comm] " max
@ 2005-03-31  9:57         ` Маркелов Александр
  2005-03-31 11:10           ` max
  0 siblings, 1 reply; 8+ messages in thread
From: Маркелов Александр @ 2005-03-31  9:57 UTC (permalink / raw)
  To: community

max пишет:
> Что там в руководстве ещё не посмотрел, но точно знаю что вот так будет 
> работать:
> 
> 1. правила iptables для метки пакетов которые нужно отправить через highspeed. 
> В данном случае любые локальные запросы на 80 порт (что прокси и делает) 
> iptables -t mangle -A OUTPUT -p tcp --dport 80 -j MARK --set-mark 2
> 
> 2. правила ip для изменения маршрута для пакетов помеченных меткой "2".
> /sbin/ip rule add fwmark 2 table highspeed
Это мы все вкурили уже. Вопрос заключается в другом, как локальная 
служба выбирает с какого интерфейса ей идти во вне. В моем случаи, 
который описан выше, локальная служба, в принципе, может пойти по любому 
соединению, все зависит от того с какого интерфейса пойдет запрос.
Так вот и нужно понять(прочитать где это написано) как локальная служба 
выбирает с какого интерфейса ей стартовать, если ей это не указано явным 
образом.
Мне кажется, это зависит от таблицы маршрутизации. Но как это 
происходить если есть 2 default гейтвэя, вот в чем вопрос.

Так же остался открыт вопрос куда прописывать запуск /sbin/ip при старте 
системы ? Я пока прописал в rc.local, что, мне кажется, не совсем верно.

PS: Сейчас буду раскуривать HOWTO, может там найдется ответ на мой вопрос.


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

* [Comm] Re: iproute2 и локальные службы
  2005-03-31  9:57         ` Маркелов Александр
@ 2005-03-31 11:10           ` max
  2005-03-31 11:16             ` Маркелов Александр
  0 siblings, 1 reply; 8+ messages in thread
From: max @ 2005-03-31 11:10 UTC (permalink / raw)
  To: community

В сообщении от 31 Март 2005 15:57 Маркелов Александр написал(a):
> max пишет:
> > Что там в руководстве ещё не посмотрел, но точно знаю что вот так будет
> > работать:
> >
> > 1. правила iptables для метки пакетов которые нужно отправить через
> > highspeed. В данном случае любые локальные запросы на 80 порт (что прокси
> > и делает) iptables -t mangle -A OUTPUT -p tcp --dport 80 -j MARK
> > --set-mark 2
> >
> > 2. правила ip для изменения маршрута для пакетов помеченных меткой "2".
> > /sbin/ip rule add fwmark 2 table highspeed
>
> Это мы все вкурили уже. Вопрос заключается в другом, как локальная
> служба выбирает с какого интерфейса ей идти во вне. В моем случаи,
> который описан выше, локальная служба, в принципе, может пойти по любому
> соединению, все зависит от того с какого интерфейса пойдет запрос.
> Так вот и нужно понять(прочитать где это написано) как локальная служба
> выбирает с какого интерфейса ей стартовать, если ей это не указано явным
> образом.

Вижу что невкурили совсем.
Локальная служба пойдёт туда, куда ей скажут.
Этими 2 правилами мы ей и говорим куда идти.
(1 -м правилом метим службу, 2-м говорим куда идти)
Если правил нет пойдёт по дефолт шлюзу.

> Мне кажется, это зависит от таблицы маршрутизации. Но как это
> происходить если есть 2 default гейтвэя, вот в чем вопрос.
>
> Так же остался открыт вопрос куда прописывать запуск /sbin/ip при старте
> системы ? Я пока прописал в rc.local, что, мне кажется, не совсем верно.
>
> PS: Сейчас буду раскуривать HOWTO, может там найдется ответ на мой вопрос.


-- 
MaX

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

* Re: [Comm] Re: iproute2 и локальные службы
  2005-03-31 11:10           ` max
@ 2005-03-31 11:16             ` Маркелов Александр
  0 siblings, 0 replies; 8+ messages in thread
From: Маркелов Александр @ 2005-03-31 11:16 UTC (permalink / raw)
  To: community

max пишет:
  > Вижу что невкурили совсем.
> Локальная служба пойдёт туда, куда ей скажут.
> Этими 2 правилами мы ей и говорим куда идти.
> (1 -м правилом метим службу, 2-м говорим куда идти)
> Если правил нет пойдёт по дефолт шлюзу.
Обрисую еще раз ситуацию:
2 внешних интерфейса:
один МЕДЛЕННЫЙ через него идет маршрут default в таблице main
второй БЫСТРЫЙ через него идет маршрут default в таблице hightspeed

есть правило ip rule которое говорит, что все что идет с интерфейса 
БЫСТРЫЙ, идет по таблице маршрутов hightspeed.

Так вот вопрос не в том как заставить локальную службу ходить по тому 
или иному маршруту(это как раз мы вкурили, мне как раз и не надо что бы 
локальные службы шли по быстрому маршруту), а в том, как локальная 
служба  решит с какого интерфейса ей идти.
Интуитивно, да и на практике, я понял, что локальные службы по умолчанию 
идут по таблице main(или local). Но где бы прочитать, и удостоверится в 
этом.

По поводу где стартовать, вычитал в HOWTO идею, после поднятия 
интерфейса, в скриптах ipup.


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

end of thread, other threads:[~2005-03-31 11:16 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-03-30  7:55 [Comm] iproute2 и локальные службы Маркелов Александр
2005-03-30  8:18 ` Dmitry Vodennikov
2005-03-30  8:32   ` Маркелов Александр
2005-03-30 11:57     ` Grigory Fateyev
2005-03-31  3:35       ` [Comm] " max
2005-03-31  9:57         ` Маркелов Александр
2005-03-31 11:10           ` max
2005-03-31 11:16             ` Маркелов Александр

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/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 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

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


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