web-dev-qa-db-ja.com

同じLAN上の複数のサブネット間でルーティングするpfSense

私はかなり標準的なpfSenseセットアップから始めました:1つWANおよび1つのLANインターフェイス、NAT経由のLAN-to-WANアクセス。

次に、LANに2つ目の論理サブネットが必要になりました。これは、次のように設定します。

  • VIP pfSenseのLANインターフェースの2番目のサブネットから構成
  • アウトバウンドを切り替えたNAT自動から手動に
  • 自動生成されたNATルールのコピーを作成し、IP範囲を新しいサブネットのIP範囲に設定しました
  • 新しいサブネットからのトラフィックを許可する新しいLANルールを追加しました

インターネットアクセスに関しては、すべてが正常に見えます。どちらのサブネットのホストも外部リソースにアクセスできます。

ただし、pfSenseで2つのサブネット間でトラフィックをルーティングすることも必要です。そしてここで物事はトリッキーになります:サブネット間でpingを実行できますが、TCPサブネットAのホストからサブネットBのターゲットに接続しようとするとタイムアウトします。

いくつかのパケットキャプチャにより、次のことが明らかになりました。

  • ホストBがリモートであり、デフォルトゲートウェイがpfSenseであるルーティングテーブルエントリにもかかわらず、ホストAはpfSenseを介してルーティングせず、ARPを介してホストBのMACアドレスを解決します。したがって、TCP SYNは、pfSenseがこれを認識せずに、ホストAからホストBに直接行きます。
  • ホストBはSYNを受信し、SYN-ACKで応答します。ただし、今回は、pfSenseを介して通信が戻されます。
  • したがって、pfSenseは、対応するSYNに遭遇することなくSYN-ACKを確認して破棄し、悪意のあるトラフィックであると想定します。 (キャプチャーはpfSenseにSYN-ACKを明確に示しますが、ホストAには示しません。ログはそれがフィルタリングされたことを示します。)

ホストAがルート設定を無視してデフォルトゲートウェイをバイパスする原因が正確にわかりません。ただし、単純なルーターを使用している場合は、これらすべてが問題になることはありません。 OSの特定の動作に依存するのではなく、寛容な方法でインフラストラクチャを構築します。したがって、pfSenseがトラフィックの1方向のみを見ている場合でも、2つのネットワーク間のルーティングが機能するようにします。両方のLANサブネットが同じ信頼レベルを持っているため、それらの間のフィルタリングは必要ありません。

PfSenseの2つのサブネット間のすべてのフィルタリングをオフにするにはどうすればよいですか? 「状態タイプ」を「なし」に設定しようとしましたが、使用できません...

7
user149408

上記のように、私にとってはもはや問題ではありませんが、潜在的な解決策を見つけました。

バージョン2.1.5以降(以前のものについては不明)、システム:高度:ファイアウォールとNATにオプションがあります静的ルートフィルタリング同じインターフェース上のトラフィックのファイアウォールルールをバイパスする。このオプションをオンにすると、同じインターフェイスで複数のサブセットを使用するシナリオを対象とした、同じインターフェイスで出入りするトラフィックのフィルタリングが無効になります。

私はそれをテストしていません(これを必要としていたラボ環境は今では解体されているため)が、おそらく他の誰かを助ける...

6
user149408