MAC-адреса для сетевых интерфейсов (Ethernet, SHDSL, E1) хранятся в конфигурационном файле (kdb).
На данный момент существует два способа начального присвоения MAC-адресов:
При первой после перепрошивки загрузке маршрутизатора происходит генерация случайных MAC-адресов для интерфейсов eth* и dsl0, dsl1. Такая генерация MAC-адресов не может гарантировать их уникальности для нескольких маршрутизаторов — т.е., два маршрутизатора могут сгенерировать одинаковые MAC-адреса. Чтобы свести вероятность повторения адресов к минимуму — первую загрузку следует производить, когда маршрутизатор подключён к сети ethernet, желательно с интенсивным трафиком — это увеличит случайность в генерации адресов.
Затем запускается скрипт, реализующий второй способ присвоения MAC-адресов — получение списка MAC-адресов со специализированного сервера. Скрипт проверяет, доступен ли данный сервер — и если доступен, загружает с него список уникальных MAC-адресов, которые затем назначает сетевым интерфейсам. Данный способ доступен и используется только производителем маршрутизатора. При успешном обновлении MAC-адресов будет выдано соответствующее сообщение:
Updating MAC addresses
В случае, если указанный выше сервер недоступен, будет выдано соответствующее сообщение, попытки обновления MAC-адресов при последующих загрузках предприниматься не будут.
MAC-address server is unreachable. You can update your MAC-address manually by running: /etc/init.d/updatekdb force
От изготовителя маршрутизатор поставляется с MAC-адресами, полученными со специализированного сервера, что гарантирует их уникальность для всех возможных интерфейсов маршрутизатора.
Так как MAC-адреса хранятся в конфигурационном файле — после перепрошивки они будут потеряны. Чтобы этого не произошло, перед перепрошивкой следует сохранить конфигурацию маршрутизатора (см. раздел Сохранение/восстановление конфигурации), а затем произвести её восстановление.