ALT Linux Community general discussions
 help / color / mirror / Atom feed
From: Dmitry Lebkov <dima@sakhalin.ru>
To: community@altlinux.ru
Subject: Re: Re[4]: [Comm] static-routes нифига не прописываются на алиасы.
Date: Wed, 25 Aug 2004 13:37:08 +1100
Message-ID: <20040825133708.777cbcbd.dima@sakhalin.ru> (raw)
In-Reply-To: <171728118.20040825040641@penza.com.ru>

On Wed, 25 Aug 2004 04:06:41 +0400
rcc-of@penza.com.ru wrote:

> Здравствуйте, Dmitry.
> 
> Вы писали 24 августа 2004 г., 15:39:45:
> 
> >> >> Есть VLAN интерфейс eth0.5, есть на нем еще и алиас eth0.5:0
> >> >> 
> >> >> Есть в /etc/sysconfig/static-routes запись типа
> >> >> 
> >> >> eth0.5:0 net 192.168.10.1 gw 192.168.1.10
> >> > Написать вот так:
> >> 
> >> > eth0.5 net 192.168.10.1 gw 192.168.1.10
> >>  Ага, и исходящий адрес пакетов будет от интерфейса eth0.5
> >>  оно мне надо?
> 
> > Кто тебе сказал, что исходящий адрес будет таким? Адрес будет
> > выбран в зависимости от маршрута.
>   Мда.... торможу, адрес будет от интерфейса eth0.5 только если
>   указать dev eth0.5.

Не так. Если у тебя есть интерфейс с двумя IP-адресами (один на
самом интерфейсе, а второй на алиасе), то в таблице маршрутизации
у тебя будут два маршрута для connected-сетей. Допустим:
eth0 - 192.168.0.1/24
eth0:0 - 192.168.1.1/24

В таблице маршрутизации имеем:
Kernel IP routing table
Destination  Gateway  Genmask        Flags MSS Window irtt Iface
192.168.0.0  0.0.0.0  255.255.255.0  U     0   0      0    eth0
192.168.1.0  0.0.0.0  255.255.255.0  U     0   0      0    eth0

Если добавишь два маршрута:
route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.0.50 dev eth0
route add -net 10.0.1.0 netmask 255.255.255.0 gw 192.168.1.50 dev eth0

то пакеты, идущие от твоего хоста в сеть 10.0.0.0/24 будут иметь
src IP = 192.168.0.1, а если в сеть 10.0.1.0/24 - то 192.168.1.1.

Это стандартное поведение TCP/IP-стека, при условии, что не используются
никакие дополнительные механизмы для подмены src IP пакетов.

 
> > Внимательно изучаем скрипт ifup-routes и видим, что имя интерфейса
> > используется только для того, чтоб поднимать соответствующие маршруты
> > из static-routes в момент поднятия соответствующего интерфейса.
>   Все, понял идею. т.е. в ALT Linux в таблице статического роутинга
>   надо указывать физический интерфейс, а если надо извратиться то
>   указывать dev.

Нет, неверно понял. Это не ALT-specific. В свое время я ходил по этим
граблям в RedHat и в BlackCat. В таблице маршрутизации ядра _всегда_
используются названия _физических_ интерфейсов, а не alias'ов.

Добавлять dev нужно было потому, что при разборе static-routes скриптом
ifup-routes, в параметры route передавалась вся строка (за исключением
первого поля) и после нее дописывалось имя интерфейса. В какой-то версии
route не отрабатывал вот такую запись:

# route add -net 192.168.10.0 netmask 255.255.255.0 gw 192.168.1.1 eth0

ругаясь на отсутствие dev (хотя в man route и указано, что в таком
случае dev можно не использовать). Отсюда и пошло добавление dev
в static-routes.


>   Дело в том, что на одной из Машин я пользую спутниковый DVB интернет
>   и в свое время помучался с тем, что в static-routes нельзя было
>   прописать alias, а мне нужно было выдавать в исходящий интерфейс
>   пакеты с исходящим адресом от алиаса. Теперь что надо было указывать
>   имя реального интерфейса и добавлять dev от alias-а.
> 
>   Вообще меня выбило из колеи то, что до этого стоял Mandrake и в нем
>   конструкции с алиасами в static-routes прокатывали совершенно
>   спокойно.

Скорее всего в Мандраковских net-скриптах просто обрабатывается ситуация
с именами алиасов в static-routes. Может быть удобно, но не принципиально.


> > Так, сразу не увидел. Если ты пытаешся добавить маршрут на сеть, то
> > необходимо указывать маску. А если на хост -  то и указывать, что
> > это хост. Т.е. выглядеть должно вот так:
> 
> > eth0.5 host 192.168.10.1 gw 192.168.1.10 dev
> 
> > или (предположив что маршрутится вся /24 сеть)
> 
> > eth0.5 net 192.168.10.0 netmask 255.255.255.0 gw 192.168.1.10 dev
>   Я обычно пользую 192.168.10.0/24 - просто когда писал письмо забыл
>   дописать, у меня ведь в реальности другие адреса и другие маски.
> 
> 
>   В общем огромное спасибо, буду копать в очерченных направлениях.

Ну и основы TCP/IP неплохо бы покопать ... ;) Когда-то мне встречалась
замечательная книжка "UNIX internetworking with TCP/IP". В свое время 
очень помогла ... %)

--
WBR, Dmitry Lebkov


  reply	other threads:[~2004-08-25  2:37 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-08-24  7:16 rcc-of
2004-08-24  7:31 ` Dmitry Lebkov
2004-08-24 10:14   ` Re[2]: " rcc-of
2004-08-24 11:39     ` Dmitry Lebkov
2004-08-25  0:06       ` Re[4]: " rcc-of
2004-08-25  2:37         ` Dmitry Lebkov [this message]
2004-08-24  9:09 ` JT: " Сергей Лизогуб 
2004-08-24 20:18   ` Andrew
2004-08-24 10:14     ` JT: Re: [Comm][JT] " Maxim Bodyansky
2004-08-24 12:55 ` [Comm] " Igor Solovyov
2004-08-24 22:03   ` Re[2]: " rcc-of

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040825133708.777cbcbd.dima@sakhalin.ru \
    --to=dima@sakhalin.ru \
    --cc=community@altlinux.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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