* [mdk-re] routing question
@ 2001-07-19 13:51 Maxim Savrilov
2001-07-19 14:36 ` Vyt
0 siblings, 1 reply; 6+ messages in thread
From: Maxim Savrilov @ 2001-07-19 13:51 UTC (permalink / raw)
To: mandrake-russian
Привет всем.
Вопрос такой возник.
Ситуация: есть 3 сетки, одна из которых внутренняя (с реальными
ip), а другая Интернет ;)(провайдер, вернее) и третья.
Обозначим их Инет- net0, Внутрення - net1, третья - net2
у net1 есть машина-шлюз(у которой есть 3 интерфейса: eth1 смотрит
в net1, eth0 выходит на провайдера и eth2, смотрит в одну из
подсетей net2). Так вот, за трафик net0->net1 берут деньги
(странно, правда?), за net2->net1 денег не берут.
На шлюзе поднят маскарадинг from net1 to net2 (так как денег не
берут только за трафик net2->Шлюз, а надо чтоб все машины могли
ходить в бесплатную сеть)
и прописаны static_routes from net1 to net2 via eth2 (то-есть в
бесплатную сеть ходить принудительно через бесплатный интерфейс)
Проблема собственно: сервер имеет ip в каждой из указанных сетей
и когда из net2 пытаешься достучаться до него по ip из net0 или
net1, то ничего не приходит обратно, так как он получает пакеты
на один интерфейс, а отвечает через другой, как ему и прописано в
static routes. Петля возникает, софтина из net2 посылает пакеты
на один ip, а ответы ей приходят с другово, а тот ip, что по ее
мнению должен ответить, молчит.
tcpdump показывает, например, что icmp: echo request пакеты
приходят на eth0, например, и тут же показывает что с eth2 уходят
icmp echo reply
И вопрос собственно, как можно на шлюзе добиться того, чтобы на
пакеты, которые пришли из net2 на eth0 ответы уходили тоже через
eth0, несмотря на static routes?
--
"...Unix, MS-DOS, and Windows NT (also known as the Good, the Bad, and the Ugly)." (By Matt Welsh)
Novocybersk, отделение системного администрирования
Новосибирск, проспект К. Маркса-20, корпус 1, палата 310.
тел. (383-2) 46-13-84 (31-19)
--
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [mdk-re] routing question
2001-07-19 13:51 [mdk-re] routing question Maxim Savrilov
@ 2001-07-19 14:36 ` Vyt
2001-07-19 15:36 ` Maxim Savrilov
0 siblings, 1 reply; 6+ messages in thread
From: Vyt @ 2001-07-19 14:36 UTC (permalink / raw)
To: mandrake-russian
On Thu, 19 Jul 2001 17:12:20 +0700
Maxim Savrilov <Maxim.Savrilov@novocybersk.ru> wrote:
> Привет всем.
> Вопрос такой возник.
> Ситуация: есть 3 сетки, одна из которых внутренняя (с реальными
> ip), а другая Интернет ;)(провайдер, вернее) и третья.
> Обозначим их Инет- net0, Внутрення - net1, третья - net2
> у net1 есть машина-шлюз(у которой есть 3 интерфейса: eth1 смотрит
> в net1, eth0 выходит на провайдера и eth2, смотрит в одну из
> подсетей net2). Так вот, за трафик net0->net1 берут деньги
> (странно, правда?), за net2->net1 денег не берут.
> На шлюзе поднят маскарадинг from net1 to net2 (так как денег не
> берут только за трафик net2->Шлюз, а надо чтоб все машины могли
> ходить в бесплатную сеть)
> и прописаны static_routes from net1 to net2 via eth2 (то-есть в
> бесплатную сеть ходить принудительно через бесплатный интерфейс)
Ни фига не понятное описание.
То, что за провайдер->внутр.сеть берут деньги, понятно, остальное
- нет.
net2 тоже Инет? Зачем маскарадинг net1->net2 ? За net1->net2 тоже
деньги берут? Как можно в бесплатную сеть ходить через платный
интерфейс? У них пересекается адресное пространство?
Кстати, однозначность терминологии очень упрощает понимание.
> Проблема собственно: сервер имеет ip в каждой из указанных сетей
> и когда из net2 пытаешься достучаться до него по ip из net0 или
> net1, то ничего не приходит обратно, так как он получает пакеты
> на один интерфейс, а отвечает через другой, как ему и прописано в
> static routes. Петля возникает, софтина из net2 посылает пакеты
> на один ip, а ответы ей приходят с другово, а тот ip, что по ее
> мнению должен ответить, молчит.
> tcpdump показывает, например, что icmp: echo request пакеты
> приходят на eth0, например, и тут же показывает что с eth2 уходят
> icmp echo reply
Так они все равно должны уходить с адресом отправителя = ip, на
который приходит echo request, хоть и через eth2, все правильно.
> И вопрос собственно, как можно на шлюзе добиться того, чтобы на
> пакеты, которые пришли из net2 на eth0 ответы уходили тоже через
> eth0, несмотря на static routes?
Можно поставить source routing с помощью iproute2.
Но это мало что даст, интерфейс определяется по ip-назначения,
не знаю, можно ли связать пакет-ответ с пакетом-запросом.
Странная задача, не понял смысла.
<skipped>
--
Regards, Vyt
mailto:vyt@vzljot.ru
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [mdk-re] routing question
2001-07-19 14:36 ` Vyt
@ 2001-07-19 15:36 ` Maxim Savrilov
2001-07-19 17:26 ` Vyt
0 siblings, 1 reply; 6+ messages in thread
From: Maxim Savrilov @ 2001-07-19 15:36 UTC (permalink / raw)
To: mandrake-russian
Vyt wrote:
> On Thu, 19 Jul 2001 17:12:20 +0700
>
> Maxim Savrilov <Maxim.Savrilov@novocybersk.ru> wrote:
>
<поскипано мной>
> Можно поставить source routing с помощью iproute2.
>
> Но это мало что даст, интерфейс определяется по ip-назначения,
>
> не знаю, можно ли связать пакет-ответ с пакетом-запросом.
>
> Странная задача, не понял смысла.
>
Пытался ответьть, да лучше заново напишу. Заодно задачу упрощу.
представьте 2 сети. Пусть сеть1-платная сеть провайдера, сеть2
-бюджетная сеть.
Адресные пространства не пересекаются(сеть1 * сеть2=0).
Моя машина имеет 2 интерфейса и 2 ip адреса в каких-то подсетях для
каждой из этих сетей(ну как обычно).
За трафик с одной из сетей(1) берут деньги, с другой(2) не берут
(собственно второй интерфейс появился потому, что удалось доказать
провайдеру, что глупо платить за пользование локальной сетью(сеть2)
как за пользование Интернет, а плата идет за трафик в точке
подключения к шлюзу1. Подразумевается, что машина через интерфейс2
ходит только в сеть2, да так оно и есть, потому что связь через шлюз2
отвратительная).
Для сети 2 прописаны static routes(так как интерфейс2 смотрит всего
лишь на одну из подсетей сети2, а дефолтом все идет на сеть1).
Так вот, если кто-то(хост2) из сети 2 пингует машину по ip1, то ответы
ему приходят через интерфейс2 (что совершенно правильно) и от ip2. И
тут хост2 затыкается ибо пингует он один ip, а ответ приходит с
другого (на самом деле это одна машина, но он-то этого не знает).
Пакеты с неверного ip хост2 отбрасывает, а с верного он никогда не
дождется.
Так можно ли на этой самой многострадальной машине с двумя ip адресами
сделать так, чтобы пакеты, пришедшие на интерфейс1, но из сети 2,
обарабатывались как-то, не знаю как, чтобы разрубить этот узел?
и схема
|-------------------------------------------------|
| интернет |
|-------------------------------------------------|
| |
| |
|--------| |------------|
| $шлюз1$|-не прямой,но линк- | шлюз2 |
|--------| |------------|
| |
|$$$$$$$$$$$$$$$$$$$$$$| |----------------------------|
|сеть1 | |сеть2 |
|$$$$$$$$$$$$$$$$$$$$$$| |----------------------------|
\ /
\ip1 ip2/
|---------------|
| Машина |
|---------------|
P.S. это не реяльная задача, так что не надо пинать, что это совсем не то, о чем я спрашивал в первый раз.
Спасибо.
--
3rd Law of Computing:
Anything that can go wr
fortune: Segmentation violation -- Core dumped
Novocybersk, отделение системного администрирования
Новосибирск, проспект К. Маркса-20, корпус 1, палата 310.
тел. (383-2) 46-13-84 (31-19)
--
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [mdk-re] routing question
2001-07-19 15:36 ` Maxim Savrilov
@ 2001-07-19 17:26 ` Vyt
2001-07-20 16:49 ` Maxim Savrilov
0 siblings, 1 reply; 6+ messages in thread
From: Vyt @ 2001-07-19 17:26 UTC (permalink / raw)
To: mandrake-russian
On Thu, 19 Jul 2001 18:57:15 +0700
Maxim Savrilov <Maxim.Savrilov@novocybersk.ru> wrote:
> Vyt wrote:
>
> > On Thu, 19 Jul 2001 17:12:20 +0700
> >
> > Maxim Savrilov <Maxim.Savrilov@novocybersk.ru> wrote:
> >
> <поскипано мной>
>
> > Можно поставить source routing с помощью iproute2.
> >
> > Но это мало что даст, интерфейс определяется по ip-назначения,
> >
> > не знаю, можно ли связать пакет-ответ с пакетом-запросом.
> >
> > Странная задача, не понял смысла.
> >
> Пытался ответьть, да лучше заново напишу. Заодно задачу упрощу.
> представьте 2 сети. Пусть сеть1-платная сеть провайдера, сеть2
> -бюджетная сеть.
> Адресные пространства не пересекаются(сеть1 * сеть2=0).
> Моя машина имеет 2 интерфейса и 2 ip адреса в каких-то подсетях для
> каждой из этих сетей(ну как обычно).
>
> За трафик с одной из сетей(1) берут деньги, с другой(2) не берут
> (собственно второй интерфейс появился потому, что удалось доказать
> провайдеру, что глупо платить за пользование локальной сетью(сеть2)
> как за пользование Интернет, а плата идет за трафик в точке
> подключения к шлюзу1. Подразумевается, что машина через интерфейс2
> ходит только в сеть2, да так оно и есть, потому что связь через шлюз2
> отвратительная).
>
> Для сети 2 прописаны static routes(так как интерфейс2 смотрит всего
> лишь на одну из подсетей сети2, а дефолтом все идет на сеть1).
С несколькими подсетями сети2 (это, собственно, сети и есть) задача
усложняется, попробуйте пока пинговать с компа из одного сегмента с
машиной.
> Так вот, если кто-то(хост2) из сети 2 пингует машину по ip1, то ответы
> ему приходят через интерфейс2 (что совершенно правильно) и от ip2. И
Должны от ip1. Если я правильно понял, такая конфигурация у меня есть
и работает. Есть сервер, у него 2 сетевухи,
в net0 смотрит eth0 - ip0,
в net1 смотрит eth1 - ip1,
при пинге из сети net0 по ip1 пинг доходит до ip1 и возвращается отправителю
через eth0, как от ip1.
Возможно, Вам нужно включить (разрешить) forward пакетов.
echo 1 > /proc/sys/net/ipv4/ip_forward
> тут хост2 затыкается ибо пингует он один ip, а ответ приходит с
> другого (на самом деле это одна машина, но он-то этого не знает).
Не важно, сколько это машин, тут значим ip.
> Пакеты с неверного ip хост2 отбрасывает, а с верного он никогда не
> дождется.
> Так можно ли на этой самой многострадальной машине с двумя ip адресами
> сделать так, чтобы пакеты, пришедшие на интерфейс1, но из сети 2,
> обарабатывались как-то, не знаю как, чтобы разрубить этот узел?
Тупой вопрос: firewall точно не мешает?
<skipped>
--
Regards, Vyt
mailto:vyt@vzljot.ru
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [mdk-re] routing question
2001-07-19 17:26 ` Vyt
@ 2001-07-20 16:49 ` Maxim Savrilov
2001-07-20 17:34 ` Vyt
0 siblings, 1 reply; 6+ messages in thread
From: Maxim Savrilov @ 2001-07-20 16:49 UTC (permalink / raw)
To: mandrake-russian
Vyt wrote:
> On Thu, 19 Jul 2001 18:57:15 +0700
> Maxim Savrilov <Maxim.Savrilov@novocybersk.ru> wrote:
>
> >
> > Для сети 2 прописаны static routes(так как интерфейс2 смотрит всего
> > лишь на одну из подсетей сети2, а дефолтом все идет на сеть1).
>
> С несколькими подсетями сети2 (это, собственно, сети и есть) задача
> усложняется, попробуйте пока пинговать с компа из одного сегмента с
> машиной.
пингую со шлюза2 на ip1
>
> > Так вот, если кто-то(хост2) из сети 2 пингует машину по ip1, то ответы
> > ему приходят через интерфейс2 (что совершенно правильно) и от ip2. И
>
> Должны от ip1. Если я правильно понял, такая конфигурация у меня есть
> и работает. Есть сервер, у него 2 сетевухи,
>
> в net0 смотрит eth0 - ip0,
> в net1 смотрит eth1 - ip1,
>
> при пинге из сети net0 по ip1 пинг доходит до ip1 и возвращается отправителю
> через eth0, как от ip1.
Если убить static_routes во всю бесплатную сеть, то у меня тоже.
Но тогда халява ограничится только тем небольшим сегментом, которому
принадлежит шлюз2, ведь так?
> Возможно, Вам нужно включить (разрешить) forward пакетов.
> echo 1 > /proc/sys/net/ipv4/ip_forward
cat /proc/sys/net/ipv4/ip_forward
1
> > тут хост2 затыкается ибо пингует он один ip, а ответ приходит с
> > другого (на самом деле это одна машина, но он-то этого не знает).
>
> Не важно, сколько это машин, тут значим ip.
>
> > Пакеты с неверного ip хост2 отбрасывает, а с верного он никогда не
> > дождется.
> > Так можно ли на этой самой многострадальной машине с двумя ip адресами
> > сделать так, чтобы пакеты, пришедшие на интерфейс1, но из сети 2,
> > обарабатывались как-то, не знаю как, чтобы разрубить этот узел?
>
> Тупой вопрос: firewall точно не мешает?
нет там firewall'ов. убираю маршруты на сеть2 - все работает, ставлю их - от
нас все идет, потому что клиенты изначально идут через второй интерфейс, а из
сети2 к нам по ip1 к нам достучаться не могут.
Их админы меня пинают, делая говорят source routing, а сами толком объяснить не
могут, можно говорят и все. А я в толк не возьму, что тут вообще можно сделать,
увязать исходящие пакеты со входящими и правда нельзя, а что еще?
--
Если вы помогли другу в беде, он наверняка вспомнит о вас, когда снова окажется в беде.
Novocybersk, отделение системного администрирования
Новосибирск, проспект К. Маркса-20, корпус 1, палата 310.
тел. (383-2) 46-13-84 (31-19)
--
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [mdk-re] routing question
2001-07-20 16:49 ` Maxim Savrilov
@ 2001-07-20 17:34 ` Vyt
0 siblings, 0 replies; 6+ messages in thread
From: Vyt @ 2001-07-20 17:34 UTC (permalink / raw)
To: mandrake-russian
On Fri, 20 Jul 2001 20:10:17 +0700
Maxim Savrilov <Maxim.Savrilov@novocybersk.ru> wrote:
<skipped>
> > Тупой вопрос: firewall точно не мешает?
>
> нет там firewall'ов. убираю маршруты на сеть2 - все работает,
> ставлю их - от
> нас все идет, потому что клиенты изначально идут через второй
> интерфейс, а из
> сети2 к нам по ip1 к нам достучаться не могут.
> Их админы меня пинают, делая говорят source routing, а сами
> толком объяснить не
> могут, можно говорят и все. А я в толк не возьму, что тут
> вообще можно сделать,
> увязать исходящие пакеты со входящими и правда нельзя, а что
> еще?
Повторюсь, описание всей задачи со всеми необходимыми данными и
однозначной терминологией поможет в нее врубиться. Пока я не
врубился, хотя это и не показатель :)
source routing можно сделать с iproute2.
--
Regards, Vyt
mailto:vyt@vzljot.ru
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2001-07-20 17:34 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-07-19 13:51 [mdk-re] routing question Maxim Savrilov
2001-07-19 14:36 ` Vyt
2001-07-19 15:36 ` Maxim Savrilov
2001-07-19 17:26 ` Vyt
2001-07-20 16:49 ` Maxim Savrilov
2001-07-20 17:34 ` Vyt
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