Здравствуйте, protestant, Вы писали:
P>как программно установить ip, маску, шлюз и DNS?
IP и маска:
man -S8 ip (для Linux)
man ifconfig (для остальных)
шлюз: man route (для всех), сеть 0/0
DNS: /etc/resolv.conf — статически. В некоторых есть /etc/resolvconf/ где дистро-зависимо ставятся хуки.
The God is real, unless declared integer.
Re[2]: как программно настроить ethernet интерфейс?
Здравствуйте, netch80, Вы писали:
N>Здравствуйте, protestant, Вы писали:
P>>как программно установить ip, маску, шлюз и DNS?
N>IP и маска: N>man -S8 ip (для Linux) N>man ifconfig (для остальных) N>шлюз: man route (для всех), сеть 0/0 N>DNS: /etc/resolv.conf — статически. В некоторых есть /etc/resolvconf/ где дистро-зависимо ставятся хуки.
спасибо, но мне под вистой надо
Re[3]: как программно настроить ethernet интерфейс?
Здравствуйте, protestant, Вы писали:
P>как программно установить ip, маску, шлюз и DNS?
Могу расширить вопрос: как это делается в серверах? Вот есть у меня 1 основной сервер и N-1 резервных. При выходе основного сервера из строя, его заменяет любой резервный, а с точки зрения клиента — все как было, так и осталось, и IP тот же самый. Первое, что приходит в голову — "резервисты" поочередно пингуют основного товарища, и, если он не отзывается, переконфигурируют свой IP. Тупо, грубо, излишне перегружает сеть вызовами по ICMP. В голове вертится мысль, что во "взрослых" системах используются более красивые решения. Или "no silver bullett"?
Люди! Люди, смотрите, я сошел с ума! Люди! Возлюбите друг друга! (вы чувствуете, какой бред?)
Re[2]: как программно настроить ethernet интерфейс?
Здравствуйте, slava_phirsov, Вы писали:
_>Вот есть у меня 1 основной сервер и N-1 резервных... В голове вертится мысль, что во "взрослых" системах используются более красивые решения.
Угу. Различные кластера, в том числе с использованием специальных железяк.
Re[3]: как программно настроить ethernet интерфейс?
Здравствуйте, Michael Chelnokov, Вы писали:
MC>Угу. Различные кластера, в том числе с использованием специальных железяк.
1. А поподробнее — есть информация?
2. А без специального железа кластеры собираются? Ну там, какой-нить софт, например, опенсорсный, для балансирования нагрузки между машинами.... Есть желание попробовать, чтобы в резюме писать "уверенно владею технологиями распределенных вычислений"
Люди! Люди, смотрите, я сошел с ума! Люди! Возлюбите друг друга! (вы чувствуете, какой бред?)
Re[2]: как программно настроить ethernet интерфейс?
Здравствуйте, slava_phirsov, Вы писали:
_>Здравствуйте, protestant, Вы писали:
P>>как программно установить ip, маску, шлюз и DNS?
_>Могу расширить вопрос: как это делается в серверах?
идея одна и та же.
_> Первое, что приходит в голову — "резервисты" поочередно пингуют основного товарища, и, если он не отзывается, переконфигурируют свой IP. Тупо, грубо, излишне перегружает сеть вызовами по ICMP. В голове вертится мысль, что во "взрослых" системах используются более красивые решения. Или "no silver bullett"?
No silver bullet, но см. выше.
The God is real, unless declared integer.
Re[3]: как программно настроить ethernet интерфейс?
Короче, велосипед уже давно изобретен.... Блин, какой облом Если серьезно, то есть дополнительные вопросы:
1.Работает CARP только под FreeBSD? Или есть порты под другие версии Униз/Пингвиндоуз а то и, прошу прощения, под Вынь?
2.Что конкретно надо делать для установки? Тупо скачивается некая утилита и устанавливается (пакеты, исходники) или надо пересобрать все ядро?
3.Плиз, у кого был опыт работы с карпом или его эквивалентами — поделитесь опытом!
Люди! Люди, смотрите, я сошел с ума! Люди! Возлюбите друг друга! (вы чувствуете, какой бред?)
Re[3]: как программно настроить ethernet интерфейс?
еще я почитал http://www.opennet.ru/base/net/carp_protocol.txt.html — схема, в общем, близка к предложенной мной, только все наоборот не резервные пингуют основного, а основной сообщает всем резервным, что он еще дышит. Неясно только — какие же адреса у серверов в состоянии резерва?
Люди! Люди, смотрите, я сошел с ума! Люди! Возлюбите друг друга! (вы чувствуете, какой бред?)
Re[4]: как программно настроить ethernet интерфейс?
Здравствуйте, slava_phirsov, Вы писали:
_>Короче, велосипед уже давно изобретен.... Блин, какой облом :))) Если серьезно, то есть дополнительные вопросы: _>1.Работает CARP только под FreeBSD? Или есть порты под другие версии Униз/Пингвиндоуз а то и, прошу прощения, под Вынь?
Я не изучал. CARP в оригинале под OpenBSD, перетащен под все BSD, думаю, перенести под все юниксы проблем не будет, а насчёт других систем — без малейшего понятия.
_>2.Что конкретно надо делать для установки? Тупо скачивается некая утилита и устанавливается (пакеты, исходники) или надо пересобрать все ядро?
Судя по тому, что я вижу во FreeBSD 6.3 — надо пересобрать ядро с "device carp", установка его модулем без такой пересборки невозможна.
The God is real, unless declared integer.
Re[4]: как программно настроить ethernet интерфейс?
Здравствуйте, slava_phirsov, Вы писали:
_>еще я почитал http://www.opennet.ru/base/net/carp_protocol.txt.html — схема, в общем, близка к предложенной мной, только все наоборот :))) не резервные пингуют основного, а основной сообщает всем резервным, что он еще дышит.
Не так. Фактически, в этой схеме ни один не является ни "основным" ни "резервным". Каждый из настроенных хостов систематически оповещает о себе, остальные запоминают и учитывают. Настройкой числовых параметров можно установить условия перехвата и удержания на себе виртуального хоста. Можно сделать, например, схему, в которой один всегда перехватывает на себя, когда работает, а иначе — включается резервный. Можно — когда тот, что захватил однажды, держит на себе до тех пор пока не умрёт или явно не сбросит с себя нагрузку, тогда подхватит другой. Можно настроить приоритеты удержания и перехвата. Главное — что сеть должна работать чётко и не распадаться, не иметь направления непропускания — посланное одним должно дойти до всех остальных.
_> Неясно только — какие же адреса у серверов в состоянии резерва?
У каждого сервера есть свой адрес (или несколько) на интерфейсе, который он не отдаёт никогда — это его собственный. И есть два адреса — MAC и IP, IP привязан к этому MAC единообразно. MAC всегда один — 00:00:5E:00:01:$VHID, IP — назначается конфигом. Если один сервер теряет виртуальный хост, а другой приобретает, то первый перестаёт отвечать и на этот IP и на этот MAC, а другой — начинает. У HSRP другой MAC виртхоста — 00:00:0c:07:ac:$VHID, но метод работы тот же.
The God is real, unless declared integer.
Re[3]: как программно настроить ethernet интерфейс?
От:
Аноним
Дата:
21.09.08 20:57
Оценка:
P>спасибо, но мне под вистой надо
netsh
Re[5]: как программно настроить ethernet интерфейс?
Здравствуйте, netch80, Вы писали:
N>У каждого сервера есть свой адрес (или несколько) на интерфейсе, который он не отдаёт никогда — это его собственный.
Имеется в виду адрес в протоколе CARP? CARP создает свое собственное адресное пространство? А как же тогда сообщения передаются? Я, пролистав информацию, решил, что CARP работает на протоколе IP, вернее, на ICMP
N>MAC всегда один — 00:00:5E:00:01:$VHID
Вот тут я вообще не догоняю... Разве MAC-адрес не задается аппаратно в сетевой карте (причем в каждом экземпляре карты — свой собственный, уникальный)?
N> IP — назначается конфигом.
Ну, тут понятно — для того CARP и нужен
N>Фактически, в этой схеме ни один не является ни "основным" ни "резервным".
Под "основным" я имею в виду тот, который в данный момент обрабатывает запросы и "владеет" виртуальным IP-адресом, а под резервными — всех прочих.
N>Каждый из настроенных хостов систематически оповещает о себе, остальные запоминают и учитывают.
Оповещает — каким образом? Через IP, ICMP, или же CARP создает свою собственную систему передачи сообщений?
Люди! Люди, смотрите, я сошел с ума! Люди! Возлюбите друг друга! (вы чувствуете, какой бред?)
Re[6]: как программно настроить ethernet интерфейс?
Здравствуйте, slava_phirsov, Вы писали:
_>Здравствуйте, netch80, Вы писали:
N>>У каждого сервера есть свой адрес (или несколько) на интерфейсе, который он не отдаёт никогда — это его собственный. _>Имеется в виду адрес в протоколе CARP?
Нет, повторяю: его _собственный_ адрес. Независимый от CARP.
_> CARP создает свое собственное адресное пространство? А как же тогда сообщения передаются? Я, пролистав информацию, решил, что CARP работает на протоколе IP, вернее, на ICMP :???:
Нет, не на ICMP. На своём протоколе поверх IP. Для сравнения, HSRP — прямо поверх канального уровня Ethernet.
N>>MAC всегда один — 00:00:5E:00:01:$VHID _>Вот тут я вообще не догоняю... Разве MAC-адрес не задается аппаратно в сетевой карте (причем в каждом экземпляре карты — свой собственный, уникальный)? :no:
Тааак... Надо больше ликбеза.
1. Адрес сейчас (последние лет 20 минимум) в сетевухах никогда не прошивается жёстко. Любая сетевуха состоит из центральной части и подключенного к ней полуПЗУ (обычно флэш, иногда другой EEPROM), в котором лежит заводской MAC и другие важные параметры (например, особенности данной реализации), может быть boot ROM. Драйвер при старте читает этот заводской MAC и прописывает в настройки чипа сетевухи. Но он может прописать и нечто другое — и на это бывают штатные настройки.
2. Сетевуха обычно не слушает только настроенный основной MAC. Как минимум ещё обычно включено слушание бродкаста (MAC FF:FF:FF:FF:FF:FF). У всех, по-разному, где качественнее, где хуже, но у всех — настраивается слушать ещё какие-то мультикастовые адреса (они же групповые — младший бит первого октета MAC равен 1, но не бродкаст). В низших сетевухах это фильтр по CRC MAC'а, у него штатно могут быть коллизии и ложные срабатывания, в старших можно задать явный список (а плюс к тому — и фильтр). Так вот — в явном списке обычном можно указывать и уникастовые (персональные) адреса. На тупых сетевухах может даже оказаться, что нужно включать promisc, чтобы такое принимать. На таких сетевухах строить CARP может быть слишком дорого. На нормальных (Intel, DEC) — обычно нет проблем.
И в любых сетевухах сейчас нет проблем послать пакет с любым src MAC. На некоторых это дороже, чем с родным, но всё равно делается.
N>>Каждый из настроенных хостов систематически оповещает о себе, остальные запоминают и учитывают. _>Оповещает — каким образом? Через IP, ICMP, или же CARP создает свою собственную систему передачи сообщений? :xz:
Собственную. Поверх IP (CARP, VRRP), поверх эзернетного фрейминга (HSRP).
The God is real, unless declared integer.
Re[7]: как программно настроить ethernet интерфейс?
Здравствуйте, Изя Рнет, Вы писали:
ИР>Здравствуйте, netch80, Вы писали:
N>>Собственную. Поверх IP (CARP, VRRP), поверх эзернетного фрейминга (HSRP).
ИР>Откуда эти сведения про HSRP? Он живет поверх UDP, порт 1985, в чем несложно убедиться посмотрев на него сниффером.
Ну значит забыл за давностью.
The God is real, unless declared integer.
Re[7]: как программно настроить ethernet интерфейс?
Здравствуйте, netch80, спасибо за помощь, кое-что понял, кажется. Еще уточняющий вопрос:
N>У каждого сервера есть свой адрес (или несколько) на интерфейсе, который он не отдаёт никогда — это его собственный. Я>Имеется в виду адрес в протоколе CARP? N>Нет, повторяю: его _собственный_ адрес. Независимый от CARP.
собственный адрес — в каком протоколе? Не в CARP — значит остаются варианты: IP, Ethernet(MAC-адрес)
Люди! Люди, смотрите, я сошел с ума! Люди! Возлюбите друг друга! (вы чувствуете, какой бред?)
Re[8]: как программно настроить ethernet интерфейс?
Здравствуйте, slava_phirsov, Вы писали:
_>Здравствуйте, netch80, спасибо за помощь, кое-что понял, кажется. Еще уточняющий вопрос:
N>>У каждого сервера есть свой адрес (или несколько) на интерфейсе, который он не отдаёт никогда — это его собственный. Я>>Имеется в виду адрес в протоколе CARP? N>>Нет, повторяю: его _собственный_ адрес. Независимый от CARP.
_>собственный адрес — в каком протоколе? Не в CARP — значит остаются варианты: IP, Ethernet(MAC-адрес)
И IP, и MAC.
Например: собственный MAC сервера на соответствующей сетевухе 00:01:16:12:34:56, IP — 192.168.0.2 и 192.168.0.12.
Собственный MAC второго сервера на соответствующей сетевухе 00:01:16:12:34:AA, IP — 192.168.0.3.
Они оба с этими адресами будут работать независимо от CARP, и будет соответствие этих IP этим макам (каждому — по-своему).
Настраивается CARP, номер группы надёжности 40, IP 192.168.0.1.
Соответствующий MAC будет 0:00:5E:00:01:28. Сервер, который его принял, будет отвечать на ещё один MAC и соответствующий ему IP.