ホームネットワーク(10.0.1.0/24)には、MacとiOSデバイスがあります(他のデバイスは関係ありません)。LANクライアントは、Comcastのケーブルモデムに接続されたAirport Extreme(AEBS)を介してIPv4およびIPv6(ネイティブ)アクセスを取得します(これ以上の選択肢はありません)。いくつかの$ workリソースにアクセスするにはVPNが必要です。VPNが手元にあるどの画面でも「機能した」場合は便利です。各デバイスでVPNクライアントを管理しないように、サーバー(10.0.1.252)でOpenVPNを実行しています。
VPNへの接続時に、サーバーは一般的な静的ルートを取得し、転送とNATを有効にしました。そのため、$ private_lan->からのトラフィック<vpn_netblocks>
は、VPNトンネル(tun0)を適切にNATルーティングされます。私のDNS再帰はそのサーバーで実行され、特定のDNS要求を内部DNSサーバーに転送することを認識しています。それはすべて動作します。
最後のビットは、LANクライアントにVPNを認識させることです。デフォルトルートはAEBS(10.0.1.1)です。AEBSとケーブルモデムには独自のバッテリーが搭載されており、電源が切れてもネットワークが長時間稼働するため、これは理想的です。LANクライアントがVPNアクセスを取得するには、サーバーで利用可能なより具体的なルートを知る必要があります。Mac OSでは、次のような静的ルートを手動で追加します:
route add 10.7.0.0/16 10.0.1.252
問題は、これらのルートが利用可能であることをMacおよびiOSデバイスに自動的に通知する方法です。AEBSに静的ルートを追加することはできません(間違っていることが証明されてうれしいです!)。サーバーを指すようにデフォルトのIPv4ルートを変更するのが私の最後の手段です。
RFC 3442に記載されているように、静的ルート(dhcpオプションコード121)としてdhcpd.confにルートを追加しようとしました。dhcpd.confの関連部分は次のとおりです。
# options for static routes
option rfc3442-classless-static-routes code 121 = array of integer 8;
option ms-classless-static-routes code 249 = array of integer 8;
subnet 10.0.1.0 netmask 255.255.255.0 {
option rfc3442-classless-static-routes 16, 10,7, 10,0,1,252;
option ms-classless-static-routes 16, 10,7, 10,0,1,252;
# needed b/c this overrides option routers
option rfc3442-classless-static-routes 0, 10,0,1,1;
option ms-classless-static-routes 0, 10,0,1,1;
}
オプションはdhcpdによって提供されていますが、Mac OS Xでは無視されます。ある:
- 動作する他のDHCPオプションはありますか?
- OSPFまたはRIPをセットアップすると、MacとiOSの両方のデバイスで「正常に動作しますか?」
- IPv4の近隣探索プロトコルのようなものですか?
動作することがわかっているドキュメントへのポインタは大歓迎です。
更新
- 私の設定を示すdhcpd.confを追加しました
- RFC 3442のサポートがないことを引用するAppleディスカッションへのリンクを追加