正しく設定する方法を見つけるのに苦労しています。私はそれを説明するためにGoogleのクエリをほとんど定式化することができないので、最善を尽くします。
2つのネットワークカードを持つUbuntu PCがあります。
eth0(192.168.1.0)はデフォルトのデフォルトゲートウェイに接続されてインターネットに接続され、
eth1(192.168.176.0)は複数のIPカメラが接続されているネットワークスイッチに接続されます。
ルータPCでIP転送、iptablesルール、およびホストを有効にしました。 eth1ネットワーク上のホストは、インターネットとeth0ネットワーク上の他のホストにアクセスできます。だから良いです。
今やりたいことは、eth0ネットワーク上のホストがeth1ネットワーク上のホストにアクセスできるようにすることです。
コンピュータはeth0ネットワークにありますが、ウェブカメラはeth1ネットワークにあります。 2 つの NIC カードを搭載したコンピュータはブリッジとして機能します。最終的に私はeth0のコンピュータがeth1のIPカメラを見ることができるようにしたいと思います。
マッピング試行中:192.168.1.1のホストは192.168.176.1のホストを表示できるはずですが、表示できません。
192.168.176.1のホストは192.168.1.1のホストを見ることができます(これらのホストはインターネットにもアクセスできます)。だからここではすべてが大丈夫です。
これまで、私はこれらのIPルールを持っており、eth1ネットワークが出ることを許可しています。
iptables --table nat --append POSTROUTING --out-interface enp1s0 -j MASQUERADE
iptables --append FORWARD --in-interface enp3s0 -j ACCEPT
私の質問は:eth0ネットワークがeth1ネットワークのホストにどのように到達するのですか?
eth1ネットワークにアクセスしたい各コンピュータにパスを追加する必要がありますか?
ルータPCでeth0とeth1インターフェイス間の転送を設定する必要がありますか?
現在、追加のルーティングコマンド、/etc/network/interfaces、およびiptablesルールは次のとおりです。
(Macでは:) sudo パス -n 追加 -net 192.168.176.0/24 192.168.1.1(NICが2台のパソコンの場合) /etc/ネットワーク/インターフェース #メインインターフェース enp3s0 自動enp1s0 iface enp1s0 inet 静的 住所 192.168.1.12 ネットマスク 255.255.255.0 ネットワーク 192.168.1.0 ゲートウェイ 192.168.1.1 DNSネームサーバー8.8.4.4 8.8.8.8
#セカンダリインターフェイスenp3s0 自動enp3s0 iface enp3s0 inet 静的 住所 192.168.176.1 ネットマスク 255.255.255.0 放送 192.168.176.255 ネットワーク 192.168.176.0
(NICが2台のパソコンの場合) iptables -t フィルタ-A 転送-i enp1s0 -o enp3s0 -j 受け入れ iptables -t フィルタ-A 転送-i enp3s0 -o enp1s0 -j 受け入れ iptables -t nat -A POSTROUTING -j MASQUERADE
答え1
問題は主にホストのルーティング構成です。現在の設定は次のとおりです。
- enp1s0 インターフェイスの IP アドレスは 192.168.1.1/24 です。
- enp3s0 インターフェイスの IP アドレスは 192.168.176.1/24 です。
2 つの IP ネットワーク間のホストが通信するには、ルーティングテーブルに専用エントリが必要です。
- ネットワークカメラに接続する必要がある192.168.1.0/24のホストは、192.168.1.1が192.168.176.0/24のルーターであることに注意してください。
- 192.168.176.0/24 のホストには 192.168.1.0/24 へのパスが必要です。
これで、IPカメラの静的/ DHCP設定がデフォルトトラフィックを192.168.176.1経由でルーティングして、パケットをPCに送信する場所を知ることができると仮定します。ただし、192.168.1.0/24のPCには、インターネットルーターと呼ばれる基本項目が1つしかありません。したがって、192.168.176.0/24に送信されたすべてのパケットはそこに送信され失われます。
あなたはできます
- 「クラスレス固定パス」オプションを使用して、192.168.1.1を介して192.168.176.0/24まで固定パスを通知するように192.168.1.0/24でDHCPルーターを構成します。
- 192.168.1.1をPCの192.168.176.0/24のゲートウェイとして手動で追加
また、iptablesルールを更新する必要があります。 POSTROUTINGルールはルーティングを混乱させ、FORWARDルールは役に立ちません(DROPポリシーがない限り)。
iptables -t nat -F POSTROUTING
iptables -F FORWARD
カメラはデフォルトゲートウェイ 192.168.176.1 と nat POSTROUTING 項目で構成されているため、PC を表示できます。たとえば、IPカメラ192.168.176.10がPC 192.168.1.20にパケットを送信すると、そのパケットは最初にデフォルトゲートウェイ192.168.176.1(enp3s0)に送信されます。 Ubuntu PCはパケットをenp1s0に転送し、送信者のアドレスを独自のアドレス192.168.1.1に書き換えます。 192.168.1.20がパケットで応答すると、代替アドレス192.168.1.1に戻ります。 Ubuntu PCはこれを受信すると、IPカメラ192.168.176.10への応答であることを知ります。したがって、宛先アドレスを192.168.176.10に書き換え、enp3s0を介して転送します。
これで、NATを使用してパケットを混乱させたくないので、IPルーティングだけが必要です。前の例では、カメラのIPアドレスがUbuntu PCに置き換えられているため、PCはカメラのIPアドレスを192.168.1.1として認識しています。正しいパスを設定した後、
- PCとカメラによって開始された接続では、PCはカメラのIPアドレスが192.168.176.10であることを知ります。
- カメラからPCへの接続が開始された場合、PCにはまだカメラのIPアドレスが192.168.1.1(NATアドレス)として表示されます。
単純なIPデバイスの場合、2番目のものはそれほど重要ではありません。ただし、これは誤動作を引き起こす可能性があります。たとえば、管理対象スイッチがあり、SNMPトラップを使用したい場合です。このルールを削除する必要がありますiptables -t nat -A POSTROUTING -j MASQUERADE
。
発生する可能性のある1つの質問は次のとおりです。 IPカメラがインターネットにアクセスできるようにしますか?そうでない場合は、iptables FORWARD パスを含む 192.168.176.0/24 から 192.168.1.0/24 を除く他の場所へのパケットを拒否します。アクセスを許可するには、192.168.176.0/24 への静的ルートを持つルーターを構成する必要があります。
答え2
サブネットアドレスと名前の例
ネット「メイン」 192.168.1.0/24 (255.255.255.0) – enp1s0
ネット「カメラ」 192.168.176/24 (255.255.255.0) – enp3s0
「カメラ」から「基本」に配信中です。
iptables --table nat --append POSTROUTING --out-interface enp1s0 -j MASQUERADE
iptables --append FORWARD --in-interface enp3s0 -j ACCEPT
main には、トラフィックをローカルサブネットまたはインターネットに「ルーティング」するデフォルトゲートウェイがあります。
ブリッジに反対のルールを追加する場合:
iptables --table nat --append POSTROUTING --out-interface enp3s0 -j MASQUERADE
iptables --append FORWARD --in-interface enp1s0 -j ACCEPT
そして
「main」のデフォルトゲートウェイにあるサブネット192.168.176.0/24のブリッジコンピュータにパスを追加します。
構文が間違っていますが、アイデアを得ることができます。
route add -net 192.168.2.176/24 gateway “bridge computer”
カメラのゲートウェイ情報を追加したり変更したりすることなく、目的の結果を得ることができると思います。