私は現在、開発中の環境が新しいMac OS 10.11で実行されるかどうか、およびリリースされたらすぐにアップグレードできるかどうかをテストしています。私のテストマシンでは、現在ベータプレビュー3を実行しています。すべてが正常に実行されているようです。
pfctl
を取得してポートを転送できます。 Vagrant and Parallels Desktopを使用して、ローカルWebサーバー用のDebianシステムを実行しています。 Vagrantは、ホストのポート8080をゲストの80に転送します。そう 127.0.0.1:8080
正常に動作します。ただし、一部のプロジェクトでは、本番環境とまったく同じドメインをローカルにしたい場合があります。 (:8080なし)また、私はそれがもっと好きです。 ;-)
これを行うには、pfctl
を使用してホストで80から8080に転送します。これが私の設定ファイルです:
〜/ port-forwarding/pf.conf
rdr-anchor "forwarding"
load anchor "forwarding" from "/Users/nick/port-forwarding/rules.conf"
〜/ port-forwarding/rules.conf
rdr pass on lo0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080
rdr pass on lo0 inet proto tcp from any to any port 443 -> 127.0.0.1 port 4433
それを有効にするために、私は実行します:
Sudo pfctl -vnf ~/port-forwarding/pf.conf
Sudo pfctl -evf ~/port-forwarding/pf.conf
これは私にこれを与えます:
pfctl: Use of -f option, could result in flushing of rules
present in the main ruleset added by the system at startup.
See /etc/pf.conf for further details.
rdr-anchor "forwarding" all
Loading anchor forwarding from /Users/nick/port-forwarding/rules.conf
rdr pass on lo0 inet proto tcp from any to any port = 80 -> 127.0.0.1 port 8080
rdr pass on lo0 inet proto tcp from any to any port = 443 -> 127.0.0.1 port 4433
pfctl: Use of -f option, could result in flushing of rules
present in the main ruleset added by the system at startup.
See /etc/pf.conf for further details.
No ALTQ support in kernel
ALTQ related functions disabled
rdr-anchor "forwarding" all
Loading anchor forwarding from /Users/nick/port-forwarding/rules.conf
rdr pass on lo0 inet proto tcp from any to any port = 80 -> 127.0.0.1 port 8080
rdr pass on lo0 inet proto tcp from any to any port = 443 -> 127.0.0.1 port 4433
pf enabled
logout
Saving session...completed.
Sudo pfctl -s nat言います:
No ALTQ support in kernel
ALTQ related functions disabled
rdr-anchor "forwarding" all
今のところ良さそうだと思います。しかし、それは機能しません。
127.0.0.1:80
-接続なし127.0.0.1:8080
-動作します
Yosemiteでも同じファイルを使用していますが、そこでは問題なく動作します。
pfctl
の使用方法に変更があったのか、何か間違ったことをしているのか、報告できるバグがあるのか、誰か知っていますか。
どうもありがとう
ニック
これはOSX 10.11-El Capitan-パブリックベータ1にのみ適用されます
x-post from: https://superuser.com/questions/938999/osx-10-11-el-capitan-beta-pf-conf-behaviour-changed/943981#943981
最新の10.11ベータでは、127.0.0.1がブロックされています。ソリューション? 127.0.0.2を使用します。これをする:
最初に127.0.0.2をループバックエイリアスに追加しますSudo ifconfig lo0 alias 127.0.0.2 up
新しいエイリアスを使用するようにpfルールを変更します。 rdr pass proto tcp from any to any port 80 -> 127.0.0.2 port 8080
コマンドラインから、ファイルを使用せずに:
echo "rdr pass proto tcp from any to any port {80,8080} -> 127.0.0.2 port 8080" | pfctl -Ef -
<-この最後のティックを必ず追加してください。STDINでパイプしています)