web-dev-qa-db-ja.com

IPSecトンネルを介してトラフィックをルーティングするにはどうすればよいですか?

私は2つのサイトを持っています:MAIN(ローカルサブネット192.168.0.0/24、外部IP:M.M.M.M)とCLIENT(10.0.0.0/24、外部IP:C.C.C.C)。サイト間にIPSecトンネルを作成し、両方のサイトが両方のサブネットのコンピューターにpingできるようにしました。ここまでは順調ですね。

# ipsec status
Security Associations (1 up, 0 connecting):
tunnel[1]: ESTABLISHED 7 minutes ago, 10.0.0.15[C.C.C.C]...M.M.M.M[M.M.M.M]
tunnel{1}:  INSTALLED, TUNNEL, reqid 1, ESP in UDP SPIs: c7e6cd30_i ca170c58_o
tunnel{1}:   10.0.0.0/24 === 192.168.0.0/24

MAINの外部IPアドレスは、インターネット上の一部のリソースによってホワイトリストに登録されています(MAINのアドレスからのみアクセスできます)。これらのリソースがCLIENTのサイトからそのトンネルとMAINのゲートウェイを介してアクセスされるようにルーティングを構成したいと思います。

私は通常、静的ルーティングとNATを構成してこれを試みます。ここでの問題は、ルートを定義するために使用できるインターフェイスがないことです。メインサイトにVPNサーバーがあり、VPNクライアントとクライアントサイトがある場合、VPNクライアントには、必要なものを構成するために使用できるいくつかのtunインターフェイスがあります。

2つのサイト間にIPSecトンネルを設けることで同じことを実現できますか?

[〜#〜]編集[〜#〜]

詳細は次のとおりです。

したがって、接続は次のようになります。

192.168.0.0/24 --- 192.168.0.1/M.M.M.M --- C.C.C.C/10.0.0.1 --- 10.0.0.0/24
(Main subnet)         (Main router)        (Client router)      (Client subnet)

192.168.0.1/M.M.M.M-ユビキティルーター

C.C.C.C/10.0.0.1-10.0.0.15に転送されるいくつかのポートを持つ単純なルーター

10.0.0.15-IPSecトンネルが192.168.0.1のクライアントサブネットにあるUbuntuマシン

トンネルが機能します。両方のサイトは、お互いのゲートウェイとネットワーク内の他のマシンにpingできます。

私が今達成したいのは、10.0.0.15から192.168.0.1までの特定の外部IPアドレスにパケットをルーティングすることです。

2
Michal B.

したがって、トポロジを考慮して、最初のオプションを選択し、クライアントマシンの静的ルートを10.0.0.0/24に追加するだけです。リモートリソースが同じIP範囲にない場合は、リソースごとに1つのルートを追加する必要があります。

たとえば、Windowsマシンの場合:リソース1(たとえば10.11.12.13):

route add 10.11.12.13 mask 255.255.255.255 10.0.0.15 -p

リソース2(24.25.26.27など):

route add 24.25.26.27 mask 255.255.255.255 10.0.0.15 -p

次に、同じことを10.0.0.15にも繰り返しますが、今回は192.168.0.1をターゲットにします。

Linux(ubuntu)で永続的なルートを追加する方法については こちら を参照してください。

このアプローチはかなり細かく、大規模なネットワークには適していないことを理解していますが、小規模な家庭/オフィスでの使用にはかなりうまくいくはずです。

別の方法として、すべてのトラフィックをプロキシする場合は、専用の NATゲートウェイ を検討する方が効果的です。リソースをホワイトリストに登録するだけではありません。

私が知る限り、最後の代替策は、デフォルトですべてのトラフィックをプロキシする192.168.0.0/24に(IPSecの代わりに)OpenVPNサーバーを構築することです。優れたチュートリアル ここ

ご不明な点がございましたらお知らせください。

1
Notauser

私は決してネットワークの専門家ではありませんが、これは、プロキシを介して管理対象のリモートクライアント上のインターネットユーザートラフィックを制御したい企業に関連する強制トンネリングシナリオのように聞こえます。一般的なアプローチでは、クライアントルーター上のすべてのインターネット行きのトラフィックに静的/デフォルトルートを追加して、トンネルを介してメインルーターに転送します。これは、サイト間VPNトンネルを意味します。 Point-to-Site VPNの場合、特定のルートをローカルクライアントのルーティングテーブルに追加し、パブリックIPを宛先として、ネクストホップがメインルーターの内部IPになるようにする方法はありません。

0
Lyndon678

したがって、残されているのは、ソースNAT変換です。これは、ネットワークインターフェイスとそのインターフェイスを制御できるためです。しかし、私が知らなかった新しい拡張機能があります。今はNETMAPと呼ばれ、あなたが望むものにより適していると私は信じています。

参照用: https://netfilter.org/documentation/HOWTO/NAT-HOWTO-6.html#ss6.1 はSNATです https://netfilter.org/documentation/ HOWTO/netfilter-extensions-HOWTO-4.html#ss4.4 -NETMAP拡張機能です

109569 は関係があります。