MGO(メタルギアオンライン)でホストになる場合は外部からのTCP、UDP通信をPS3が受信出来る必要があります。
通常は間にルーター(CTUに機能あり)が入っているので外部からのアクセスはPS3に届かず遮断されます。
そこでNAT(静的アドレス変換)という機能を使って特定のポートにアクセスがあった場合にPS3に届くようにします。
しかしこれも初心者には困難な作業なのでUPnPという機能が作られました。
UPnPの機能は対応するアプリケーションからルーターにUPnPを使うと指示が行くと勝手に(一時的に)NATの設定を行ってくれます。
この機能を利用することで面倒なNATの設定を行わなくて良くなります。
そしてCTUにもMGOにもUPnPの機能がついています。
(MGOのUPnPもONにする必要があります)
なので何もしなくてもOKと思っていたのですが・・・
外部から繋がりません!
自宅のネット環境はWAN-CTU-LinuxGateway-内部LANとなっていて
二重ルーター状態となっているのでLinux側が原因かもしれないと思い
LinuxのUPnP機能の確認を行ってみました。(Linuxには既にUPnPは導入済み)
MGOで鯖立てを試みた後にコマンドで
iptables -t nat -L
と打ってUPnPが動いているか確認するとちゃんとDNATの設定が出来ていました。
ということでGateway側が問題である可能性は非常に少なくなりました。
問題はCTUにあることが大体絞れたので設定の再確認を行うことに。
(二重ルータでCTUまでUPnPが届かない可能性も高い)
まずはUPnPの設定から確認・・・ ONになってます。
次にファイアウォールの設定を確認・・・ むむむ!
すっかり忘れていましたが最後のルールに許可しているポート以外のTCP-SYNは全て遮断するようにしてました(^^;
(まあセキュリティ的には当然の設定なわけですが)
ということでこのTCP-SYN全シャットアウトのルールの前にMGO用のポート開放ルールを追加しました。
※IP部分は内側ルータのアドレスになります。
これで繋がるかもしれないので一旦CTUに設定を反映してMGOで鯖立て挑戦。
繋がりません・・・
う~ん、UPnPが正常に動いていれば繋がるはずなのですが。
やはり二重ルータだとCTU側にはUPnPが正しく伝わらないのでしょうか。
仕方が無いので手動でNATの設定をしました。
再度、MGOで鯖立てに挑戦。
繋がりました!
二重ルータじゃなければCTUのUPnPはMGOでは正常に動くのだろうか?
(恐らく繋がるのだと思いますが)
とにかく二重ルータでCTU入ってる人は手動NAT設定が必要なようですね。