日々精進

新しく学んだことを書き留めていきます

ポートフォワーディング設定が消える現象の解決方法

現象
MacParallelsを入れて、いくつかのVMを動かしている。
VMへのアクセスはParallelsのポートフォワーディング機能を使って行っている
 例:ホストOSの8080番へのアクセスをVM1の80番にルーティングする
・この状況で、たまにポートフォワーディング設定が消えてVMにアクセス出来なくなる。


原因
・(多分だけど)Macがポート設定を変更しているのが原因っぽい。
Mac上では沢山のプロセスが色んなポートをListenしている。
 今は使ってないが、MacがWell-knownなサービスのために予約しているポートをListenすると何かの拍子に設定が削除されるのでは。


調査手順
・sudo lsof -i:9090を実行して、listenerにwebsmがいるのを確認。
・websmでググるとWebSphereが9090番ポートを使うという情報が出てくる
・/etc/servicesを見ると、以下のように書いてある。
 websm 9090/udp # WebSM
 websm 9090/tcp # WebSM
http://support.apple.com/kb/ts1629?viewlocale=ja_JP
 ↑にはWebSphereのポートについての記載はないので注意。
 これのせいではまった。。


解決策
・/etc/servicesでUnassignedなポートを使うようにする。