web-dev-qa-db-ja.com

NAT pfSenseのローカルデバイスの場合-何が欠けていますか?

私は古くて奇妙な1980年代のデバイスを持っています(それは私が何年もの間持っていた初期のコントローラーの一部です)。

192.168.1.100のハードコードされたアドレスがあり、明らかに(おそらくその年齢のために)192.168.1.100/24のサブネットを持つことを期待しており、そのサブネットからのものでない限り、実際には何にも応答しません。インターフェース192.168.1.1/24のpfSenseルーターのOPT1 NIC)に接続されています。

私がやりたいのは、ある種のNATルールまたはVIPをルーターに設定して、デスクトップがルーターと直接通信できるようにすることです。私のデスクトップIPは192.168.3.2で、LAN NICのインターフェイスは192.168.3.1/24です。たとえば次のいずれかの設定です。

  1. オプション1 --source = 192.168.3.2 dest = 192.168.1.100からLANインターフェイスで受信されたパケットは、通常どおりOPT1に転送されますが、パケットはNATされてsource = 192.168.1.1(OPT1のIP)になります。 dest = 192.168.1.100-したがって、デバイスはそれらを必要なサブネットからのものとして「認識」します。その後、その応答はOPT1のルーターによって取得され、LAN上で192.168.3.2に転送されます。
  2. オプション2-仮想LAN IP dest = 192.168.3.100に送信されるLANインターフェイス上のパケットは、ルーターによって受け入れられます。ルーターは、「舞台裏」で、送信元を持つように変更されたパケットを使用してOPT1に転送します。 = 192.168.1.1(OPT1のIP)dest = 192.168.1.100-したがって、デバイスはそれらを必要なサブネットからのものとして「認識」します。次に、その応答はOPT1のルーターによって取得され、ソース192.168.1.100が192.168.3.100にマップされた状態でLANに転送されるため、デスクトップで受信されると、応答はLAN上のデバイスからのものであるように見えます。その外。

2つのオプションの違いは、最初のオプションでは、元のパケットが非LAN IPに送信され、ルーターがOPT1で転送するときに送信元を変更することです。 2番目の例では、元のパケットが代わりにLAN上の仮想IPに送信され、ルーターは送信元と宛先の両方を変更してから転送します。

これらは両方とも、pfSenseが仮想IPやその他のNATオプションで行うこととほとんど同じなので、これを行うのは難しいことではないと確信しています。しかし、私は作ることができないようです。これらの作業のいずれか-NATは非常に複雑な領域です!

1
Stilez

私は答えを見つけました。このソリューションはアウトバウンドNATと呼ばれ、(通常のように)宛先IPではなく、送信元IPまたはパケットを変換します。

残念ながら、ドキュメントは少しあいまいで、アウトバウンドNATで簡単に誤解されるため、これが私が見つけた完全な答えでした。

NATはアウトバウンド(つまり、何らかのインターフェイスを介してルーターに入る)のパケットに適用されると想定していましたが、実際にはアウトバウンドであるためパケットに適用されますfrom発信インターフェイス上のルーター。

  1. タイプ「IPエイリアス」の仮想IPを設定しました(ただし、他のタイプも同様に機能する可能性があります)パケットの送信元のように見せたいIP(この例では192.168.1.0/24の範囲-たとえば192.168.1.5)。 IPエイリアスはインターフェース上にある必要があります-私はそれがするインターフェースを使用しましたleaveルーターに到着するものではなく、ルーター(この例ではOPT1)。

  2. ハイブリッドNAT(Manual/AON NATも機能します)を有効にしてから、アウトバウンドNATルールを追加しました同じインターフェイス(OPT1)で、source = any(またはパケットが実際に送信されたIP範囲)およびdest =宛先IPまたはそのサブネットなど(192.168.1.0/24を使用)。次に、「変換アドレス」を次のように設定します。ドロップダウンボックスから、手順1で入力した仮想IPを選択します。

これは私が望むことをします。宛先IPに送信されたパケットは、LANから送信され、OPT1(NATルールのインターフェイス)で送信されるときにNATによってピックアップされます。 )パケットのsrcが "any"に一致し、destがNATルール(192.168.1.0/24))に入力された値に一致するため、その送信元は必要に応じて192.168.1.5に変換されます。 OPT1を介して送信される前。

パケットキャプチャはそれを確認します-最初の投稿で説明されているようにpingを実行すると、OPT1インターフェイスでのパケットキャプチャは192.168.3.2-> 192.168.1.100からのpingと応答を示しますが、OPT2インターフェイスでのパケットキャプチャは192.168からのpingと応答を示します.1.5->必要に応じて192.168.1.100。

これは、私のデバイスだけでなく、パケットが別のデバイスと同じサブネットから送信されているように見える必要があるその他の状況でも役立ちます。

1
Stilez