最初に、私は最初からこのネットワークを設計しなかったと言うので、トポロジーは私にも驚きました。
同じ物理的な場所にある2つのサブネット(1つは私たちの会社で、もう1つはクライアントです)があるため、ネットワークはVLANによって分離されています。ただし、これに加えて、私たちとクライアントの両方に異なるファイアウォールがあるため、ネットワーク間のブリッジとして機能する追加の仮想ルーター(VyOS)があります。 VyOSルーターには2つのインターフェース(eth0とeth1)があります。
両方のネットワークに問題なくpingできますが、クライアントのWebサーバーのサブネットにアクセスしようとすると、接続が失敗します。特に興味深いのは、ゲートウェイを192.168.5.1のゲートウェイではなく手動で192.168.5.34(VyOS)にポイントするように設定すると、接続が機能するため、トラフィックをリダイレクトする必要があるときにファイアウォールで何かが失敗しているはずです。元のインターフェイスと同じインターフェイスから出力されます。また、ソースNATを構成すると、それも機能します。
ネットワークに関する情報は次のとおりです。
私たちのサブネット:192.168.5.0/24ファイアウォール:192.168.5.1 VyOS eth1:192.168.5.34
クライアントサブネット:192.168.1.0/24ファイアウォール:192.168.1.1 VyOS eth0:192.168.1.34
編集:これは、HTTP経由でWebサーバーに接続しようとしたときにトラフィックがたどるルートです
192.168.5.172-> 192.168.5.1-> 192.168.5.34-> 192.168.1.28 | 192.168.1.28-> 192.168.1.1(Juniperファイアウォールで、ここで接続が失敗したようです)
ネットワークは期待どおりに機能しています。それを描きましょう:
これは私が確信している単純化ですが、問題とさまざまな修正(およびそれらの欠点)を示すのに十分な情報がここにあります
前提条件
OSIスタックを使用している場合、これはすべてIPであり、レイヤー3にあります。
1。直接接続されたネットワーク
PCには、IPに送信するパケットがあります。まず、宛先IPが同じローカルIPネットワークにあるかどうかを確認します。 SRCアドレスとDSTアドレスの両方が同じネットワークを共有している場合(サブネットマスクが適用された後も残るIPのビット)、OSはパケットをイーサネットインターフェイスに送信します。 OSは、発信パケットに、それが存在するインターフェイスのソースIPのラベルを付けます。
テストPCはSRC IPが192.168.5.172のパケットを送信します。宛先は192.168.5.250です。ネットマスクは/ 24で、255.255.255.0です。ネットワークは192.168.5.xのままです。したがって、PCはイーサネットからのパケットと宛先はそれを受信します。
2。デフォルトゲートウェイ
デフォルトゲートウェイ、デフォルトルート、ゲートウェイ、ラストリゾートルーターは、パケットを送信するための適切なルートがない場合にパケットを送信するものです。
ネットワークのデフォルトルートは次のとおりです。
したがって、宛先IPがローカルではない(直接接続されていない)場合、TestPCはパケットのアドレス指定を知っていますviaデフォルトゲートウェイ。
デバイスのデフォルトゲートウェイIPアドレスは1つだけです(ハンドウェーブ-はい、シンプルにしようとしています)。
(サイドコメント)VyOSボックスにデフォルトゲートウェイが設定されている場合、おそらくオフィスのジュニパー経由です。これは更新やその他のことにはいいことですが、環境には関係ありません。また、VyOSでデフォルトゲートウェイがまったく構成されていないこともまったく妥当です。
3。特定のルート
質問からのtracerouteは、2つのオフィスファイアウォールが他のLANに関する特定の知識を持っていることを示しています。
そのため、各ファイアウォールには追加のルートが構成されます。
あなたの会社ジュニパーは「192.168.5.34経由で192.168.1.0/24にアクセスする」ことを知っています
彼らのファイアウォールは、「192.168.5.0 255.255.255.0 via 192.168.1.34」または同様のものを認識しています。絵でそれは意味します:
4。パケットと一致する
パケットの観点からこれを視覚化しましょう。
a。 TestPCはgoogleにpingします(TCP接続)を説明するよりステートレスで簡単なので、私はpingを使用しています)
これは画像として:
b。 TestPCは192.168.1.28で顧客のサーバーにpingします。
これが絵として最後です:
これをどのように修正しますか?複数の異なる修正があります。
1。相互接続ネットワーク
これは「適切な」設計であり、2つのファイアウォール間で小さな相互接続ネットワークを使用し、VyOSデバイスを廃止します。相互接続LANとして172.22.22.x/24を使用しました。/24はかなり大きいですが、これは単純なままです。
ポジティブ
欠点
2。お客様のファイアウォールに静的ルートを追加します
欠けているようです。カスタマーファイアウォールからVyOSに青い矢印を追加した場合、より効果的に機能します。
3。ソースを追加しますNAT VyOSデバイスで
有名人は、「NATの層を追加する計画が含まれている場合、根本的な問題を理解していない」と言っていました。これは良い考えではないと思います。
VyOSデバイスが2つのネットワーク間のすべてのトラフィックをそのLAN内の独自のIPにNAT変換する場合、応答トラフィックはデフォルトゲートウェイに移動しようとしません。
主な欠点は、VyOS IPからのすべてのトラフィックが表示され、実際の送信者が誰なのか分からないことです。これにより、フォレンジックが多少難しくなります。
4。すべてのものを静的ルート!
これはひどい答えですが、状況によってはそれが適切な場合があります。
すべてのLANデバイスにこのようなルーティングテーブルがある場合、それらはすべて、カスティLANと通信する方法を知っています。
#ip ro ls
192.168.5.1 dev eth0によるデフォルト
192.168.1.04経由の192.168.5.34 dev eth0
192.168.5.0/24 dev eth0 proto kernel scope link src 192.168.5.173
欠点は、これは管理上の悪夢です。絶対に動かないデバイスが2つしかない場合は有効かもしれませんが、動的に追加するのは面倒です。
可能な節約
要約すれば
LANマップは、ネットワークの問題を理解するための素晴らしいソリューションです。彼らを愛する!私は http://www.gliffy.com/ を使用して、これらのイラストの背景画像を作成しました。
[〜#〜] kiss [〜#〜]解が面倒で複雑な場合、おそらく間違った解です。