저는 Linux(Ubuntu 20.04) 컴퓨터에서 여러 장치(동일한 제조업체, 동일한 모델)와 통신해야 하는 프로젝트를 진행하고 있습니다. 단순화를 위해 고정 IP [192.168.0.A] 및 [192.168.0.B]를 사용하는 A와 B라는 두 개의 장치를 사용하겠습니다. Linux 컴퓨터(라고 함)시간ost)에는 각각 여러 개의 이더넷 포트가 있는 여러 개의 NIC가 있습니다. 다시 한번 간단하게 설명하기 위해 각각 3개의 이더넷 포트가 있는 2개의 NIC(NIC.x, NIC.y)를 사용하겠습니다. 포트의 IP 주소는 “192.168.0.x”입니다.질소”, 여기서 N은 1, 2 또는 3일 수 있습니다.
장치와 통신하려면 장치 제조업체에서 제공하는 SDK를 사용해야 하며 호스트 IP와 통신하려는 장치 IP를 지정해야 합니다. 문제는 여러 장치와 동시에 통신하려면 통신하려는 장치의 IP뿐만 아니라 호스트 IP도 제공해야 한다는 것입니다. 이 기능은 외부 스위치가 있고 모든 장치가 여기에 연결되어 있을 때 작동합니다. 내 경우에는 장치를 호스트 NIC에 연결하고 싶었지만 그렇게 하면 각 장치가 SDK에서 허용하지 않는 서로 다른 "호스트 IP"를 가지게 됩니다.
내가 찾은 해결책은 NIC.y의 "ip 링크"를 사용하여 브리지를 만들고 세 개의 포트를 모두 브리지에 추가하는 것이었습니다. 그런 다음 장치를 NIC.y2 및 NIC.y3에 연결하고 NIC.y1을 NIC.x3에 연결하고 NIC.x3을 고정 IP로 설정했습니다. 명확성을 위해 아래에 사진을 첨부했습니다.
제 질문은 외부 스위치를 추가하지 않고 이 작업을 수행할 수 있는 더 좋은 방법이 있습니까?입니다. 주로 NIC.y1과 NIC.x3을 연결하는 케이블을 제거하고 싶습니다.
요약하면 단일에서 고정 IP(192.168.0.A, 192.168.0.B, ...)가 있는 장치 목록과 고정 IP(192.168.0.H)가 있는 모든 장치 목록으로 끝나야 합니다. 호스트 다른 포트/NIC를 통해 물리적으로 연결되어 있어도 액세스할 수 있습니다.
답변1
리눅스에는 가상이라는 것이 있습니다다리여러 물리적 및 가상 이더넷 인터페이스로 구성된 네트워크를 구축하는 데 사용할 수 있는 장치입니다. 귀하의 경우에는 두 개의 y 포트가 있는 브리지와 고정 IP 주소가 연결된 가상 인터페이스를 설정합니다.