... граблей ).
Сервак, через пень-колоду собрали. Сервакчерез пень-колоду об-раз-цо-во настроили, увы, "в процессе" выяснилось одно "но" - враг трудового народа провайдер производит привязку по mac-адресу, с-но, при вылете сервера записью старого mac-адреса я никто не озаботился. При подключении "временного" варианта (Зухельного роутера) пришлось через суппорт провайдера произвести привязку к другому mac'у.
Ок. При настройке сервера я это учел и mac зухеля аккуратно записал. Осталось понять, как его ак-ку-рат-нень-ко так подменить при загрузке FreeBSD. Само по себе - не бином Ньютона - ifconfig <интерфейс> ether <адрес>, но при загрузке, через rc.conf?
"Очевидный" вариант - ifconfig_<интерфейс>="inet netmask <маска> ether " по понятным причинам (Все это передается в качестве аргументов родному ifconfig'у, а он "одной строкой" устанавливать адреса разных классов не умеет) не прокатил.
Чуть менее "очевидный" вариант - дважды задать адреса для одного интерфейса в стиле:
ifconfig_<интерфейс>="inet netmask <маска>"
ifconfig_<интерфейс>="ether "
не прокатил тоже (Опять таки, не удивительно, учитывая механизм обработки rc.conf'а).
Затык-с. Просто выполнить юзерский скрипт с этим самым ifconfig'ом - "низкий класс, нечистая работа"(С) - пришлось засучить рукава и полезть изучать /etc/rc.d/netif - далее по тексту ). В процессе родилась "Оригинальная Идея"(ТМ) и файл rc.conf (В "интерфейсной части", ессно!) принял следующий вид:
ifconfig_<интерфейс>="inet netmask <маска>"
ifconfig_<интерфейс>_alias0="ether "
т.е. мы "создаем псевдоним", передаем ему в качестве адреса - mac. Ясен пень, псевдоним (Второй IP на интерфейсе) не созается, но! аргументы старательно передаются ifconfig'у.
И вот он, торжественный момент - сервак втыкается в стойку, нажимается кнопка "пуск"... пять минут - полет нормальный, но тырнетов нет. Быстрая проверка показала, что mac-адрес уже новывый, но толку от этого нет - стандартный шлюз не пингуется, а tcpdump показывает, что все, что он может "отдать" - arp'шный ответ на who has... Полчаса танцев-с-бубном, обратное подключение зухеля - нет эффекта. Пришлось звонить провайдеру. Эти... параноики на первый же ethernet frame с mac'ом отличным от ожидаемого насмерть лочат порт, а rc.conf обрабатывается последовательно...
Буду ДОЛГО думать.
Сервак, через пень-колоду собрали. Сервак
Ок. При настройке сервера я это учел и mac зухеля аккуратно записал. Осталось понять, как его ак-ку-рат-нень-ко так подменить при загрузке FreeBSD. Само по себе - не бином Ньютона - ifconfig <интерфейс> ether <адрес>, но при загрузке, через rc.conf?
"Очевидный" вариант - ifconfig_<интерфейс>="inet netmask <маска> ether " по понятным причинам (Все это передается в качестве аргументов родному ifconfig'у, а он "одной строкой" устанавливать адреса разных классов не умеет) не прокатил.
Чуть менее "очевидный" вариант - дважды задать адреса для одного интерфейса в стиле:
ifconfig_<интерфейс>="inet netmask <маска>"
ifconfig_<интерфейс>="ether "
не прокатил тоже (Опять таки, не удивительно, учитывая механизм обработки rc.conf'а).
Затык-с. Просто выполнить юзерский скрипт с этим самым ifconfig'ом - "низкий класс, нечистая работа"(С) - пришлось засучить рукава и полезть изучать /etc/rc.d/netif - далее по тексту ). В процессе родилась "Оригинальная Идея"(ТМ) и файл rc.conf (В "интерфейсной части", ессно!) принял следующий вид:
ifconfig_<интерфейс>="inet netmask <маска>"
ifconfig_<интерфейс>_alias0="ether "
т.е. мы "создаем псевдоним", передаем ему в качестве адреса - mac. Ясен пень, псевдоним (Второй IP на интерфейсе) не созается, но! аргументы старательно передаются ifconfig'у.
И вот он, торжественный момент - сервак втыкается в стойку, нажимается кнопка "пуск"... пять минут - полет нормальный, но тырнетов нет. Быстрая проверка показала, что mac-адрес уже новывый, но толку от этого нет - стандартный шлюз не пингуется, а tcpdump показывает, что все, что он может "отдать" - arp'шный ответ на who has... Полчаса танцев-с-бубном, обратное подключение зухеля - нет эффекта. Пришлось звонить провайдеру. Эти... параноики на первый же ethernet frame с mac'ом отличным от ожидаемого насмерть лочат порт, а rc.conf обрабатывается последовательно...
Буду ДОЛГО думать.