Как изменить MAC интерфейса wifi в OpenWrt

Print Friendly, PDF & Email

Задача:

OpenWRT работает как клиент для подключения к сети wi-fi, чтобы раздавать интернет в локальной сети через ethernet порт. Недавно он был заблокирован на неподконтрольной точке доступа. Изменение имени устройства и его mac-адреса, должно снять блокировку.

---------------------------------------------------------------

Смена MAC адреса может понадобиться, если у провайдера существует жёсткая привязка к вашему роутеру. При смене устройства, провайдер должен зарегистрировать новый адрес вашего устройства. Обычно дозвониться сложно и такая смена адреса может занять несколько часов. Поэтому, быстрее поменять самостоятельно MAC-адрес и для провайдера устройства как будто останется старым.

UCI (Unified Configuration Interface) – унифицированный интерфейс конфигурации, направленный на простую и централизованную настройку OpenWrt.

Если авторизоваться на устройстве openwrt при помощи ssh, можно воспользоваться командой uci, для получения справки

Для удобства переведу параметры

Usage: uci [<options>] <command> [<arguments>]

Commands:
	batch
	export     [<config>]
	import     [<config>]
	changes    [<config>]
	commit     [<config>]
	add        <config> <section-type>
	add_list   <config>.<section>.<option>=<string>
	show       [<config>[.<section>[.<option>]]]
	get        <config>.<section>[.<option>]
	set        <config>.<section>[.<option>]=<value>
	delete     <config>[.<section[.<option>]]
	rename     <config>.<section>[.<option>]=<name>
	revert     <config>[.<section>[.<option>]]

Options:
	-c <path>  установка пути поиска конфигурационных файлов (по умолчанию: /etc/config)
	-d <str>   установка разделителя для значений списка в uci show
	-f <file>  использовать для ввода информации содержимое файла <file> вместо стандартного потока stdin
	-m         при импорте, объединение данных в уже существующий пакет
	-n         имя не именованной секции при экспорте (по умолчанию)
	-N         не присваивать имени не именованным секциям
	-p <path>  добавить путь поиска файлов измененной конфигурации
	-P <path>  добавить путь поиска файлов измененной конфигурации и использовать его по умолчанию
	-q         тихий режим (не печатаются сообщения об ошибках)
	-s         строгий режим (останавливаться на ошибках парсинга, используется по умолчанию)
	-S         отключить строгий режим
	-X         не использовать расширенный синтаксис для 'show'

Проверяем текущие настройки

root@FritzBOX:~# uci show wireless
wireless.radio0=wifi-device
wireless.radio0.type='mac80211'
wireless.radio0.channel='11'
wireless.radio0.hwmode='11g'
wireless.radio0.path='platform/10180000.wmac'
wireless.radio0.htmode='HT20'
wireless.radio0.macaddr='CC:CE:1E:FF:47:97'
wireless.default_radio0=wifi-iface
wireless.default_radio0.device='radio0'
wireless.default_radio0.network='lan'
wireless.default_radio0.mode='ap'
wireless.default_radio0.ssid='OpenWrt'
wireless.default_radio0.encryption='none'
wireless.default_radio0.disabled='1'
wireless.default_radio0.macaddr='CC:CE:1E:FF:47:97'
wireless.wifinet1=wifi-iface
wireless.wifinet1.key='23442472460541061777'
wireless.wifinet1.ssid='FRITZ!Box 7430 LN'
wireless.wifinet1.device='radio0'
wireless.wifinet1.mode='sta'
wireless.wifinet1.network='wwan'
wireless.wifinet1.encryption='psk2'
wireless.wifinet1.short_preamble='0'
wireless.wifinet1.macaddr='CC:CE:1E:FF:47:97'
root@FritzBOX:~#

Меняем mac адреса. Стоит отметить, что сеть для подключения уже должна быть настроена, иначе у вас будет отсутствовать wifinet1.

root@FritzBOX:~# uci set wireless.radio0.macaddr='CC:CE:1E:FF:47:98'
root@FritzBOX:~# uci set wireless.default_radio0.macaddr='CC:CE:1E:FF:47:98'
root@FritzBOX:~# uci set wireless.wifinet1.macaddr='CC:CE:1E:FF:47:98'

Проверяем

root@FritzBOX:~# uci show wireless
wireless.radio0=wifi-device
wireless.radio0.type='mac80211'
wireless.radio0.channel='11'
wireless.radio0.hwmode='11g'
wireless.radio0.path='platform/10180000.wmac'
wireless.radio0.htmode='HT20'
wireless.radio0.macaddr='CC:CE:1E:FF:47:98'
wireless.default_radio0=wifi-iface
wireless.default_radio0.device='radio0'
wireless.default_radio0.network='lan'
wireless.default_radio0.mode='ap'
wireless.default_radio0.ssid='OpenWrt'
wireless.default_radio0.encryption='none'
wireless.default_radio0.disabled='1'
wireless.default_radio0.macaddr='CC:CE:1E:FF:47:98'
wireless.wifinet1=wifi-iface
wireless.wifinet1.key='23442472460541061777'
wireless.wifinet1.ssid='FRITZ!Box 7430 LN'
wireless.wifinet1.device='radio0'
wireless.wifinet1.mode='sta'
wireless.wifinet1.network='wwan'
wireless.wifinet1.encryption='psk2'
wireless.wifinet1.short_preamble='0'
wireless.wifinet1.macaddr='CC:CE:1E:FF:47:98'
root@FritzBOX:~#

Сохраняем наши изменения

root@FritzBOX:~# uci commit wireless
root@FritzBOX:~# 

Чтобы сохранить все изменения в системе, во всех конфигах OpenWRT

root@FritzBOX:~# uci commit
root@FritzBOX:~# 

все изменения можно было сделать в конфиге /etc/config/wireless

root@FritzBOX:~# cat /etc/config/wireless

config wifi-device 'radio0'
        option type 'mac80211'
        option channel '11'
        option hwmode '11g'
        option path 'platform/10180000.wmac'
        option htmode 'HT20'
        option macaddr 'CC:CE:1E:FF:47:97'
        option disabled '1'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option ssid 'OpenWrt'
        option encryption 'none'
        option disabled '1'
        option macaddr 'CC:CE:1E:FF:47:97'

config wifi-iface 'wifinet1'
        option key '23442472460541061777'
        option ssid 'FRITZ!Box 7430 LN'
        option device 'radio0'
        option mode 'sta'
        option network 'wwan'
        option encryption 'psk2'
        option short_preamble '0'
        option macaddr 'CC:CE:1E:FF:47:97'
        option disabled '1'

root@FritzBOX:~#

Перезагружаем

root@FritzBOX:~# reboot

Подключаемся и проверяем. Для подключения по SSH можно воспользоваться PowerShell

И да, это тестовый роутер и поэтому без пароля 🙂

p.s. в качестве бонуса пароль в конфиге

Помогла статья? Есть возможность отблагодарить автора

QR Link:

QR Code

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован.