it-swarm-ja.com

Mac OS X 10.8 VPNサーバー:LANトラフィックのVPNをバイパスします(LANトラフィックをセカンダリ接続にルーティングします)

OS X MountainLionを搭載したVPNサーバーのセットアップは少し変わっています。これは基本的に、会社のファイアウォールをエクストラネット接続にバイパスするためのブリッジとして使用されています。チームが行う必要がある特定のことは、外部への無制限のアクセスを必要とし、メインファイアウォールを通過するトラフィックを許可するようにITポリシーを変更することはオプションではありません。

エクストラネット接続は、Wireless-Nルーター(Wi-Fi Xと呼びましょう)を介して提供されます。私のMacMiniサーバーは、このルーターへの接続をプライマリ接続として構成されているため、ルーターを介したインターネットへの無制限のアクセスが可能です。直近のサブネット上のこのデバイスへの接続はLANポートを介して可能ですが、サブネット外では信頼性が低くなります。

PPTPとL2TPの両方を使用して192.168.11.150〜192.168.11.200の範囲のクライアントにIPアドレスを提供するようにVPNサーバーを構成でき、を介してエクストラネットに接続できます。システム設定で標準のMacOS X VPNクライアントを使用するVPNですが、当然のことながら、ローカルアドレス(internal.company.comと呼びましょう)は何も返しません。

VPN設定でルートを設定することでVPNサーバーの制限を回避しようとしました。当社では、すべての内部トラフィックに10.x.x.xではなく13.x.x.xを使用しているため、ルーティングテーブルは次のようになります。

IP Address ---------- Subnet Mask ---------- Configuration
0.0.0.0               248.0.0.0              Private
8.0.0.0               252.0.0.0              Private
12.0.0.0              255.0.0.0              Private
13.0.0.0              255.0.0.0              Public
14.0.0.0              254.0.0.0              Private
16.0.0.0              240.0.0.0              Private
32.0.0.0              224.0.0.0              Private
64.0.0.0              192.0.0.0              Private
128.0.0.0             128.0.0.0              Private

ここに何も入力しないと、すべてのトラフィックがVPN経由でルーティングされるという印象を受けました。何かが入力されると、VPNを通過するように特別にマークされたトラフィックのみがVPNを通過し、他のすべてのトラフィックはクライアントが独自のデフォルト接続を使用してアクセスできるようになります。これが、13.x.x.xを除くすべてのサブネットをプライベートとして明確にマークする必要がある理由です。

私の疑いは、ローカルサブネットの外部からVPNサーバーに到達できないため、メインDNSサーバーに接続しておらず、より大きなネットワークでは到達できないということです。 internal.company.comのようなホスト名を入力しても、解決するためにクライアントにキックバックされないと思います。サーバーはIPアドレスがパブリック範囲にあることを認識していないためです(おそらくpingテストする必要がありますがそのホスト名について何も見つけるためにDNSサーバーに到達できないため、現在はアクセスできません。

これを解決するための私のすべてのオプションは、すべて同じタイプのソリューションに要約されるように私には思えます。

サーバー上のセカンダリ接続でDNSに到達する方法を理解します。サーバーがローカルゲートウェイもチェックする必要があることをサーバーに認識させるために[何か]を行うことができれば(たとえば、サーバーIP == 13.10010.100.50およびゲートウェイIP == 13.100.100.1)と考えています。そこから、ゲートウェイIPは、13.1.1.1でDNSサーバーを見つけて、内部ネットワークに関する情報を提供するように指示できます。私はこの道について非常に混乱しています-私が意味をなしているかどうかさえ本当にわかりません。

私はこのクライアント側を試してみようと考えましたが、それも意味がありません。クライアント側のセットアップに時間がかかるからです。さらに、サーバー上でそれを解決する方が論理的であるように思われます-ルーティングテーブルを完全に削除するか、保持することができます-唯一の違いは、内部トラフィックもサーバーを通過することです-おそらく不必要な負担それ。

何か助けはありますか?それとも私は頭上にいますか?フォワードプロキシまたはトランスペアレントプロキシも私にとってのオプションですが、どちらを設定するかはわかりません。 (私は知っています、Googleは私の友達です。)

10
Dan Robson

さて、私はそれにショットを与えます:

一部のトラフィックのみを通過させる方法がわかりません。問題を解決できますが、設定を少し変更する必要があります。 Macに2つのネットワークインターフェイスがあると仮定します。それらをeth0とeth1と呼びましょう:-)

eth0が作業ネットワークに接続されており、内部(作業ネットワーク)アドレスが13.1.1.6、サブネット255.0.0.0であると想定します。

また、簡単にするために、eth1がWiFi Xに接続されており、アドレス(eth1 <---> WiFi Xネットワーク)が192.168.1.10、サブネット255.0.0.0であると想定します。

私はBSDとLinuxでVPNサーバーをセットアップしましたが、Macではセットアップしていませんが、概念は同じです。オプションがあります。次の1つをリストします。

1)Macのルーティングテーブルに次のようなエントリがあることを確認します。

$>Sudo route add 13.0.0.0/8 eth0

これにより、会社のネットワーク(13ネットワーク)宛てのWiFiXまたはVPNインターフェイスを介して着信するトラフィックが確実にそこに到達するようになります。これがないと、Mac(ブリッジを提供する)は2つのインターフェイス間でトラフィックをルーティングする方法を実際に知る方法がなく、デフォルトでは、デフォルトのインターフェイスであるWiFiXからトラフィックを送信しようとします。

上記のVPNルーティングテーブルに対して行ったことを元に戻し、(うまくいけば)まだそこにない場合はこれを試してみます。

上記がうまくいかない場合は、VPNサーバーのルーティングテーブルとIPアドレスリストを使用して更新するか、遭遇した修正を使用して更新してください。これがあなたを正しい方向に向けることを願っています。

2
MDMoore313