동일한 이더넷 브리지에 연결된 장치의 MAC 또는 IP 주소를 어떻게 찾나요?

동일한 이더넷 브리지에 연결된 장치의 MAC 또는 IP 주소를 어떻게 찾나요?

다음 토폴로지가 있습니다.

DeviceX ------
              |
 DeviceX bridge with two Ethernet cards 
      (created with bridge-utils) ---------------- router 
              |                                      |
              |                                      |
DeviceY ------                                       |
                                                     |
                                     other devices on the same network 
                                       (switches, PCs, WiFi devices)

bridge-utils나는 DeviceX에 대한 완전한 제어권을 가지고 있습니다. 이것은 DeviceX와 DeviceY에 LAN 액세스를 제공하기 위해 Linux에 브리지되는 두 개의 이더넷 어댑터가 있는 Linux PC입니다 .

DeviceY도 Linux PC인데 제가 제어할 수가 없어요. 내가 아는 것은 DeviceX의 브리지를 통해 라우터로부터 받는 DHCP IP 주소를 사용한다는 것뿐입니다. DeviceY는 언제든지 다른 물리적 장치로 교체될 수 있으므로 MAC 주소를 한 번만 보고 유지할 수는 없습니다. DeviceX가 부팅하거나 두 개의 이더넷 중 하나를 감지할 때마다 MAC 주소가 재설정되었는지 확인해야 합니다. 연결(케이블이 끊어졌다가 다시 연결하는 등).

항상 이 두 장치만 DeviceX의 브리지에 연결되고 다른 장치는 연결되지 않도록 하십시오.

라우터에 다른 많은 장치가 연결되어 있을 수 있지만 항상 두 개의 이더넷 포트 중 하나에 직접 연결되는 DeviceY의 주소만 필요합니다.

라우터 자체의 주소도 알고 있다면 거래 중단이 아닐 것입니다. 라우터와 두 장치의 주소만 가지고 있는 한 사전에 알려지고 필터링할 수 있습니다. DeviceY.

이제 질문은 다음과 같습니다. DeviceX에서 DeviceY의 MAC 또는 IP 주소를 안정적으로 찾는 방법은 무엇입니까?

추가 정보: DeviceY는 LAN의 다른 모든 장치와 동일한 LAN에 있어야 하므로 DeviceX에서 bridge-utils를 사용하고 있습니다. DeviceX에서 DeviceY로의 사용자 지정 경로는 새 서브넷을 생성하고 NAT가 필요하며 DeviceY가 예상대로 작동하지 않도록 하는 옵션이 아닙니다. Bridge-utils는 가장 간단한 솔루션입니다.

답변1

브리지 또는 스위치는 브로드캐스트 도메인의 두 네트워크 세그먼트를 연결하고 유니캐스트 트래픽을 격리하는 장치입니다.

이를 위해 브리지는 어떤 포트가 특정 Mac 주소에 도달하는지 기록하는 전달 테이블을 유지 관리합니다. 새로운 이더넷 소스 주소로 새로운 패킷이 수신되면 테이블이 채워지고 한동안 표시되지 않은 MAC 주소가 제거됩니다.

브리지/스위치가 특정 MAC 주소에 대한 프레임을 수신하면 해당 MAC 주소가 전달 테이블에 있는 경우에만 해당 포트에 프레임을 보내고, 그렇지 않으면 모든 포트에 프레임을 보냅니다.

Linux 구현도 예외는 아닙니다.

다음 명령을 사용하여 전달 테이블을 쿼리할 수 있습니다.

 brctl showmacs <bridge-name>

그리고 /sys/class/net/<bridge-name>/brforward(바이너리) 형태로 제공될 수도 있습니다.

다음 명령을 사용하여 포트 번호와 인터페이스 이름 간의 매핑을 가져올 수 있습니다.

 grep . /sys/class/net/vmbr0/brif/*/port_no

iproute2또는 최신 버전의 새로운 Linux 네트워크 유틸리티 제품군이 설치된 시스템을 사용하는 경우 다음 명령을 사용하여 인터페이스 이름이 포함된 전달 테이블을 가져올 수 있습니다.

 bridge fdb show br <bridge-name>

또는 특정 인터페이스나 브리지를 통해 연결할 수 있는 모든 MAC 주소를 알아보세요. 예 eth0:

 bridge fdb show br <bridge-name> brport <interface-name>

답변2

이 명령은 arp모든 IP와 해당 MAC을 표시하며, 네트워크에는 두 대의 컴퓨터와 라우터만 있으므로 귀하 또는 라우터의 IP가 아닌 IP를 가지고 있고 네트워크의 IP를 가진 컴퓨터를 쉽게 식별할 수 있습니다.

관련 정보