web-dev-qa-db-ja.com

MountainLionでのポートフォワーディング

これはできることでなければなりません。私は自分のやりたいことをしていると主張する多くの答えを検索して見つけましたが、それをまとめることができないようです。そう...

MountainLionでLinux仮想マシンを実行しています。 VMはApacheを実行します。ホストのポート80に到着するすべてのトラフィックをゲストのポート80にリダイレクトする必要があります。次を使用して、ホストからVMのWebサイトにアクセスできます。http://192.168.100.2/

http://10.0.42.22/を使用して、ローカルネットワーク上の他のマシンからデフォルトのMountain LionApacheサーバーにアクセスすることもできます。

(ポート80がホストで開いていることを証明します。はい、ApacheのMac OSインストールをシャットオフしようとしましたが無駄になりました)

ネットワーク上の他のマシンが、後者のアドレス(http://10.0.42.22/)によってVM)で実行されているサーバーに到達できるようにする必要があります。

ホストからipfwを試しました:

ipfw add 100 forward 192.168.100.2,80 ip from any to any 80 in

それを行った後、ローカルネットワーク上のマシンは、Mac OSの「ItWorks!」に到達する代わりに、http://10.0.42.22/に到達しようとしてタイムアウトします。画面には「何か」が発生したことが表示されますが、残念ながら、ゲストへの転送が機能しているわけではありません。

また、/ etc /pf.confに追加してみました。

rdr on en1 inet proto tcp from any to any port 80 -> 192.168.100.2 port 80

に続く:

pfctl -f /etc/pf.conf

その結果、次のようになります。

No ALTQ support in kernel ALTQ related functions disabled

これは、デフォルト設定でpfctlをリロードしたときに得られるものと同じです。これは影響しません(ローカルネットワーク上のマシンは、Mac OS Apacheのデフォルトの「ItWorks!」画面を受け取ります)。また、上記の両方を一緒に使用してみましたが、結果はipfwトリックのみを使用した場合と同じです。

Ipfwとpfctlの多くの組み合わせについて読んで試しましたが、上記の結果と異なる結果が得られたり、より正確に見えたりするものはありません。

私はこれをほぼ20年間、BSDとさまざまな種類のLinuxをホストとして使用してきましたが、MacOSホストで動作させることができないようです。私は愚かで単純な何かを見落としていて、そこにいる誰かがそれが何であるかを指摘できることを望んでいます。

1
Chris Ostmo

Mountain Lion Apacheインスタンスをシャットダウンし、sshトンネルを設定してみましたか?.

Sudo bash
Nohup ssh -L 80:192.168.100.2:80 -N -i ~someUser/.ssh/id_dsa [email protected] &

または、Mountain Lion Apacheインスタンスを交互に使用して、プロキシリクエストをVMにリバースします。例:.

ProxyRequests Off
ProxyPass        /  http://192.168.100.2/
ProxyPassReverse /  http://192.168.100.2/
<Proxy *>
  Order Deny,Allow
  Allow from all
</Proxy>

上記をあなたの中に貼り付けてください:/ private/etc/Apache2/httpd.confそしてApacheを再起動してください。

1
arober11

私はあなたの質問に答えるために少し遅れています。 ipfwソリューションは機能するはずですが、ルールを作成したときとは異なります。また、構成に関する多くの情報を提供していないため、いくつかのことを見逃したと思います。

  • scopedrouteを0に設定しましたか(sysctlを使用)
  • 転送を1に設定しましたか(sysctlを使用)
  • ファイアウォールをアクティブにしましたか
  • 2つのネットの間でNATを実行しますか
  • ローカルネットからのパケットのみを転送し、宛先のIPを転送する必要があります
2
Olivier