web-dev-qa-db-ja.com

ソースの構成方法NAT(プライベートIP =>パブリックIPアウトバウンド)

VMWare ESXi Freeを実行していて、Zentyal SBS3.2をゲートウェイとして実行しています。

私は5つの公共IPS(CIDR/29、それらを69.1.1.1-69.1.1.5)と呼びましょう。現在、Zentyalはゲートウェイとして69.1.1.1にバインドされており、他の4つのパブリックIPはZentyalの仮想インターフェイスとして設定されています(wan2-wan5)

私はプライベートネットワーク(10.34.251.x)にマシンを置いていますが、(たとえばGoogleに)アウトバウンドすると、インターネットからゲートウェイ(69.1.1.1)以外のIPとして認識されるはずです。これらのリクエストが特定のIPから送信されることを期待するサードパーティのAPIと通信できる必要があります。

私が見つけたものから、これを達成するためにZentyalのSNAT(ソースNAT)が使用されていますが、構成方法がわからず、Zentyalで特定のドキュメントを見つけることができません。

私はこれをいくつかの異なる方法で設定しようとしましたが、結果はありませんでした。この時点で、これが完全に間違っているのか、ネットワーキングの経験の欠如と関連する用語が原因で配置できないのかわかりません正しいフィールドの正しい値。

Zentyalで「SNAT」ルールを設定するための次のフォームが表示されます。

Zentyal SNAT Rule Screen

おそらく誰かが上記のフィールドのガイダンスと定義を提供できますか?

SNATアドレスこれは私が偽装したいパブリックIPですか?
発信インターフェイスこれは私の外部である必要がありますNIC(1つはパブリック 'Netに接続されています)、それとも「プライベート」インターフェイスですか?内部ネットワークからのトラフィックをこのインターフェイスを介して送信したいので、これは外部インターフェイスである必要があります(とにかく、通常とは異なるIPを使用して)
ソースソースは内部ネットワーク(プライベートIPの1つですか?)、私が偽装したいパブリックIP、または他の何かに完全にありますか?
宛先これはインターネット上の場所ですか(たとえば、「サイトGoogle.comに対してのみこれを行う」/ IP)、それとも私は再び混乱することを許していますか?
Serviceこれにより、このルールが適用されるサービスを制限できると思いますが、これは内部ネットワーク上のサービスに対するものですまたは外部ネットワークでアクセスされているサービス?

詳細や情報を提供して、私がやろうとしていることをより明確にすることができれば、喜んでそうします。

正直なところ、ここでどんな種類の助けもいただければ幸いです。私はNetOpsでも身近な人でもありません。私は一日のほとんどをコードの記述に費やしており、この会社の「チーム」全体は「私、私、そして私」で構成されているため、あらゆる機会にKBを広げようとしています。 、私は非常に多く、非常に速くしか学ぶことができず、特にネットワーキングでは、私が慣れているものとは少し異なる用語を(限られた観点から)使用することを好む各ソリューションの学習曲線と相まって、非常に多くのことがあると感じています(そして、私はこのことを私がすでに文脈で知っていることと相互参照するために必要な経験を正確に持っていません)。

2
DavidScherer

「ブルートフォーシング」の設定(2回目)の後、これをうまく機能させることができました。

考えられるすべての方法でこれを初めて構成しようとしたとき、仮想インターフェイスをWANインターフェイスに割り当てていませんでした。どうやらZentyal(おそらくネットワークの世界全体)で) 、ルーター/ゲートウェイ/技術的に呼ばれるものは何でも、CIDR内の他のIPを完全に「認識」していません(複数のIPを持つ/ 32以外のものがあると仮定します)

仮想インターフェイス(wan2-> wan4と呼ばれ、実際には重要ではありません)を割り当てた後、ネットワークの経験が不足しているため、これをすぐに再構成しようとは思いませんでした。それらは重要であり、それらが何であるかさえ私は知りませんでした(それでも、実際には、なぜそれが重要であるのか理解していません)。

ISP/DC/ARINによって仮想インターフェースに割り当てられたCIDR内のすべての追加IPが割り当てられているため(PFSenseのような他のソリューションはそれらを仮想NICまたはvNICと呼んでいると思います)、以下の構成ガイドに従うことができます。ネットワークに関しては完全に役に立たないことを覚えておいてください。私はdidこの構成が機能するまで(すべてを試しました)「ブルートフォース」しました。マイレージが変わる可能性があります(大幅に)。私は完全に間違っている可能性があり、運が良かっただけです。

つまり、定義!:

SNATアドレスこれは、Googleなどのサイトに接続するときのように、「マスカレード」しようとしているIPです。
送信インターフェイストラフィックをパブリックネットワーク経由で送信したかったので、このセットを「外部」インターフェイスのままにしました。これは私の目的のために働いた。
ソースこれは、プライベートネットワークの背後にあるマシン/ VMのIPです。インターネット上では、上記のSNATアドレスフィールドで定義されたアドレスを持っていると見なされます。
宛先これを使用して、どのサイトがどのIPを見るかを変更すると思います。したがって、69.1.1.2のみをGoogleに表示し、Facebookにルーター/ Zentyal IPを表示させたい場合は、ここで設定できます(GoogleはラウンドロビンDNSを使用しているため、常に同じに接続するとは限らないため、おそらく悪い例です。あなたがグーグルにアクセスするときのIP、あなたがそれをどのように扱うかわからない!)
ServiceおそらくこれはDestinationと同様に機能しますが、ローカルサービスに影響するかどうかはわかりません。またはリモートサービス。 Denstinationフィールドの直後なので、宛先アドレスに影響を与えると想定しても安全です。

Zentyal SNAT with correct config using placeholders

上記は、プレースホルダーを使用して私の構成を確認できます。これはWindows 7 Enterpriseクライアントから機能してテストされています。Googleに「My IP」と入力してテストします(Googleに表示されているIPを表示してくれます)。

また、グーグルで「SNAT」(送信元NAT)ルールを使用するには、対応する「DNAT」(送信先NAT)ルールが必要であるため、トラフィックを返すことができると述べました。トラフィックが正しいVM /マシンに返されるために必要なことが他にある場合、Zentyalがこれを行います(これ以上の構成なしで期待どおりに機能していると思います)。

より具体的に説明できる場合、またはここにまったく問題がある場合は、お知らせください。

PDATE:それでも問題が解決しない場合は、約を作成した後、Zentyal管理ポータルの右上にある[保存]ボタンをクリックしてください。 Zentyalは、現在のページの設定を「保存」したときにZentyalが構成ファイルを書き込まない(またはサービスを再起動して新しい構成を使用する)ため、Zentyalの変更。おそらくこれにより、競合する可能性のある一連の変更を一度に行ってから、それらすべてを一度に「コミット」することができます。正直なところ、これはデバッグ時にイライラする可能性があります。これを忘れがちで、キーボードで顔を壊してしまい、なぜ「機能しない」のか疑問に思うからです。

4
DavidScherer