Отказ от ответственности: новичок в Linux, использую Raspbian Light на Pi 3. Доступ только по SSH.
Я пытаюсь найти MAC-адрес с помощью ping / arp:
ping 192.168.1.7
arp 192.168.1.7
Возвращает:
Address HWtype HWaddress Flags Mask Iface
192.168.1.7 ether 02:0f:b5:ed:9e:5c C eth0
HW-адрес отличается от MAC-адреса, который я вижу в Windows:
ping 192.168.1.7
arp -a 192.168.1.7
Это приводит к:
Internet Address Physical Address Type
192.168.1.7 c0-ee-fb-ed-9e-5c dynamic
Топология сети
Pi на кабеле (.27) → переключатель на кабеле → маршрутизатор (.1)
Телефон на Wi-Fi (.7) → маршрутизатор (.1)
Windows на Wi-Fi (.30) → маршрутизатор (.1)
Как мне вернуть мой Pi к тому же Mac?
Примечание: похоже, что часть «поставщик» отличается. Так что это «почти» верно?
решение1
Лучшая догадка: ваш RaspPi подключен к маршрутизатору через LAN, в то время как "целевой" телефон и ПК с Windows подключены через WLAN. Это означает, что хотя телефон и ПК с Windows находятся в одном сегменте и ARP работает как задумано, обычно LAN и WLAN не будут находиться в одном сегменте.
С тех пор ониказатьсячтобы быть в том же сегменте (тот же префикс /24), я предполагаю, что маршрутизатор делает что-то необычное, чтобы это работало, например, MAC NAT черезebtables. На это также указывает тот факт, что «поддельный» MAC-адрес отличается только префиксом поставщика, а префикс поставщика, похоже, недействителен.
Вы можете проверить это, подключив свой ПК с Windows к маршрутизатору через локальную сеть (кабель) и посмотреть, какой MAC-адрес он сообщает в этом случае.
Другой способ проверить это — получить root-доступ к маршрутизатору и посмотреть, что происходит внутри.
Редактировать
Если эта догадка верна, то это простомаршрутизаторпроблема, а не проблема Linux против Windows. Windows также найдет "неправильный" MAC-адрес, если ПК с Windows подключен через LAN, а целевой телефон подключен через WLAN.Каждыйустройство, подключенное через WLAN, увидит «неправильный» MAC-адрескаждыйустройство, подключенное через локальную сеть, и наоборот.
И вы не можете "обойти" это, если только вы не можете настроить свой маршрутизатор, чтобы отключить это. В этом случае у вас, вероятно, будут разные подсети для LAN и WLAN, и RaspPi в LAN не увидит MAC ни одного устройства в WLANсовсем(и наоборот), хотя они могут общаться друг с другом.
Именно так и работает сетевое взаимодействие.
Вопрос в следующем: Зачем вам вообще нужен «правильный» MAC-адрес? Он вам не нужен.
решение2
Команда arp
выдаст вам правильный MAC-адрес сетевого интерфейса rpi, и вы можете проверить его следующим образом:
ssh [email protected]
sudo cat /sys/class/net/eth0/address
Это c0-ee-fb-ed-9e-5c
MAC-адрес вашего телефона One Plus.