VPN受信/発信分割

VPN受信/発信分割

私の状況は私のすべてが欲しい出る私のDebianサーバーへの接続は私が購読している商用VPNサービスを介して行われますが、VPNを介さずにこのサーバー上で公にアクセス可能なサービスを実行したいと思います。

つまり、このサーバーでBIND9(権限あり)、SMTP、Apache、SSHなどが実行されており、着信Connectionを使用すると、VPNを使用せずにこれらのサービスにアクセスできます。

はっきりしたら、VPNを使って私の情報を隠したいです。出る接続されていますが、依然として私のリクエストに応答できます本物このように現れるすべての知的財産権。

状況をより複雑にするために、BINDを自分のドメイン(パブリックインターネット)の特権サーバーとして使用し、それを自分のローカルネットワーク(プライベートIP範囲)パーサーとして使用できるように再帰しました。 BINDからのDNS接続をVPNに接続しながら、着信要求が信頼できるビットに到達できるようにすることは可能ですか?

私はこれが関連していると思いますiproute2が、正しい構成がわかりません。

私はDebian 6.0.7を使用しています。 VPNはOpenVPNです。

答え1

これを達成するには、ポリシールーティングを使用する必要があります。ルールはそれほど複雑ではありません。

(デフォルト)デフォルトルートはVPNインターフェイスを指す必要があります。 OpenVPNの--redirect-gateway def1オプションを使用すると、VPNが起動したときにVPNを自動的に管理できます。これにより、OpenVPNは/1同じ効果を持つ複数のパスでシステムのデフォルトパスをオーバーライドでき、OpenVPN自体が明白なルーティングループなしで一般的な方法でリモートピアに接続し続けることができます。

このデフォルトルートは、ローカルで開始されたトラフィックがVPNを通過するのを許可し、VPNを介して着信し、VPNから送信されるトラフィックにも応答します。

これで、VPNではなくインターフェイスからの着信接続に関連するパケットのポリシールールでこのルールを上書きしようとします。これらのパケットはVPNではなくインターフェイスを介して返されることを望みます。

以下は、(1)VPNではなくパブリックIPアドレスを送信元アドレスとしてパケットを照合し、そのパケットを別のルーティングテーブルを介してルーティングするように要求し、(2)そのルーティングテーブルからすべてを送信元(非VPN)に転送します。することで動作します。 ) 基本パス。

ip route add table 42 default via X.Y.Z.W
ip rule add from A.B.C.D/32 table 42

A.B.C.Dパブリック(非VPN)IPアドレスである必要があり、元のX.Y.Z.Wシステムのデフォルトパス(VPNではなくISP経由)である必要があります。

IPv6トラフィックの同様の設定は練習用に残されています。 :-)

関連情報