URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 39688
[ Назад ]

Исходное сообщение
"FreeBSD: set MAC-address at boot time. HOW?!"

Отправлено proff , 23-Янв-04 13:55 
Народ!

Помогите советом!
Как сменить MAC-адерес в boot-time?
Провайдер пущает только с заданным маком, нужно его сменить.

Строчка типа
ifconfig_em0="inet 172.16.16.137 netmask 255.255.255.192 ether 00:20:ed:7e:78:6b"
не прокатывает.

ifconfig радостно сообщает о неизвестной опции ether (равно как и link+lladdr).

Ручками удается сменить только с помощью заклинания

ifconfig em0 ether 00:20:ed:7e:78:6b

НО!!! Это не катит, т.к. это ручками уже на поднятой машине, а нужно чтобы прямо из rc.conf

Пробовал указывать в rc.conf нечто такое

ifconfig_em0="ether 00:20:ed:7e:78:6b"
ifconfig_em0="inet 172.16.16.137 netmask 255.255.255.192"

НЕ канает. Ничего не устанавливаеся, ни IP, ни MAC.

router# ifconfig em0
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=3<rxcsum,txcsum>
        ether 00:07:e9:39:d8:46
        media: Ethernet autoselect
        status: no carrier

(status: no carrier потому что проводочек отключен)

Кто знает как победить?


Содержание

Сообщения в этом обсуждении
"FreeBSD: set MAC-address at boot time. HOW?!"
Отправлено toor99 , 23-Янв-04 14:06 
>Народ!
>
>Помогите советом!
>Как сменить MAC-адерес в boot-time?
>Провайдер пущает только с заданным маком, нужно его сменить.
>
>Строчка типа
>ifconfig_em0="inet 172.16.16.137 netmask 255.255.255.192 ether 00:20:ed:7e:78:6b"
>не прокатывает.
>
>ifconfig радостно сообщает о неизвестной опции ether (равно как и link+lladdr).
>
>Ручками удается сменить только с помощью заклинания
>
>ifconfig em0 ether 00:20:ed:7e:78:6b
>
>НО!!! Это не катит, т.к. это ручками уже на поднятой машине, а
>нужно чтобы прямо из rc.conf

Ну а вставить его в rc.local, или хотя бы куда-нибудь в rc.d/ - не судьба?

man rc
/.../
The rc.d directories contain scripts which will be automatically executed at boot time and shutdown time.  At boot time, the specified directories are processed immediately after rc.local is executed.
/.../
и т.д.


"FreeBSD: set MAC-address at boot time. HOW?!"
Отправлено proff , 23-Янв-04 14:09 

>man rc
>/.../
>The rc.d directories contain scripts which will be automatically executed at boot
>time and shutdown time.  At boot time, the specified directories
>are processed immediately after rc.local is executed.
>/.../
>и т.д.


хочется все сделать одной строчкой в rc.conf.
в этом и состоял вопрос.

если это сделать нельзя, то придется это делать из /usr/local/etc/rc.d/


"FreeBSD: set MAC-address at boot time. HOW?!"
Отправлено lavr , 23-Янв-04 15:53 
>
>>man rc
>>/.../
>>The rc.d directories contain scripts which will be automatically executed at boot
>>time and shutdown time.  At boot time, the specified directories
>>are processed immediately after rc.local is executed.
>>/.../
>>и т.д.
>
>
>хочется все сделать одной строчкой в rc.conf.
>в этом и состоял вопрос.
>
>если это сделать нельзя, то придется это делать из /usr/local/etc/rc.d/

одной нельзя, потому как ether/lladr и inet из одного address-family,
соответственно ifconfig будет жрать только ЛИБО ether, ЛИБО inet!

Посмотри /etc/rc.network и поменяй его, например вставив свой параметр
ether для ifconfig в rc.conf (согласен что это НЕ ЕСТЬ ГУД - менять скрипты /etc/rc[*], ну или вставь в /etc/rc.local

Прим: когда-то писали что для ether не мешало бы изменить стартап скрипты,
да видимо так и забыли... посмотри внимательно /etc/rc.network, может быть
и нароешь изменения, нет, делай как удобней


"FreeBSD: set MAC-address at boot time. HOW?!"
Отправлено proff , 23-Янв-04 16:10 

>одной нельзя, потому как ether/lladr и inet из одного address-family,
>соответственно ifconfig будет жрать только ЛИБО ether, ЛИБО inet!
>
>Посмотри /etc/rc.network и поменяй его, например вставив свой параметр
>ether для ifconfig в rc.conf (согласен что это НЕ ЕСТЬ ГУД -
>менять скрипты /etc/rc[*], ну или вставь в /etc/rc.local
>
>Прим: когда-то писали что для ether не мешало бы изменить стартап скрипты,
>
>да видимо так и забыли... посмотри внимательно /etc/rc.network, может быть
>и нароешь изменения, нет, делай как удобней


ясно. спасибо за ответ.
времени нет править rc.network, по этому обошелся скриптом в /usr/local/etc/rc.d/...


"FreeBSD: set MAC-address at boot time. HOW?!"
Отправлено lavr , 23-Янв-04 16:32 
>
>>одной нельзя, потому как ether/lladr и inet из одного address-family,
>>соответственно ifconfig будет жрать только ЛИБО ether, ЛИБО inet!
>>
>>Посмотри /etc/rc.network и поменяй его, например вставив свой параметр
>>ether для ifconfig в rc.conf (согласен что это НЕ ЕСТЬ ГУД -
>>менять скрипты /etc/rc[*], ну или вставь в /etc/rc.local
>>
>>Прим: когда-то писали что для ether не мешало бы изменить стартап скрипты,
>>
>>да видимо так и забыли... посмотри внимательно /etc/rc.network, может быть
>>и нароешь изменения, нет, делай как удобней
>
>
>ясно. спасибо за ответ.
>времени нет править rc.network, по этому обошелся скриптом в /usr/local/etc/rc.d/...

лучше /etc/rc.local - быстрее сменишь, хотя, если в /usr/local/etc/rc.d
сделаешь смену самым первым скриптом, то однофигственно


"FreeBSD: set MAC-address at boot time. HOW?!"
Отправлено kirgudu , 30-Дек-04 11:24 
Делаю так:

ifconfig_xl1_alias0="lladdr 00-04-75-de-b6-e9"
ifconfig_xl1_alias1="inet 192.168.192.2 netmask 0xfffffffc"

И все работает.


"FreeBSD: set MAC-address at boot time. HOW?!"
Отправлено butcher , 30-Дек-04 11:45 
>Кто знает как победить?
Создаётся файл /etc/start_if.имя_интерфейса
в него пишется всё что вам хочется сделать при начальной конфигурации интерфейса, например:

/etc/start_if.em0:
ifconfig em0 ether 00:20:ed:7e:78:6b

за подробностями -> в rc-скрипты.