From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 25 Aug 2004 13:37:08 +1100 From: Dmitry Lebkov To: community@altlinux.ru Subject: Re: Re[4]: [Comm] static-routes =?KOI8-R?Q?=CE=C9=C6=C9=C7=C1_=CE?= =?KOI8-R?Q?=C5_=D0=D2=CF=D0=C9=D3=D9=D7=C1=C0=D4=D3=D1_=CE=C1_=C1=CC=C9?= =?KOI8-R?Q?=C1=D3=D9=2E?= Message-Id: <20040825133708.777cbcbd.dima@sakhalin.ru> In-Reply-To: <171728118.20040825040641@penza.com.ru> References: <1904660342.20040824111633@penza.com.ru> <20040824183129.6429b25d.dima@sakhalin.ru> <1991074447.20040824141403@penza.com.ru> <20040824223945.12d06a26.dima@sakhalin.ru> <171728118.20040825040641@penza.com.ru> X-Mailer: Sylpheed version 0.9.10 (GTK+ 1.2.10; i586-alt-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 8bit X-BeenThere: community@altlinux.ru X-Mailman-Version: 2.1.5 Precedence: list Reply-To: community@altlinux.ru List-Id: Mailing list for ALT Linux users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Aug 2004 02:37:00 -0000 Archived-At: List-Archive: List-Post: 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