第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)させます。

上記は一番簡単なインストールなんですが、これだと機能が制限されているらしく、
別でスクリプトを組むらしいですが、なんかいい感じにやってくれる奴があったのでそっちも紹介。
個人的には上記のほうがサーバーとして使うならお勧め。

参考:xRDP – Easy install xRDP on Ubuntu 18.04,20.04,22.04,22.10 (Script Version 1.4.6) – Griffon's IT Library (c-nergy.be)

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用のポートを開放する設定を入れないこと。
インターネット上から勝手に起動させられてしまう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です