VPNゲートウェイを介したLANトラフィックのルーティング

VPNゲートウェイを介したLANトラフィックのルーティング

私のiMacにはリモートVPNに接続するソフトウェアがあります。うまく動作しますが、特定のデバイスでのみ機能します。

ネットワークの他のデバイスがiMac経由で同じVPN接続にアクセスできるようにしたいと思います。その理由は、私の携帯電話がOpenVPNプロトコルをサポートしていないため、VPN自体に接続できないためです。

ポート転送を有効にしました。sysctl -w net.inet.ip.forwarding=1

ファイルの32行目に以下を追加しようとしました/etc/pf.confnat on utun1 from en0:network to any -> (utun1)ここで en0 はインターネットが入ってくるイーサネット ポートで、utun1 は VPN が接続されるとすべてのトラフィックが移動する場所です。

実行するとsudo pfctl -e -f /etc/pf.confエラーが発生します。

/etc/pf.conf:32: ルールは順番でなければなりません: オプション、正規化、キュー、変換、フィルター pfctl: 構成ファイルの構文エラー: pf ルールがロードされませんでした。

なぜこのエラーが発生するのか教えてください。 natコマンドを誤って使用しましたか?

注 - 私はチュートリアルに従っていますコマンドラインツールを使用してMac OSXでインターネット共有を設定する

答え1

使用される装置:

  • 10.14.5 Mojaveを実行するiMac Pro 2017(ゲートウェイへ)
  • Android 9を実行しているAndroid S10+
  • iPhone XS
  • iPad Pro 11インチ

私の家のLANに私のiMacが接続されています。それから0固定IPは192.168.1.100です。インターネットを検索できますが、ISPのファイアウォールによって制限されています。私の目標は、VPNに接続されたiMacでソフトウェアを実行することです。完了したら、iMacをゲートウェイとして使用して、LAN上の他のデバイスがそれを介してルーティングし、VPNを使用して接続できます。

VPNはOpenVPN XORプロトコルを使用して接続することを覚えておくことが重要です。このプロトコルはVPNプロバイダが提供するカスタマイズされたソフトウェアでのみ使用できるため、VPNソフトウェアを電話やiPadなどのデバイスに直接ロードすることはできませんでした。

私はこれを行うのに非常に近かったので、どこかで一歩を踏み出しました。これまでに私が見つけたものは次のとおりです。

A:テスト目的でiMacがインターネットを正常に閲覧できるようにVPN接続を切断しました。

A1.固定IP 192.168.1.84とカスタムゲートウェイ192.168.1.100(iMac)を使用するように携帯電話のWiFi設定を変更しました。通常どおりWLANに接続されていますが、移動できません。

A2. iMacでsudo sysctl -w net.inet.ip.forwarding=1ポート転送を有効にし、iMacを介して携帯電話からインターネットを正常に検索できるようになりました。

結論:電話 - > iMac - >インターネットはうまく機能します。

B. 次に、VPN を使ってもう一度お試しください。

B1。 iMacがVPNに正常に接続されました。明らかに、すべてのインターネット検索は今進行されます。ウトゥ1。 nettopまたはnetstat -rnを実行してこれを確認できます。

B2。電話機はまだ iMac をゲートウェイとして使用して WLAN に接続します。ただし、VPNが接続されているため、検索できなくなります。

B3。私nat on utun1 from 192.168.1.0/24 to any -> (utun1)に追加しました/private/etc/pf.conf だから私は走る sudo pfctl -d それから sudo pfctl -F all それから sudo pfctl -f /etc/pf.conf -e...だから私は走る sudo pfctl -s natすべてが正しくロードされているようです。この時点で、私は邪魔することなくVPNをうまく探索しました。

**注* "* pf.confに追加するときは、ファイルの正しい場所に挿入したことを確認してください。間違った場所にある場合、コードは実行されません。

結論:電話 - > iMac - > VPN - >シームレスなインターネットが動作しています。

興味深いことに、私は72時間以上上記の同じステップをさまざまな組み合わせで試しましたが、ほとんど成功しませんでした。これで、プロセスを定義し、段階的に実行した後に正しく機能するようです。再起動後も順番に進んでみると信頼できる過程のようです。

次のステップは、アイコンをクリックしてプロセスを自動化できる一種のスクリプトを作成することです。たぶん、iMacの起動時に実行できます。

アップデートで復元されます。

関連情報