격리된 네트워크에 대해 동일한 서브넷을 갖도록 여러 NIC를 구성할 때 잠재적인 문제가 있습니까?

격리된 네트워크에 대해 동일한 서브넷을 갖도록 여러 NIC를 구성할 때 잠재적인 문제가 있습니까?

체계

나는 eth0, eth1 및 wlan0과 같은 여러 NIC가 있는 라이브 사용을 위한 ARM Linux(커널 3.17)를 가지고 있습니다. 왼쪽에서는 데이터 기록 빈도, 채널 전원 켜기 등과 같은 동작을 변경할 수 있도록 PC0을 사용하여 ARM Linux를 구성해야 합니다. 또한 고객의 장치가 ARM Linux 시스템에서 데이터를 읽을 수 있도록 현장 직원이 eth1의 IP 주소를 구성할 수 있습니다. 간단한 데이터 검색(예: ftp)을 수행하려면 eth0과 eth1을 수신해야 합니다.

PC0 <---left side---> [eth0  ARM Linux eth1]<---right side:a bunch of devices>

필요하다

  1. 코딩을 단순화하기 위해 직렬 포트나 USB 대신 구성에 eth0을 사용합니다. 그래서 우리는 두 개의 이더넷(그리고 하나의 Wi-Fi)을 사용합니다. Linux를 부팅할 때 스크립트를 사용하여 Eth0 IP를 정적으로 할당합니다.
  2. 고객이 eth1에 어떤 IP를 지정할지 예측할 수 없습니다. 이를 지정하기 위해 PC0의 GUI 소프트웨어를 사용합니다. DHCP 서버를 사용하지 않습니다.
  3. 왼쪽에는 PC0이 하나만 있습니다. 오른쪽에는 다른 많은 장치가 있습니다. 클라이언트는 우리가 PC를 사용하여 오른쪽에 참여하는 것을 원하지 않을 수도 있습니다. 따라서 ARM Linux 장치를 구성하려면 eth1을 사용하는 대신 eth0을 사용해야 합니다.
  4. 왼쪽이 오른쪽에 닿아서는 안됩니다. 격리된 네트워크여야 합니다. 그들은 모두 근거리 통신망입니다. 어느 누구도 인터넷에 접속할 수 없습니다. ARM Linux는 브리지나 라우터가 아닙니다.
  5. ARM Linux 애플리케이션은 요청을 듣고 응답합니다. 그것은 결코 아무것도 시작하지 않습니다. 응답은 요청이 들어온 동일한 NIC를 통해서만 전송되어야 합니다.

질문

eth0 및 PC0에 대해 사전 정의된 IP가 있으므로 고객이 실수로 네트워크에 동일한 서브넷을 사용할 수 있습니다. 고객이 많아서 이런 일이 일어날 수도 있습니다.

  1. Linux와 TCP 스택이 혼동됩니까? 계속해서 원활하게 실행되도록 하는 방법이 있나요?
  2. PC0이 실수로 오른쪽 장치 중 하나와 동일한 IP를 갖게 되면 어떻게 되나요? 이제 Linux와 TCP 스택이 혼동됩니까? 작동하게 하는 방법이 있나요?
  3. 내 eth0의 IP 주소가 오른쪽 장치 중 하나와 동일하면 어떻게 되나요?
  4. eth0이 eth1과 동일한 IP를 갖고 있다면 어떻게 될까요?

이 상황이 어리석게 들리는 건 알지만, 문제를 예상하고 피할 수 있도록 큰 소리로 생각합니다. 따라서 eth0과 eth1(및 Wi-Fi)을 동일한 서브넷에 격리해야 하는 문제가 많은 경우 고객에게 특수 서브넷을 예약하고 이를 사용해서는 안 된다고 말할 수 있습니다.

관련 정보