LINUX.ORG.RU
ФорумAdmin

Смена mac-адреса на NetBSD

 , ,


0

1

Всем привет. Юзаю Apple Time Capsule четвёртого поколения. Есть необходимость сменить на нём мак-адрес Ethernet-порта, по которому поступает инет в роутер. Погуглив, становится ясно, что в таких роутерах мак-адрес не меняется смертными. Подключился к капсуле по ssh, а там NetBSD стоит. Выхлоп uname -a:

NetBSD airport-time-capsule 4.0_STABLE NetBSD 4.0_STABLE #0: Fri May 24 20:57:25 PDT 2019  root@xapp190.apple.com:/BuildRoot/Library/Caches/com.apple.xbs/Sources/K30B/AirPortFW-78100.3/Embedded/Firmware/NetBSD/Targets/K30B/release/obj/build.kernel-target.conf evbarm

Список сетевых интерфейсов ifconfig:

airport-time-capsule# ifconfig
mgi0: flags=e943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,LINK1,LINK2,MULTICAST> metric 0 mtu 1500
        options=83f80<TSO4,IP4CSUM_Rx,IP4CSUM_Tx,TCP4CSUM_Rx,TCP4CSUM_Tx,UDP4CSUM_Rx,UDP4CSUM_Tx,LRO4>
        extra flag=1<NOINET6>
        ether 70:73:cb:b3:61:2a
        media: none (none)
mgi1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=83f80<TSO4,IP4CSUM_Rx,IP4CSUM_Tx,TCP4CSUM_Rx,TCP4CSUM_Tx,UDP4CSUM_Rx,UDP4CSUM_Tx,LRO4>
        extra flag=0<>
        ether 70:73:cb:b3:61:2a
        inet6 fe80::7273:cbff:feb3:612a%mgi1 prefixlen 64 scopeid 0x2
        inet 192.168.0.9 netmask 0xffffff00 broadcast 192.168.0.255
        inet 169.254.232.77 netmask 0xffff0000 broadcast 169.254.255.255
        media: none (none)
bwl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 2290
        options=80000<LRO4>
        extra flag=0<>
        ether 70:73:cb:b8:59:55
        media: autoselect mode 11ng hostap
        status: running
bwl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 2290
        options=80000<LRO4>
        extra flag=0<>
        ether 70:73:cb:b8:59:56
        media: autoselect mode 11na hostap
        status: running
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 33172
        extra flag=0<>
        inet 127.0.0.1 netmask 0xff000000
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
        inet 127.0.0.2 netmask 0xff000000
wlan0: flags=e943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,LINK1,LINK2,MULTICAST> metric 0 mtu 1500
        options=80000<LRO4>
        extra flag=1<NOINET6>
        ether 70:73:cb:b8:59:55
        media: autoselect mode 11ng hostap
        status: running
        ssid "AirPort Time Capsule" channel 1 (2412 Mhz 11g ht/20) bssid 70:73:cb:b8:59:55
        authmode WPA2/802.11i privacy ON deftxkey 2 AES-CCM 2:128-bit
        txpower 11 dotd mcastrate 2 scanvalid 60 protmode CTS ht20 -htcompat
        ampdulimit 64k ampdudensity 8 -amsdutx amsdurx shortgi stbc ldpc wme
        burst dwds dtimperiod 3 -dfs -inact rrm
wlan1: flags=e943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,LINK1,LINK2,MULTICAST> metric 0 mtu 1500
        options=80000<LRO4>
        extra flag=1<NOINET6>
        ether 70:73:cb:b8:59:56
        media: autoselect mode 11na hostap
        status: running
        ssid "AirPort Time Capsule" channel 100 (5500 Mhz 11a ht/40+) bssid 70:73:cb:b8:59:56
        authmode WPA2/802.11i privacy ON deftxkey 2 AES-CCM 2:128-bit
        txpower 17.5 dotd mcastrate 6 mgmtrate 6 scanvalid 60 -htcompat
        ampdulimit 64k ampdudensity 8 -amsdutx amsdurx shortgi stbc ldpc wme
        burst dwds dtimperiod 3 -inact rrm
bridge0: flags=8043<UP,BROADCAST,RUNNING,MULTICAST> metric 0 mtu 1500
        options=83f80<TSO4,IP4CSUM_Rx,IP4CSUM_Tx,TCP4CSUM_Rx,TCP4CSUM_Tx,UDP4CSUM_Rx,UDP4CSUM_Tx,LRO4>
        extra flag=2<PFQUICKPASS>
        ether 70:73:cb:b3:61:2a
        inet6 fe80::7273:cbff:feb3:612a%bridge0 prefixlen 64 scopeid 0x8
        inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
        priority 32768 hellotime 2 fwddelay 15
        maxage 20 holdcnt 6 proto stp maxaddr 100 timeout 1200
        member: wlan1 flags=3<LEARNING,DISCOVER>
        member: wlan0 flags=3<LEARNING,DISCOVER>
        member: mgi0 flags=3<LEARNING,DISCOVER>

На корпусе указан мак адрес тот же, что и у устройств mgi0, mgi1 и bridge0. Я так понимаю, что менять его надо именно у bridge0. Вопрос: как ему сменить мак-адрес? При попытке изменения получаю ошибку:

airport-time-capsule# ifconfig bridge0 ether d4:3d:7d:2d:80:d0
ifconfig: ioctl (SIOCAIFADDR): Inappropriate ioctl for device

Для mgi0 и mgi1 то же самое.

Вывод этого ifconfig не похож на вывод ifconfig из NetBSD. Не знаю, что там стоит, но скорее всего всё сильно патченое.

Здесь https://wiki.netbsd.org/tutorials/faking_a_mac_address/ написно, что смена MAC-адрес только с 5-ой версии, и с опцией ″link″, а не ″ether″. Там ещё что-то написано про засовывание в bridge0 интерфейса tap0, у которого задаётся mac через sysctl, может сработает...

mky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.