The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Работа с двумя 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 работает нормально, да и пишу я сча через сквид который обращается с алиаса на каскадный сквид за шлюзом, а значит и сервисы работают тоже нормально.
Возможность обойтись без шлюза пока не понял, но мне это вроде и не надо...
Если не о том написал - сорри. Может где-то здесь в описании и ошибся, спрашивай если что, попробуем разобраться, а не тыкать друг другу в доки.

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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