Вот реальный сценарий. Я сказал, что 4 машины, не имеющие IP-адреса, еще подключены к коммутатору. На одной из машин (OS = CentOS) я бы установил DHCP-сервер и предоставил бы другим машинам IP-адреса. Прежде чем назначать им IP-адреса, мне нужно получить MAC-адрес каждой из машин, которым я бы назначил IP-адреса.
Итак, мой вопрос заключается в том, как мне получить MAC-адреса всех машин, подключенных к коммутатору, когда НИКАКАЯ машина еще не имеет IP-адреса?
Для моего варианта использования обязательно, чтобы у меня не было никаких IP-адресов перед MAC-адресами.
-Спасибо
Коммутаторы Ethernet не имеют возможности показать вам mac-адреса конечных станций до того, как конечные станции отправят трафик; Коммутаторы Ethernet знают, какой Mac-адрес подключен, просматривая поле Mac-адреса источника трафика ПК.
Если вы используете 802.1x
аутентификации, у вас есть крошечный промежуток времени, чтобы получить эту информацию, прежде чем они получат IP-адрес от DHCP, но сделать это надежно в реальном мире невозможно; все происходит слишком быстро.
Если вам нужно заранее узнать mac-адреса, то перейдите на все ПК и проведите инвентаризацию.
Ммммм ...
Странный сценарий ... Не могу придумать ни одной ситуации, в которой это имело бы смысл ...
Но все таки:
Настройте DHCP-сервер на предоставление только зарезервированных адресов (на основе MAC) и БЕЗ динамического пула DHCP.
Таким образом, клиенты могут запрашивать адреса DHCP в течение всего дня, но не получат их, пока вы не добавите их к зарезервированным адресам.
Но поскольку клиенты пытаются получить DHCP, их MAC-адреса будут изучены и сохранены в таблице CAM коммутатора.
Насколько я знаю, вы не можете получить их с самого сервера. Обычно mac-адреса можно увидеть в кэше ARP (команда arp -a в большинстве операционных систем), но это только ПОСЛЕ того, как IP-адрес связан с MAC-адресом.
Если машины никогда не общались с сетью, это невозможно, но если они связывались с коммутатором хотя бы один раз и коммутатор поддерживает протокол SNMP, вы можете попытаться запросить таблицу ARP коммутатора.
Но имея всего четыре машины, просто подойдите к ним и запишите MAC.