web-dev-qa-db-ja.com

Mac OS XYosemiteでOpenVPNを共有する

OS X 10.9 Mavericksまで、私はOpenVPN接続を共有していましたこのように

ただし、Macを最新のOSにアップデートしてから、この方法は無効になります。グーグル検索をしたところ、新しいネットワークコンポーネントが機能を壊しているようです。

共有機能をYosemite以前のOSとして復元することはできますか?または、新しいネットワークユーティリティで新しい共有方法を考案する方法はありますか?

ありがとう!

6
Leon Hayabusa

OS X Mavericks、Yosemite、またはEl CapitanでOpenVPN接続を共有するには、次のコマンドを入力してパケット転送を有効にします。

Sudo sysctl -w net.inet.ip.forwarding=1
Sudo sysctl -w net.inet.ip.fw.enable=1 

次に、/etc/pf.confの直後のrdr-anchor "com.Apple/*"に次の行を追加します。

lan="{192.168.25.0/24}"
ext_if=en0
vpn_if="utun0"
nat on $ext_if from $lan to any -> ($ext_if)
nat on $vpn_if from $lan to any -> ($vpn_if)

LanアドレスをOpenVPN接続を介してルーティングするlanに変更する必要があることに注意してください。 ext_ifは、LANに接続されているインターフェースである必要があります。 vpn_ifはOpenVPNインターフェースである必要があります。 tun0ではなくutun0を使用するVyprVPNを使用したため、特定の構成によってはこれを変更する必要がある場合があります。

次に、以下を実行して構成をロードします。

Sudo pfctl -d
Sudo pfctl -F all
Sudo pfctl -f /etc/pf.conf -e

これを行う手順はここにあります: http://www.douglas.wiki.br/doku.php?id=en:configuring_nat_on_mac_osx_yosemite

デーモンを使用したロード

これを自動的にロードしたい場合は、このリポジトリを見てください https://github.com/essandess/osx-openvpn-server シェルスクリプトを使用した例を見る起動時にロードされるデーモンを作成するための.plistファイル。 /sbin/pfctl -f /etc/pf.conf -eの末尾にenable-vpn-forward-nat.shを追加し、次のことを行いました。

Sudo mkdir '/Library/Application Support/vpn'
Sudo install -m 755 osx-openvpn-server/enable-vpn-forward-nat.sh '/Library/Application Support/vpn'
Sudo install -m 644 net.openvpn.enable-vpn-forward-nat.plist /Library/LaunchDaemons
Sudo launchctl load -w /Library/LaunchDaemons/net.openvpn.enable-vpn-forward-nat.plist
6
nftw