第4回、ゲームサーバーの立て方~XRDP~
さて、今回はリモートアクセスを実際にやってみようです!
以前話した、一度ゲームサーバーの構築にトライした人が、
UbuntuデスクトップPCを埃をかぶらせて放置していると、
なのでそいつをゲームサーバーにという事で、Ubuntuデスクトップで今後の説明はやっていこうと思います。
正直言うとUbuntuデスクトップは好きじゃないです。
初めて触ったときのイメージがイマイチだったので。
ただ、実際サーバーとして使ってみると、そこまでAlmaLinuxと違いがなく、
悪くは無いかと思い始めました。
まぁWindowsの代わりにメインで使う気にはなれませんが。
使用するバージョンは22.04です。
何故かというと、Arma3用にUbuntu22.04サーバーを使っているからです。
いざというときはCockPitさんが使えるからというのがあります。
20.04のCockPitは今ホストで使っているCockPitと連携がとりづらいから。
ちなみに、仮想環境で立ち上げました。
第1回、ゲームサーバーの立て方ー序章ー
第2回、ゲームサーバーの立て方~ルーターは友達?~
第3回、ゲームサーバーの立て方~リモートアクセス~
第4回、ゲームサーバーの立て方~XRDP~ --now
第5回、ゲームサーバーの立て方~ゲームインストール~
第6回、ゲームサーバーの立て方~設定編~
第7回、ゲームサーバーの立て方~運用編~
Ubuntu22.04 デスクトップ
今回は最小構成でインストールしました。
まぁゲームサーバーが動けばいいだけなので、
インストールしたばかりでは
メモリ:約1GB
ストレージ:約13GB
程使用しています。
今回驚いたことが1つ、
なんと22.04のバージョンは標準でリモートデスクトップに対応していました。
しかも、認証方式も最新(?)のネットワークレベル認証に対応した方式。
XRDPでは対応できていないのに!
これは説明が楽勝だと思いきや、残念なことにホストユーザー側がログインしていないと使えない。
という事で没です。
今後のバージョンアップに期待。
XRDP
Linuxでリモートデスクトップといえばこいつな気がします。
勿論、AlmaLinuxで使っていました。
今でも一部使っています。
CockPitが使えるためほぼCLI(コマンド・ライン・インターフェース)の環境に移行しつつありますが。
Linux環境のWEBブラウザを使うためだけに使っているくらいです。
インストール
まずは、Ubuntuのデスクトップから端末を開きます。
するとCLIで入力できるのでコマンドを打ちます。(コピペするときは一行づつ)
sudo apt -y install xrdp
sudo systemctl enable xrdp --now
1行目でXRDPのインストール、「-y」はインストールするかどうか聞かれたときに全部Yesだと勝手に入れてくれるオプションです。
2行目でXRDPサービスを自動起動(enable)に登録をしたうえで起動(--now)させます。
上記は一番簡単なインストールなんですが、これだと機能が制限されているらしく、
別でスクリプトを組むらしいですが、なんかいい感じにやってくれる奴があったのでそっちも紹介。
個人的には上記のほうがサーバーとして使うならお勧め。
wget https://www.c-nergy.be/downloads/xRDP/xrdp-installer-1.4.6.zip
unzip xrdp-installer-1.4.6.zip
chmod +x ~/xrdp-installer-1.4.6.sh
./xrdp-installer-1.4.6.sh
rm xrdp-installer-1.4.6.sh xrdp-installer-1.4.6.zip
XRDP自体は多分同じもの。
次に、リモートデスクトップで繋ぐためのIPアドレスを確認します。
まぁサーバーPCのローカルアドレスが分かるならこの作業は飛ばしてください。
ip a
なんかローカルアドレスっぽいアドレスを見つけてください。
コマンドの意味はすべてのIPを表示させるです。
ファイヤーウォール
リモートデスクトップのデフォルトのポートは3389なので、こいつを開けてあげます。
ここでちょっと問題なのが、
Ubuntuはデフォルトでファイヤーウォールが無効になっています。
はっきり言って訳が分かりません。
AlmaLinuxはそんなことはなく、インストールしたばかりだとファイヤーウォールが有効なうえ最低限のポートが開いている状態なのですが。。。
sudo ufw status
念のため上記コマンドで確認してみてください。
[Status: inactive]と表示されたらファイヤーウォールが無効になっています。
これはサーバーとして公開するうえで危険なので有効にしましょう。
とりあえず今回はゲームサーバーを立てる上で必要なポートだけ設定して有効にするやり方を書きます。
sudo ufw default deny
sudo ufw allow 3389
sudo ufw allow proto tcp to 0.0.0.0/0 port 27102,27131
sudo ufw allow proto udp to 0.0.0.0/0 port 27102,27131
sudo ufw enable
sudo ufw status
1行目:すべてのポートを閉じる。(既定の設定だが念のため)
2行目:リモートデスクトップ用のポートを開く(IPV4とIPV6)
3行目:ポート27102と27131のTCPを開く(IPV4のみ)
4行目:ポート27102と27131のUDPを開く(IPV4のみ)
5行目:ファイヤーウォールを有効にする。
6行目:ステータスをチェックする。
参考:Ubuntu Server 20.04 LTS ファイアウォール ufw の設定方法 - インフラエンジニアのメモ帳 (server-network-note.net)
ufwでIPv4のポートだけを開くには? | LFI (linuxfan.info)
これでとりあえず、リモートデスクトップ用のポートとゲームサーバー用のポート開放が完了。
Let'sリモートアクセス!
次は、クライアント側のWindowsでの説明。
Windowsメニューでもその横にある検索でもいいんですが、クリックしたら「rimo」と入力するとリモートデスクトップのアプリが出てくるはず。
リモートデスクトップアプリを起動して、コンピューター(C):にサーバーPCのローカルIPアドレスを
ユーザー名に:サーバーPCのユーザー名をそれぞれ入力して接続をクリック。
下記警告が出るが「はい」をクリック。
これがUbuntu22.04では対応しているが、XRDPで対応していない認証機能。
まぁ自宅で使う分には無視して問題ない。
一応RDPの通信自体は暗号化されているらしい。
気になるのであれば念のためポートの開放でメインPCのIPからのみ許可するなどの設定も可能。
その場合はメインPC のローカルIPを固定しなければならないなど
ひと手間かかり説明が長くなるので今回は割愛。
うまく接続できれば下記画像のウィンドウが立ち上がるので、
サーバーPCのパスワードを入力して「OK」を押せばつながるはず。
うまくいかないときはネットで調べてね。
Wol(Wake On LAN)
Wolは下記参考サイトを見てもらったほうが早いかも?
参考:Wake On LANとは? 遠隔から会社PCの電源をオンにする方法や設定手順を解説! (splashtop.co.jp)
クライアントソフト:nWOL: Wake on LANを使った遠隔PC起動管理ツール (n-archives.net)
注意点としては、ルーターにWol用のポートを開放する設定を入れないこと。
インターネット上から勝手に起動させられてしまう。