新しい Debian インストール: 2 つの NIC (1 つは 4 ポート PCI スイッチ) を使用してセキュリティ カメラ トラフィックのルーティングを設定するにはどうすればよいでしょうか?

新しい Debian インストール: 2 つの NIC (1 つは 4 ポート PCI スイッチ) を使用してセキュリティ カメラ トラフィックのルーティングを設定するにはどうすればよいでしょうか?

新しい Debian をインストールして、Ubiquity NVR (ネットワーク ビデオ レコーダー) をインストールしましたが、今のところすべて順調です。カメラは現在、外部スイッチ デバイス経由で U-verse ルーターに接続されています。

PC のマザーボードには Realtek Gigabit が搭載されており、U-verse ルーター (およびネットワークの残りの部分) に接続されています。2 つ目の Realtek PCI Fast Ethernet カードは 4 ポート スイッチ (DNR-17746) です。

私がやりたいのは、PCI 4 ポート スイッチを使用してすべてのカメラをレコーダーに接続し、LAN 上のトラフィックを減らすことです。さらに、U-verse ルーターは常に信頼できるわけではないので、4 ポート PCI スイッチを使用したいと思います。頻繁に電源が切れて接続が失われるようです。そこで、4 ポート PCI カードにカメラを取り付ければ、U-verse ルーターが故障してもソフトウェアが録画を続行できると考えました。NVR ソフトウェアとカメラをネットワークの残りの部分から独立させて、故障ポイントを少なくしたいと考えました。インターネットが復旧すると、ソフトウェアはインターネットに再接続し、録画を同期します。

したがって、カメラのライブ ビュー データが PCI 4 ポート スイッチを経由して、同じ PC にインストールされている録画ソフトウェアにのみ送信されるようにするには、Debian にルーティングをインストールする必要があると思います。

ソフトウェアは動きを検知して録画しますが、ライブ ビューは常にオンになっています。録画されたビデオは、クラウド サービスに自動的にアップロードされます。ライブ ビューを表示するために録画ソフトウェアにリモート接続することがあるため、インターネットへのパススルーが必要です。

私にとっては、これはすべて複雑すぎます。ただし、eth0 と eth1 を br0 にブリッジすることはできましたが、これも機能しますが、トラフィック ルーティングは行われません。さらに悪いことに (私にとって)、ルーティングを U-verse ルーターに対して透過的にしたいのです。別のルーター (外部) を接続すると、U-verse ルーターで二重 NAT が検出されたというエラー メッセージが表示されます。

ebtables (おそらく iptables の代わりに) を使用すると、ルーティングは MAC レイヤー ベースになり、U-verse ルーターでより適切に動作するようになると読みました。


3.16.0-4-amd64 #1 SMP Debian 3.16.39-1+deb8u2 (2017-03-07)

PRETTY_NAME="Debian GNU/Linux 8 (jessie)"
名前="Debian GNU/Linux"
バージョンID = "8"
バージョン="8 (ジェシー)"
ID=デビアン

01:00.0 イーサネット コントローラ: Realtek Semiconductor Co., Ltd. RTL-8100/8101L/8139 PCI ファスト イーサネット アダプタ (rev 10)
サブシステム: Realtek Semiconductor Co., Ltd. RTL-8100/8101L/8139 PCI ファスト イーサネット アダプタ
使用中のカーネル ドライバー: 8139too

02:00.0 イーサネット コントローラ: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express ギガビット イーサネット コントローラ (rev 02)
サブシステム: Hewlett-Packard Company Asus IPIBL-LB マザーボード
使用中のカーネル ドライバー: r8169

4 ポート PCI ファースト イーサネット アダプタには、2 つの Realtek チップ (RTL8305SC と RTL8100CL) が搭載されています。ボードには DNR-17746 と印刷されていますが、その他の情報はありません。

答え1

まず、ギガビット ネットワークをお持ちの場合は、おそらく問題にはなりません。ほとんどの小型ギガビット スイッチは、ポートのグループ間で完全な帯域幅を提供できます。そのため、カメラがビデオ ボックスにそれぞれ 20 メガビットのストリームを送信している場合でも、各ポートで 20 Mbps の入力、PC のポートで 80 Mbps の出力となり、PC ポートでもギガビットの使用率は 10% 未満になります。また、スイッチの他のポートには影響しません。関連のない 2 つのポート間では、完全なギガビットが提供されるはずです。

2 番目に、ブリッジングは必要なことのように思えます。ブリッジングは MAC アドレスに基づいており、ルーティングは IP アドレスに基づいています。NAT と iptables を使用している場合は、ブリッジングではなく、何らかのルーティングが設定されている可能性があります。

Debian では、ブリッジを設定する最も簡単な方法はおそらく を使用することです/etc/network/interfaces。 をインストールする必要がありますbridge-utils。また、ブリッジはマシン上の仮想インターフェイスであり、通常はそのインターフェイスにマシンの IP アドレスを設定します (2 つの実際の Ethernet インターフェイスのどちらにも設定しません)。次のようになります。

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_*行です。Ports は、どの Ethernet インターフェースをブリッジするかを指定します。_stp は、複数のブリッジが通信してループを回避するためのプロトコルです (小規模ネットワークでは必要ありません)。_fd は、インターフェースを起動してから実際にパケットを転送するまでの待機時間です (デフォルトは、STP セットアップを可能にするため、より長くなります)。_maxwait は、ポートが起動してからダウン状態を続けるまでの待機時間です。これらはすべて、man 5 bridge-utils-interfaces

(ブリッジを構成する方法は他にもあります。Network Manager で実行できます。Systemd には独自の方法があります。)

関連情報