Изменение MAC-адреса на DD-WRT v3.0 через SSH/скриптирование

Вопрос или проблема

Я хотел бы либо выяснить, как автоматически менять свой MAC-адрес по установленному таймеру через скрипт, либо просто как изменить MAC-адрес вообще через оболочку. Этот маршрутизатор — Netgear WNDR3700v4, так что он использует чип Atheros.

У меня нет знаний в Linux, но я делал это через Windows с помощью командной строки, но это практически все.

Я провел несколько поисков в Google, чтобы узнать, пробовал ли кто-то изменить MAC-адрес через SSH, и не нашел ничего, что заставило бы меня чувствовать себя уверенно, чтобы рискнуть и не опасаться того, что я сломаю свой маршрутизатор.

Ваш вопрос делится на две части: как изменить MAC-адрес и как задать время для определенного процесса.

Изменение MAC-адреса

Поскольку вы не можете установить удобные утилиты типа macchanger, вам придется делать это вручную.

  1. Узнайте имя вашего сетевого интерфейса. В многих случаях это eth0. Убедитесь, что вы нашли имя интерфейса, который действительно хотите изменить (WAN или LAN, VLAN…). В этом примере я буду использовать eth0.

  2. Проверьте свой текущий MAC-адрес ip link show eth0. Это может показать что-то вроде link/ether 00:11:22:33:44:55.

  3. Уберите свой интерфейс: ip link set dev eth0 down. Это является большим недостатком этого решения, так как оно разрывает всю сеть в процессе. Убедитесь, что вы действительно хотите, чтобы это произошло.

  4. Установите новый MAC-адрес: ip link set dev eth0 address AA:BB:CC:DD:EE:FF.

  5. Снова поднимите свой интерфейс: ip link set dev eth0 up.

Сделайте скрипт из этого

В скрипте это может выглядеть так:

#!/bin/bash
IF=eth0

# Создать случайный MAC, вдохновившись на http://superuser.com/a/218372/475723
# MAC может быть недействительным, так как он совершенно случайный. Используйте связанный ответ, чтобы добавить префикс, например 00:60:2F
hexchars="0123456789ABCDEF"
MAC=$(for i in {1..12} ; do echo -n ${hexchars:$(( $RANDOM % 16 )):1} ; done | sed -e 's/\(..\)/\1:/g;s/:$//')

ip link set dev $IF down
ip link set dev $IF address $MAC
ip link set dev $IF up

Сохраните этот скрипт в подходящем месте (предположим, /root/mac.sh) и сделайте его исполняемым с помощью chmod +x /root/mac.sh.

Вы можете протестировать свой скрипт, выполнив /root/mac.sh.

Запуск процессов по расписанию с помощью cron

С помощью cron вы можете запускать процессы регулярно, например, раз в день.

  1. Отредактируйте свой файл cron с помощью crontab -e.

  2. Вставьте строку, указывающую необходимую информацию: когда и что. Например, 0 1 * * * /root/mac.sh. Это будет выполнять команду каждый день, месяц, год в 01:00. Пожалуйста, проверьте страницы справки по cron для получения информации о том, как установить ее на разные интервалы.

Пожалуйста, убедитесь, что вы редактируете файл crontab от имени root.

Ответ или решение

Изменение MAC-адреса на DD-WRT v3.0 через SSH и сценарии

Изменение MAC-адреса на маршрутизаторе, работающем под управлением DD-WRT, может стать полезной задачей для повышения безопасности вашей сетевой конфигурации или для обхода ограничений провайдеров. Ваша ситуация включает в себя маршрутизатор Netgear WNDR3700v4 с чипом Atheros. В данном руководстве мы рассмотрим, как вручную изменить MAC-адрес и автоматизировать этот процесс с помощью сценариев и cron.

Часть 1: Изменение MAC-адреса

Шаг 1: Убедитесь, что у вас есть доступ по SSH

Для начала вам нужно подключиться к вашему маршрутизатору через SSH. Используйте любой SSH-клиент (например, PuTTY на Windows или терминал на Linux/Mac):

ssh root@192.168.1.1

(Замените IP-адрес на тот, что соответствует вашей сети.)

Шаг 2: Найдите имя сетевого интерфейса

На большинстве маршрутизаторов DD-WRT имя интерфейса для локальной сети обычно eth0. Для проверки используйте следующую команду:

ip link show

Ищите строку, которая начинается с eth0 или подобного. Убедитесь, что это именно тот интерфейс, MAC-адрес которого вы собираетесь изменить.

Шаг 3: Проверка текущего MAC-адреса

Чтобы узнать свой текущий MAC-адрес, выполните:

ip link show eth0

Вы увидите строку, содержащую link/ether, за которой следует ваш MAC-адрес.

Шаг 4: Отключите интерфейс

Перед изменением MAC-адреса необходимо отключить интерфейс:

ip link set dev eth0 down

Шаг 5: Установите новый MAC-адрес

Теперь вы можете установить новый MAC-адрес:

ip link set dev eth0 address AA:BB:CC:DD:EE:FF

Замените AA:BB:CC:DD:EE:FF на желаемый MAC-адрес.

Шаг 6: Включите интерфейс

После изменения MAC-адреса необходимо включить интерфейс:

ip link set dev eth0 up

Теперь ваш MAC-адрес должен быть успешно изменен.

Часть 2: Автоматизация процесса с помощью сценариев

Чтобы облегчить задачу, вы можете создать сценарий для автоматического изменения MAC-адреса.

Создание скрипта

Создайте новый скрипт, используя любой текстовый редактор, доступный в вашем маршрутизаторе:

nano /root/mac.sh

Вставьте следующий код:

#!/bin/bash
IF=eth0

# Генерация случайного MAC-адреса
hexchars="0123456789ABCDEF"
MAC=$(for i in {1..12} ; do echo -n ${hexchars:$(( $RANDOM % 16 )):1} ; done | sed -e 's/\(..\)/\1:/g;s/:$//')

ip link set dev $IF down
ip link set dev $IF address $MAC
ip link set dev $IF up

Сохраните и сделайте скрипт исполняемым:

chmod +x /root/mac.sh

Теперь вы можете протестировать свой скрипт, выполнив:

/root/mac.sh

Часть 3: Запланированное выполнение с помощью cron

Чтобы выполнять скрипт по расписанию, используйте планировщик cron.

Шаг 1: Редактирование crontab

Откройте редактор crontab с правами root:

crontab -e

Шаг 2: Добавление задания

Добавьте следующую строку, чтобы запускать скрипт, например, каждые сутки в 1:00:

0 1 * * * /root/mac.sh

Заключение

Теперь ваш маршрутизатор Netgear WNDR3700v4 автоматически меняет MAC-адрес согласно заданному расписанию. Если у вас возникнут какие-либо вопросы или проблемы, не стесняйтесь искать дополнительную информацию или задавать их на форумах, посвященных DD-WRT и маршрутизации. Помните о важности аккуратности при работе с сетевыми настройками, чтобы не подвергать риску вашу сеть.

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

Капча загружается...