|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Eugene B. Berdnikov 2:5020/400 02 Nov 2007 13:08:38 To : Pavel Gulchouck Subject : Re: Сохранение IP при смене интерфейса на ноуте - как? -------------------------------------------------------------------------------- Pavel Gulchouck <gul+usenet@gul.kiev.ua> wrote: PG> У ноута два интерфейса: медный эзер и wifi. И есть соответственно PG> две сетки, для обеих гейтвеем является один и тот же роутер, linux. PG> Хочется, чтобы при переключении ноута с wifi на медь и обратно PG> не обрывались ssh-сессии и прочие tcp. То есть, чтобы у ноута PG> не менялся IP. PG> При отключении интерфейс уходит в даун только со стороны ноута. PG> PG> Есть ли какое-то стандартное решение? Стандартного не знаю, но своё предложить могу. Hадо поднять туннели до гейта, один через ether, другой через wifi. Далее есть два пути. Первый - простой и незатейливый, как грабли. :) Hа туннельных интерфейсах поднимаются два одинаковых адреса вне диапазона внутренней сети, маршрутам до внутренней сети назначаются разные метрики: для туннеля по wifi выше. Когда выдёргивается ether - его туннель падает (время детекта можно выкрутить до нескольких секунд) и пакеты бегут через wifi. Минус этого решения в том, что весь трафик должен идти через шлюз. Как следствие, туннельные адреса должны лежать за маской внутренней сети. Второй - эффективный, но сложный и затейливый, излагаю кратко. Hа eth0 - адреса внутренней сети с нормальной маской и низшей метрикой. Hа wifi - то же самое, но метрика выше. Адрес ноута из диапазона внутренней сети, т.е. резолвится arp'ом. Поднимаются два туннеля. Hа стороне гейта скриптуется такая логика: если есть туннель wifi и нет изернетовского, то делаем аннонс ip-шника ноута статическим арпом, если появляется изернетовский - анонс снимаем. При отсутствии туннеля wifi никаких аннонсов. Плюс в том, что шлюз разгружается от трафика, но время реакции внутренних узлов будет определяться их арповскими таймаутами, т.е. может быть до 5-10 минут. Для ssh неприятно. Как к этому прикручивается dhcp - уже неважно. Проще на dhcp забить. PG> OSPF и source ip лупбэка на исходящих ssh - не хочется, т.к. хочется PG> минимум извратов на стороне ноута, все извраты на стороне гейтвея. Увы, на стороне гейтвея проблема: куда послать пакет, в ether или wifi? PG> Бридж между этими двумя сегментами - не получится ли ничего плохого, PG> если на ноуте оба интерфейса поднять? И нормально ли к этому PG> отнесётся dhcpd? Это ж нужно один IP разным макам выдавать. Какой бридж - на ноуте с линуксом? Так там будет мак br0, а не два. STP в принципе является нормальным решением (если интерфейс wifi включится в него, а с этим могут быть проблемы), но 802.1d - это очень долго, минута на изменение топологии (да и невозможно, если в сети ещё пара таких дятлов с ноутами), а 802.1w ака RSTP линукс пока не умеет. PG> Попробовал такой вариант. Hа меди (eth0) - 10.0.0.1/24, на wifi - PG> 10.0.0.1/23. Это попытка отсортировать маршруты? :) Правильно это делать метриками, хотя требует довешивания скриптов на ifup/ifdown. PG> И у dhcpd прописал выдачу одного и того же IP PG> (интерфейсы разные, так что dhcpd нормально это воспринял). PG> По задумке: если поднята медь, с ноута пойдёт на неё по PG> more specific route, если нет - развернётся на wifi. Всё бы PG> хорошо, если бы по пакету от ноута по wifi он прописывался PG> в arp на гейтвее, Да, проблема на стороне гейта. PG> и дальше роутинг от гейтвея шёл бы директом на PG> известный мак даже при наличии more specific на другом интерфейсе. PG> Или чтобы при IP NAT (который делается на том же линухе-гейтвее) PG> в таблице трансляции запоминался интерфейс, и ответы уходили туда же, PG> откуда были запросы. Hо оно не так. :-( Такое возможно - я это умею, :) "но здесь слишком мало места, чтобы привести доказательство этого удивительного утверждения!" (c) Ферма -- Eugene Berdnikov --- ifmail v.2.15dev5.4 * Origin: Institute for High Energy Physics, Protvino, Russia (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/198692fa0375b.html, оценка из 5, голосов 10
|