새로운 데비안 설치: NIC 2개(하나는 4포트 PCI 스위치)로 보안 카메라 트래픽 라우팅을 설정하는 방법은 무엇입니까?

새로운 데비안 설치: NIC 2개(하나는 4포트 PCI 스위치)로 보안 카메라 트래픽 라우팅을 설정하는 방법은 무엇입니까?

Ubiquity NVR(네트워크 비디오 레코더)을 설치한 새 Debian 설치가 있는데 지금까지는 모든 것이 잘 작동합니다. 카메라는 현재 외부 스위치 장치를 통해 U-verse 라우터에 연결되어 있습니다.

PC에는 내 U-verse 라우터(및 나머지 네트워크)에 연결된 마더보드에 Realtek Gigabit이 있습니다. 4포트 스위치(DNR-17746)인 두 번째 Realtek PCI 고속 이더넷 카드가 있습니다.

내가 원하는 것은 PCI 4 포트 스위치를 사용하여 모든 카메라를 레코더에 연결하고 LAN의 트래픽을 줄이는 것입니다. 게다가 U-verse 라우터가 항상 안정적이지는 않기 때문에 4포트 PCI 스위치를 사용하고 싶습니다. 전원을 껐다 켜거나 연결이 자주 끊어지는 것 같습니다. 그래서 카메라를 4포트 PCI 카드에 장착하면 U-verse 라우터가 실패하더라도 소프트웨어가 계속 녹화할 수 있을 것이라고 생각했습니다. NVR 소프트웨어와 카메라가 네트워크의 나머지 부분과 독립적으로 작동하여 오류 지점이 줄어들기를 원했습니다. 인터넷이 다시 연결되면 소프트웨어가 인터넷에 다시 연결되고 녹음 내용을 동기화합니다.

따라서 카메라 라이브 뷰 데이터가 PCI 4 포트 스위치를 통해서만 동일한 PC에 설치된 녹화 소프트웨어로 이동하도록 하려면 데비안에 라우팅을 설치해야 한다고 생각합니다.

소프트웨어는 동작을 감지하고 녹화하지만 라이브 뷰는 항상 켜져 있습니다. 녹화된 비디오는 클라우드 서비스에 자동으로 업로드됩니다. 라이브 뷰를 보기 위해 녹화 소프트웨어에 원격으로 연결하는 경우가 있기 때문에 여전히 인터넷 연결이 필요합니다.

나에게 이것은 너무 복잡하다! 그러나 eth0과 eth1을 br0에 연결할 수 있었고 이 역시 작동하지만 트래픽 라우팅이 발생하지 않습니다. 상황을 더 나쁘게 만들기 위해 (저에게는) 라우팅이 U-verse 라우터에 투명해지기를 원합니다. 다른 라우터(외부)를 연결하면 U-verse 라우터에서 이중 NAT가 감지되었다는 오류 메시지가 나타납니다.

ebtables(iptables 대신)를 사용하면 라우팅이 MAC 계층 기반이고 U-verse 라우터에서 더 잘 작동할 수 있다는 내용을 읽었습니다.


3.16.0-4-amd64 #1 SMP 데비안 3.16.39-1+deb8u2 (2017-03-07)

PRETTY_NAME="Debian GNU/Linux 8 (제시)"
NAME="데비안 GNU/리눅스"
VERSION_ID="8"
버전="8 (제시)"
ID=데비안

01:00.0 이더넷 컨트롤러 : Realtek Semiconductor Co., Ltd. RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (rev 10)
하위 시스템: Realtek Semiconductor Co., Ltd. RTL-8100/8101L/8139 PCI 고속 이더넷 어댑터
사용 중인 커널 드라이버: 8139too

02:00.0 이더넷 컨트롤러: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 02)
하위 시스템: Hewlett-Packard Company Asus IPIBL-LB 마더보드
사용 중인 커널 드라이버: r8169

4포트 PCI 고속 이더넷 어댑터에는 RTL8305SC 및 RTL8100CL이라는 2개의 Realtek 칩이 있습니다. 보드에는 DNR-17746이 인쇄되어 있지만 다른 정보는 없습니다.

답변1

우선, 기가비트 네트워크가 있다면 이는 문제가 되지 않을 것입니다. 대부분의 소형 기가비트 스위치는 모든 포트 그룹 간에 전체 대역폭을 제공할 수 있습니다. 따라서 카메라가 각각 20mbit 스트림을 비디오 박스로 전송하더라도 이는 각 포트에서 20인치이고 PC 포트에서 80mbps입니다. PC 포트에서도 기가비트 사용량은 10% 미만입니다. 그리고 스위치의 다른 포트에 영향을 주어서는 안 됩니다. 관련되지 않은 두 포트는 여전히 그들 사이에서 전체 기가비트를 확보해야 합니다.

둘째, 브리징은 원하는 대로 들립니다. 브리징은 MAC 주소를 기반으로 합니다. 라우팅은 IP 주소를 기반으로 합니다. NAT와 iptables가 있다면 브리징이 아닌 일종의 라우팅이 설정되었을 것입니다.

데비안에서 브리지를 설정하는 가장 쉬운 방법은 아마도 /etc/network/interfaces. 설치가 필요할 것입니다 bridge-utils. 또한 브리지는 머신의 가상 인터페이스이며 일반적으로 머신의 IP 주소를 해당 인터페이스에 입력합니다(두 개의 실제 이더넷 인터페이스 중 하나가 아님). 다음과 같습니다.

auto br0
iface br0 inet static
        address A.B.C.D
        netmask E.F.G.H
        gateway I.J.K.L
        bridge_ports eth0 eth1
        bridge_stp off
        bridge_fd 2
        bridge_maxwait 20

그 외에는 인터페이스 파일에 나타나서는 안 됩니다 eth0. eth1고정 IP를 사용할 필요는 없습니다(제 예에서는 사용하지만). 중요한 것은 그 bridge_*선들입니다. 포트는 브리지할 이더넷 인터페이스를 나타냅니다. _stp는 여러 브리지가 통신하고 루프를 방지하기 위한 프로토콜입니다(물론 소규모 네트워크에서는 필요하지 않음). _fd는 인터페이스를 표시하고 실제로 패킷을 전달하는 사이에 대기하는 시간입니다(기본값은 STP 설정을 허용하기 위해 더 깁니다). _maxwait는 포트를 계속 종료하기 전에 포트가 표시될 때까지 기다리는 시간입니다. 이 모든 내용은 다음 문서에 문서화되어 있습니다.man 5 bridge-utils-interfaces

(브리지를 구성하는 다른 방법도 있습니다. Network Manager가 이를 수행할 수 있습니다. Systemd에는 고유한 방법이 있습니다.)

관련 정보