Neue Debian-Installation: Wie richte ich das Routing für den Überwachungskameraverkehr mit 2 Netzwerkkarten ein (eine davon ist ein 4-Port-PCI-Switch)?

Neue Debian-Installation: Wie richte ich das Routing für den Überwachungskameraverkehr mit 2 Netzwerkkarten ein (eine davon ist ein 4-Port-PCI-Switch)?

Ich habe eine neue Debian-Installation, auf der ich meinen Ubiquity NVR (Network Video Recorder) installiert habe, und bisher läuft alles gut. Die Kameras sind derzeit über ein externes Switch-Gerät mit dem U-verse-Router verbunden.

Der PC verfügt über ein Realtek Gigabit auf der Hauptplatine, das mit meinem U-verse-Router (und dem Rest meines Netzwerks) verbunden ist. Er verfügt über eine zweite Realtek PCI Fast Ethernet-Karte, die ein 4-Port-Switch (DNR-17746) ist.

Ich möchte den PCI-4-Port-Switch verwenden, um alle meine Kameras mit dem Rekorder zu verbinden und den Datenverkehr in meinem LAN zu reduzieren. Außerdem möchte ich den 4-Port-PCI-Switch verwenden, da der U-verse-Router nicht immer zuverlässig ist. Er scheint zu oft ausgeschaltet zu werden und die Verbindung zu verlieren. Daher habe ich mir überlegt, dass die Software mit der Aufnahme der Kameras auf der 4-Port-PCI-Karte fortfahren kann, selbst wenn der U-verse-Router ausfällt. Ich wollte die NVR-Software und die Kameras unabhängig vom Rest des Netzwerks machen, damit es weniger Ausfallpunkte gibt. Die Software stellt die Verbindung zum Internet wieder her und synchronisiert die Aufnahmen, wenn das Internet wiederhergestellt ist.

Daher glaube ich, dass ich unter Debian ein Routing installieren muss, damit die Livebilddaten der Kamera nur über den PCI-4-Port-Switch an die auf demselben PC installierte Aufnahmesoftware übertragen werden.

Die Software erkennt Bewegungen und zeichnet auf, aber die Live-Ansicht ist immer eingeschaltet. Die aufgezeichneten Videos werden dann automatisch auf einen Cloud-Dienst hochgeladen. Manchmal verbinde ich mich per Fernzugriff mit der Aufnahmesoftware, um die Live-Ansicht anzuzeigen, sodass weiterhin eine Passthrough-Verbindung zum Internet erforderlich ist.

für mich ist das alles zu kompliziert! Ich konnte jedoch eth0 und eth1 mit br0 verbinden und das funktioniert auch, aber es findet kein Verkehrsrouting statt. Um es (für mich) noch schlimmer zu machen, möchte ich, dass das Routing für den U-verse-Router transparent ist. Wenn ich einen anderen Router (extern) anschließe, erhalte ich Fehlermeldungen, dass auf dem U-verse-Router doppeltes NAT erkannt wurde.

Ich habe gelesen, dass das Routing bei Verwendung von ebtables (vielleicht anstelle von iptables) auf der MAC-Schicht basiert und hoffentlich mit meinem U-verse-Router besser funktioniert.


3.16.0-4-amd64 #1 SMP Debian 3.16.39-1+deb8u2 (07.03.2017)

PRETTY_NAME="Debian GNU/Linux 8 (jessie)"
NAME="Debian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=debian

01:00.0 Ethernet-Controller: Realtek Semiconductor Co., Ltd. RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (Rev. 10)
Subsystem: Realtek Semiconductor Co., Ltd. RTL-8100/8101L/8139 PCI Fast Ethernet Adapter
Verwendeter Kerneltreiber: 8139too

02:00.0 Ethernet-Controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Rev. 02)
Subsystem: Hewlett-Packard Company Asus IPIBL-LB Motherboard
Verwendeter Kerneltreiber: r8169

Der 4-Port PCI Fast Ethernet Adapter hat 2 Realtek-Chips: RTL8305SC und RTL8100CL. Auf der Platine ist DNR-17746 aufgedruckt, aber keine weiteren Informationen.

Antwort1

Zunächst einmal ist dies wahrscheinlich kein Problem, wenn Sie ein Gigabit-Netzwerk haben. Die meisten kleinen Gigabit-Switches können die volle Bandbreite zwischen jeder beliebigen Port-Gruppe bereitstellen. Auch wenn Ihre Kameras also jeweils einen 20-Mbit-Stream an die Videobox senden, sind das 20 Mbit/s an jedem ihrer Ports und 80 Mbit/s am PC-Port – weniger als 10 % Auslastung für Gigabit, sogar am PC-Port. Und die anderen Ports am Switch sollten davon nicht betroffen sein. Zwei unabhängige Ports sollten trotzdem das volle Gigabit zwischen sich erhalten.

Zweitens klingt Bridging nach dem, was Sie wollen. Bridging basiert auf MAC-Adressen; Routing basiert auf IP-Adressen. Wenn Sie NAT und iptables hatten, hatten Sie wahrscheinlich eine Art Routing eingerichtet, kein Bridging.

Unter Debian ist die Einrichtung einer Bridge wahrscheinlich am einfachsten über /etc/network/interfaces. Sie müssen bridge-utilsinstalliert sein. Beachten Sie auch, dass eine Bridge eine virtuelle Schnittstelle auf dem Computer ist und Sie normalerweise die IP-Adresse des Computers auf diese Schnittstelle setzen (und nicht auf eine der beiden echten Ethernet-Schnittstellen). Das sieht so aus:

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

Ansonsten sollte eth0und eth1nicht in der Schnittstellendatei erscheinen. Sie müssen keine statischen IPs verwenden (obwohl mein Beispiel das tut). Das Wichtigste sind diese bridge_*Zeilen. Ports gibt an, welche Ethernet-Schnittstellen überbrückt werden sollen; _stp ist ein Protokoll für mehrere Brücken, um zu kommunizieren und Schleifen zu vermeiden (in einem kleinen Netzwerk sicherlich nicht erforderlich); _fd gibt an, wie lange zwischen dem Hochfahren der Schnittstelle und dem tatsächlichen Weiterleiten von Paketen gewartet werden soll (Standard ist länger, um die STP-Einrichtung zu ermöglichen), _maxwait gibt an, wie lange gewartet werden soll, bis die Ports hochgefahren sind, bevor mit ihnen weitergefahren wird. All dies ist dokumentiert inman 5 bridge-utils-interfaces

(Es gibt auch andere Möglichkeiten, eine Bridge zu konfigurieren. Network Manager kann das. Systemd hat seine eigene Methode.)

verwandte Informationen