초기 설정
Linux 관리자는 6 개의 NIC eth0 ~ eth5를 가진 새로운 Linux 박스를 설치했습니다. eth0 인터페이스가 올바르게 구성되었고 다른 모든 인터페이스는 현재 작동하지만 IP 주소는 없습니다. 네트워크 담당자는이 상자에 케이블 4 개를 간단히 연결했습니다. 상자를 프로덕션 네트워크에 연결하는 데 2 개의 LAN 케이블이 사용되고 상자를 개인 네트워크에 연결하는 데 2 개가 사용됩니다. eth0이 프로덕션 네트워크에 연결되어 있다는 것만 알고 있습니다. 그러나 다른 서버 세대가 있거나 네트워크 담당자가 연결에 잘못된 NIC를 사용함에 따라 동일한 스위치에 어떤 다른 NIC가 연결되어 있는지 알 수 없습니다.
수작업
이 설정은 인프라에 일반적인 것이기 때문에 본딩 인터페이스 구성을 자동화하려고합니다. 이제 전혀 연결되지 않은 NIC와 동일한 스위치에 연결된 NIC를 감지하여 본딩 될 수 있습니다. Linux 상자에만 액세스 할 수 있으며 스위치를 쿼리 할 수 없습니다.
아이디어
링크 상태를 쉽게 감지 할 수 있습니다.
ethtool $device | grep 'Link detected' | cut -d ':' -f 2
그러나 동일한 스위치에 연결된 장치를 일치시키는 방법은 무엇입니까?
HP-UX에는 linkloop [1] 이라는 도구가 있습니다. 공식적인 리눅스 도구가 없습니다 (그러나 오래된 SourceForce 프로젝트가 있습니다).
이미 내 마음에 온 가능한 해결책은 다음과 같습니다.
tcpdump를 사용하여 모든 인터페이스에서 청취하십시오. ICMP (브로드 캐스트) 패킷을 제작하여 보냅니다. 패킷을 보는 인터페이스는 동일한 스위치에 연결되어야합니다. -> 간단한 도구에 대한 제안이 필요합니다. 스크립팅에 일반 쉘 명령 또는 Python을 사용하고 싶습니다.
쉬운 프로토콜 (HTTP?)을 통해 외부 상자와 대화하고 응답이 있는지 확인하십시오. -> 오류가 발생하기 쉽고 외부 상자에 따라 다릅니다.
이 작업을 해결하는 방법에 대한 추가 아이디어 나 제안이 있습니까?
모든 의견에 미리 감사드립니다!