The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Сеть. проблемы, диагностика / FreeBSD)
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Работа с двумя IP одновременно, _Alexandr_ (ok), 20-Май-06, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


24. "Работа с двумя IP одновременно"  +/
Сообщение от starikm (??), 24-Май-06, 12:53 
>Предыстория.
>Было два компьютера с IP адресами 10.57.0.104/16 и 10.57.0.110/16. Каждый компьютер получал
>доступ к ресурсам в зависимости от IP адреса. Все работало отлично,
>но настало время, когда один из компьютеров умер и возложенные на
>него работы перешли на второй компьютер.
>Вопрос, как указать компьютеру, что при обращении к таким-то адреса использовать IP
>адрес 10.57.0.104 ,а к таким-то - 10.57.0.110.
>Выполнил ifconfig fxp alias 10.57.0.104/16
>При выполненнии  ifconfig выдает:
>fxp0: flags=8843.......
>      options.........
>      inet 10.57.0.110 netmask 0xffff0000 broadcast 10.57.255.255
>
>      inet 10.57.0.104 netmask 0xffff0000 broadcast 10.57.255.255
>
>Ресурсы с этого компьютера доступны только как 10.57.0.110, а 10.57.0.104 не доступны.
>
>tcpdump показал, что IP 10.57.0.104 не используется, все идет с 10.57.0.110.
>Как решить проблему?

Как я понял задача такая - есть интерфейс на который назначено 2 ip адреса (основной и алиас) нужно обращаться к определенным удаленным серверам с определенных ip адресов. У меня получилось это реализовать с участием ifconfig, ipfw, route. Но(!) у меня эти удаленные сервисы находятся за шлюзом , поэтому и описание для этого варианта.
Для решения твоей задачи:
ifconfig fxp0 10.57.0.110/16 #назначаем основной адрес на интерфейс
ifconfig fxp0 10.57.0.104/16 #назначаем alias на этот интерфейс
Т.к. они обе лежат в одной подсети то что ты отправляешь с этого интерфеса будет уходить с основного адреса (.110) для того чтобы обращаться к какому-либо адресу с алиаса нужно сделать дополнительный маршрут на этот адрес и правило для ipfw:
route add -host XXX.XXX.XXX.XXX 10.57.0.104
,где XXX.XXX.XXX.XXX адрес удаленного хоста на который нужно отправлять пакеты с 10.57.0.104. Таким образом у нас получается "кольцо". Для того чтобы выйти из этого кольца во первых нужно использовать ipfw. Если его нет, то как его запустить здесь куча доков. В ядре обязательно должны быть включены опции:
options IPFIREWALL_FORWARD
options IPFIREWALL_FORWARD_EXTENDED

затем или командой строке или в конфигурационном файле файрволла или еще как добавляем правило (у меня оно идет до всяких натовских дивертов, но после всего что касается 127.0.0.1) ближе к началу правил.
ipfw add [номер правила] fwd YYY.YYY.YYY.YYY ip from 10.57.0.104 to XXX.XXX.XXX.XXX
, где YYY.YYY.YYY.YYY - адрес шлюза, XXX.XXX.XXX.XXX адрес удаленного хоста на который нужно отправлять пакеты. Таким образом пакет уходит на шлюз с ip 10.57.0.104 для XXX.XXX.XXX.XXX.

После этого ping XXX.XXX.XXX.XXX работает нормально, да и пишу я сча через сквид который обращается с алиаса на каскадный сквид за шлюзом, а значит и сервисы работают тоже нормально.
Возможность обойтись без шлюза пока не понял, но мне это вроде и не надо...
Если не о том написал - сорри. Может где-то здесь в описании и ошибся, спрашивай если что, попробуем разобраться, а не тыкать друг другу в доки.

Ответить | Правка | Наверх | Cообщить модератору

26. "Работа с двумя IP одновременно"  +/
Сообщение от _Alexandr_email (ok), 24-Май-06, 22:53 
>Как я понял задача такая - есть интерфейс на который назначено 2
>ip адреса (основной и алиас) нужно обращаться к определенным удаленным серверам
>с определенных ip адресов. У меня получилось это реализовать с участием
>ifconfig, ipfw, route. Но(!) у меня эти удаленные сервисы находятся за
>шлюзом , поэтому и описание для этого варианта.
>Для решения твоей задачи:
>ifconfig fxp0 10.57.0.110/16 #назначаем основной адрес на интерфейс
>ifconfig fxp0 10.57.0.104/16 #назначаем alias на этот интерфейс
>Т.к. они обе лежат в одной подсети то что ты отправляешь с
>этого интерфеса будет уходить с основного адреса (.110) для того чтобы
>обращаться к какому-либо адресу с алиаса нужно сделать дополнительный маршрут на
>этот адрес и правило для ipfw:
>route add -host XXX.XXX.XXX.XXX 10.57.0.104
>,где XXX.XXX.XXX.XXX адрес удаленного хоста на который нужно отправлять пакеты с 10.57.0.104.
>Таким образом у нас получается "кольцо". Для того чтобы выйти из
>этого кольца во первых нужно использовать ipfw. Если его нет, то
>как его запустить здесь куча доков. В ядре обязательно должны быть
>включены опции:
>options IPFIREWALL_FORWARD
>options IPFIREWALL_FORWARD_EXTENDED
>
>затем или командой строке или в конфигурационном файле файрволла или еще как
>добавляем правило (у меня оно идет до всяких натовских дивертов, но
>после всего что касается 127.0.0.1) ближе к началу правил.
>ipfw add [номер правила] fwd YYY.YYY.YYY.YYY ip from 10.57.0.104 to XXX.XXX.XXX.XXX
>, где YYY.YYY.YYY.YYY - адрес шлюза, XXX.XXX.XXX.XXX адрес удаленного хоста на который
>нужно отправлять пакеты. Таким образом пакет уходит на шлюз с ip
>10.57.0.104 для XXX.XXX.XXX.XXX.
>
>После этого ping XXX.XXX.XXX.XXX работает нормально, да и пишу я сча через
>сквид который обращается с алиаса на каскадный сквид за шлюзом, а
>значит и сервисы работают тоже нормально.
>Возможность обойтись без шлюза пока не понял, но мне это вроде и
>не надо...
>Если не о том написал - сорри. Может где-то здесь в описании
>и ошибся, спрашивай если что, попробуем разобраться, а не тыкать друг
>другу в доки.

БОЛЬШОЕ СПАСИБО за развернутый ответ!
Сейчас попробую осуществить...

А также всем спасибо, кто откликнулся! :)

Ответить | Правка | Наверх | Cообщить модератору

27. "Работа с двумя IP одновременно"  +/
Сообщение от starikm (??), 24-Май-06, 23:11 
>>ifconfig fxp0 10.57.0.110/16 #назначаем основной адрес на интерфейс
>>ifconfig fxp0 10.57.0.104/16 #назначаем alias на этот интерфейс

>
>БОЛЬШОЕ СПАСИБО за развернутый ответ!
>Сейчас попробую осуществить...
>
>А также всем спасибо, кто откликнулся! :)
Блин... как и говорил могут быть ошибки на алиас маска /32 конечно... сорри.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру