mvdlx081 構築メモ
Doc
Remote Desktop * How To Install XRDP on Rocky Linux 9
Active Directory
* 第3章 realmd を使用した Active Directory ドメインへの接続
* RHEL 8 の AD-SUPPORT サブポリシーと RHEL 9 の AD-SUPPORT-LEGACY サブポリシー
* RHEL8から変わった暗号化ポリシーの設定方法
ホスト側で仮想ブリッジを設定する
ホストサーバ上に仮想サーバを立て他だけでもネットワークと接続できブラウザで検索できる(ホストサーバがネットワークと接続されていれば)
しかし、仮想サーバに固定IPを設定すると仮想サーバがネットワークと分断されブラウザ検索ができなくなる。
仮想サーバがdefaultネットワークを使用しているためなので、ホスト側の設定を変更しブリッジ接続をしてあげる必要がある。
192.168.122.0/24 のネットワークが libvirt によって作られている。

ネットワークソースをホストサーバで作成したbr0に変更する。(詳細はmvdlx080を参照)

仮想環境のデバイス情報を確認
[root@mvdlx081 ~]# nmcli d
device TYPE STATE CONNECTION
lo loopback 接続済み(外部) lo
enp8s0 ethernet 切断済み --
etgernetにつながっていないので接続してあげる
[root@mvdlx081 ~]# nmcli d connect enp8s0
デバイス 'enp8s0'が '195432f7-f631-4aa4-a2d6-5ba3f6e5a436' で正常にアクティベートされました。
再度、仮想環境のデバイス情報を確認
[root@mvdlx081 ~]# nmcli d
device TYPE STATE CONNECTION
enp8s0 ethernet 接続済み enp8s0
lo loopback 接続済み(外部) lo
接続を確認
[root@mvdlx081 ~]# nmcli c
device UUID TYPE DEVICE
enp8s0 195432f7-f631-4aa4-a2d6-5ba3f6e5a436 ethernet enp8s0
lo 68758480-6da1-3497-87fd-75771eff71a3 ethernet lo
nmcliで設定してもいいけどGUIでIPアドレス/ネットマスク(255.255.128.0 -> /21)/ゲートウェイ/DNSを設定する

管理アカウント
root
パスワード:MavissDesign1119_sne ※ vncでrootにログインするときはパスワードは別に設定されている → 20131119
tuser
パスワード:Maviss
仮想サーバの初期設定
Host名の変更
Linuxサーバのホスト名を変更する方法参照。
nmcli general hostname {変更するホスト名}
dnfの更新
dnf update -y
dnf upgrade -y
SELinux無効化
- 「/etc/selinux/config」を編集しSELINUXをディスエーブルする
SELINUX=disabled - OSの再起動
reboot - 設定の確認
getenforce
SSHの暗号化ポリシーを変更する
RHEL8からssh等で使える暗号化ポリシーがサービス個別ではなくシステム全体で設定するようになった。設定をしていないと「RHEL9サーバに古いOSからsshしようとして、no hostkey alg となり接続できない!」という現象に遭遇することになる。
※ 以前は/etc/ssh/sshd_configに必要なアルゴリズム等を記述できましたが、RHEL8からは記述しても有効にならないので注意が必要
- ポリシーを変更する。
Rocky8:
update-crypto-policies --set DEFAULT:AD-SUPPORTRocky9:update-crypto-policies --set DEFAULT:AD-SUPPORT-LEGACY - 仮想マシンをリブートする
reboot
リモートデスクトップ設定
手順 1. XRDPをインストールする 2. XRDPの開始と有効化 3. XRDPが起動しているか確認 4. ファイアウォールの設定 5. リモートデスクトップの画面が真っ黒になる場合の対処
1. XRDPをインストールする
Xrdp は Epel リポジトリから入手できる
dnf install -y epel-release
dnf install -y xrdp
2. XRDPの開始と有効化
systemctl enable xrdp --now
次のログが出て起動&自動起動設定がなされる
[root@mvdlx081 ~]# systemctl enable xrdp --now
Created symlink /etc/systemd/system/multi-user.target.wants/xrdp.service → /usr/lib/systemd/system/xrdp.service
3. XRDPが起動しているか確認
systemctl status xrdp
active(running)になっていればOK
[root@mvdlx081 ~]# systemctl status xrdp
● xrdp.service - xrdp daemon
Loaded: loaded (/usr/lib/systemd/system/xrdp.service; enabled; preset: disabled)
Active: active (running) since Wed 2025-02-26 16:39:23 JST; 1min 1s ago
Docs: man:xrdp(8)
man:xrdp.ini(5)
Main PID: 6303 (xrdp)
Tasks: 1 (limit: 203382)
Memory: 1.4M
CPU: 10ms
CGroup: /system.slice/xrdp.service
└─6303 /usr/sbin/xrdp --nodaemon
4. ファイアウォールの設定
Xrdp はポート 3389 でリッスンされる
firewall-cmd --add-port=3389/tcp --permanent
firewall-cmd --reload
- ファイアウォールの設定の確認
firewall-cmd --list-portsorvi /etc/firewalld/zones/public.xml
5. リモートデスクトップの画面が真っ黒になる場合の対処
おそらくXvncのセッションがたくさんある状態でそれが悪影響を及ぼしている。
ps aux | grep vnc
Xvncのすべてのセッションを削除しデーモンをリスタート
pkill Xvnc
systemctl restart xrdp
systemctl restart xrdp-sesman
リモートデスクトップで接続できるはず。 リモートデスクトップを切断した際にセッションが削除されず同じ状況に。。。。 対処法はまだわからず。。。
8. 接続できない時はウィンドウシステムの確認を行う
- 現在のウィンドウシステムを確認する。
X11 または tty であれば設定不要
waylandと表示された場合はそのままではTigervncが使えない
echo $XDG_SESSION_TYPE - ウィンドウシステムを変更する(waylandの場合)
vi /etc/gdm/custom.confWaylandの許可設定が#でコメントされているので設定を外してあげる
[daemon]
# Uncomment the line below to force the login screen to use Xorg
WaylandEnable=false
- アクセス確認
VNC設定
- Tigervncをインストールする(dnf install -y tigervnc-server)
- インストールされたか確認(vncserver -list)
- VNCのパラメータを設定する
- セッションのユーザマッピングを設定する
1. Tigervncをインストールする(dnf install -y tigervnc-server)
dnf install -y tigervnc-server
2. インストールされたか確認(vncserver -list)
vncserver -list
次のようなログが出ればOK
ワーニングの内容を端的に言うと、vncserverコマンドは使うな!デーモンの設定ファイルいじろ!
[root@mvdlx081 ~]# vncserver -list
WARNING: vncserver has been replaced by a systemd unit and is now considered deprecated and removed in upstream.
Please read /usr/share/doc/tigervnc/HOWTO.md for more information.
TigerVNC server sessions:
X DISPLAY # PROCESS ID
3. VNCのパラメータを設定する
最近のTigerVNCでは、vncserver コマンドが非推奨となり、代わりに systemd を使用してVNCサーバーを起動する方式に変更されています。
vncserverのデフォルト設定を開き変更を行う。
vi /etc/tigervnc/vncserver-config-defaults
以下の設定をコメントアウトor編集する
session=gnome
geometry=1980x1200
4. セッションのユーザマッピングを設定する
vncpasswdを設定してからでないとvncserverが起動しなかったので注意。 設定変更前に.vncを作成してしまっている場合も起動しなかったので注意。 1. vncserver.usersを開きユーザマッピングを記入する 2. デーモンをリロードする(systemctl daemon-reload) 3. 設定したユーザでログインパスワードを設定する(vncpasswd) 4. .vncがすでにある場合は「restorecon -RFv ~/.vnc」コマンドを使う 5. デーモンのスタート&自動起動設定(systemctl enable --now vncserver@:1) 6. デーモンのステータスを確認する(systemctl status vncserver@:1) 7. ファイアウォールの設定を変更しVNCのアクセスポートを開く(firewall-cmd) 8. 接続できない時はウィンドウシステムの確認を行う
1. vncserver.usersを開きユーザマッピングを記入する
vi /etc/tigervnc/vncserver.users
以下の設定を追記する
:1=root
:2=tuser
3. 設定したユーザでログインパスワードを設定する
vncpasswd
4. .vncがすでにある場合は「restorecon -RFv ~/.vnc」コマンドを使う
restorecon -RFv ~/.vnc
5. デーモンのスタート&自動起動設定
systemctl enable --now vncserver@:1
systemctl enable --now vncserver@:2
6. デーモンのステータスを確認する
systemctl status vncserver@:1
systemctl status vncserver@:2
ログがActive (running)になっていればOK
[root@mvdlx081 ~]# systemctl status vncserver@:1
● vncserver@:1.service - Remote desktop service (VNC)
Loaded: loaded (/usr/lib/systemd/system/vncserver@.service; enabled; preset: disabled)
Active: active (running) since Wed 2025-02-26 13:50:27 JST; 5min ago
Process: 3074 ExecStartPre=/usr/libexec/vncsession-restore :1 (code=exited, status=0/SUCCESS)
Process: 3086 ExecStart=/usr/libexec/vncsession-start :1 (code=exited, status=0/SUCCESS)
Main PID: 3093 (vncsession)
Tasks: 0 (limit: 203382)
Memory: 1.0M
CPU: 51ms
CGroup: /system.slice/system-vncserver.slice/vncserver@:1.service
‣ 3093 /usr/sbin/vncsession root :1
7. ファイアウォールの設定を変更しVNCのアクセスポートを開く
firewall-cmd --list-ports
firewall-cmd --add-service=vnc-server
firewall-cmd --runtime-to-permanent
firewall-cmd --permanent --add-port=5900-5999/tcp
firewall-cmd --reload
8. 接続できない時はウィンドウシステムの確認を行う
- 現在のウィンドウシステムを確認する。
X11 または tty であれば設定不要
waylandと表示された場合はそのままではTigervncが使えない
echo $XDG_SESSION_TYPE - ウィンドウシステムを変更する(waylandの場合)
vi /etc/gdm/custom.confWaylandの許可設定が#でコメントされているので設定を外してあげる
[daemon]
# Uncomment the line below to force the login screen to use Xorg
WaylandEnable=false
- アクセス確認
NTP設定
手順 1. chronyのインストール 2. chrony.conf の設定を変更する 3. chronyの再起動 4. 設定の確認
1. chronyのインストール
dnf install -y chrony
2. chrony.conf の設定を変更する
vi /etc/chrony.conf
初期で設定されたserverおよびpoolはコメントアウト
#pool 2.rocky.pool.ntp.org iburst
メイビスのドメインサーバを追加 port 0指定することで、サーバー機能は殺している。
# add settings
server mvddcsa2.maviss.local iburst
server mvddchq2.maviss.local iburst
port 0
3. chronyの再起動
systemctl restart chronyd
4. 設定の確認
chronyc sources
以下のようなログが出ればOK
[root@mvdlx081 ~]# chronyc sources
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^+ mvddcsa2.maviss.local 4 9 377 835 +1416us[+1290us] +/- 87ms
^* mvddchq2.maviss.local 4 7 377 116 -792us[ -816us] +/- 80ms
Active Directoryドメインサーチ設定
DNSで名前解決できるように設定を加える。
この設定をすることによりドメイン名を省略しても社内マシンにアクセスできるようになる。
手順 1. 「/etc/NetworkManager/NetworkManager.conf」を編集する 2. 「/etc/resolve.conf」を編集する 3. NetworkManagerを再起動
1. 「/etc/NetworkManager/NetworkManager.conf」を編集する
code /etc/NetworkManager/NetworkManager.conf
[main]フィールドに「dns=none」の設定を加える
# コメント行は省略
[main]
dns=none
[logging]
2. 「/etc/resolve.conf」を編集する
code /etc/resolve.conf
ドメインとネームサーバを設定する
domain maviss.local
nameserver 192.168.3.160
nameserver 192.168.1.160
3. NetworkManagerを再起動
systemctl restart NetworkManager
Active Directoryドメインへの接続設定
Active Directoryドメインへ参加するのにrealmdを使用する。
手順 1. realmdをインストール(dnf install -y realmd) 2. ドメインを認識できているか確認(realm discover maviss.local) 3. ドメインに参加する(realm join --user=administrator maviss.local) 4. ドメインへのアクセスできるか確認(id hirano@maviss.local) 5. ADサーバ側の管理画面に仮想マシンが登録されていることを確認
1. realmdをインストール
dnf install -y realmd
2. ドメインを認識できているか確認
realm discover maviss.local
次のようなログが出る
[root@mvdlx081 ~]# realm discover maviss.local
maviss.local
type: kerberos
realm-name: MAVISS.LOCAL
domain-name: maviss.local
configured: no
server-software: active-directory
client-software: sssd
required-package: oddjob
required-package: oddjob-mkhomedir
required-package: sssd
required-package: adcli
required-package: samba-common-tools
パッケージ(required-package)が足りないと言われたらインストールする
dnf install -y oddjob oddjob-mkhomedir sssd adcli samba-common-tools
3. ドメインに参加する
rootでログインしないと認証がうまくいかなかった。
suでrootに昇格して上記コマンドを打っても認証が通らなかったので注意。
realm join --user=Administrator maviss.local
ログインする際のパスワードは「MavissDesign1119」
4. ドメインへのアクセスできるか確認
ユーザを作らなくてもADサーバを参照してユーザを認識できる
id hirano@maviss.local
次のようなログが出ればOK
[root@mvdlx081 ~]# id hirano@maviss.local
uid=1405801136(hirano) gid=1405800513(domain users) groups=1405800513(domain users),1405801691(mega_legato_joules),1405801435(ku_jointresearch),1405801724(passwordmanagerg),1405801345(mega_common_info),1405801328(turnkey_solution),1405801367(authenticationg),1405801732(mvd-hirata_no1),1405801444(rel_sh2a-fpga),1405801336(2020_nedo_ai),1405801486(dct_svdes),1405801838(mvd-rel-sh2a),1405801164(mvd-astaris),1405801324(mvd-edge_ai),1405801480(2nd-proper),1405801466(gov_hokkai),1405801153(mvd_fq_no1),1405801156(mvd_v_corp),1405801157(mvd_v_fpga),1405801256(mrld-next),1405801161(mvd-admin),1405801173(mvd-kosen),1405801158(mvd_v_fta),1405801163(mvd-all),1405801405(tdc_dk1),1405801172(mvd-hq)
5. ADサーバ側の管理画面に仮想マシンが登録されていることを確認
- リモートデスクトップで「mvddchq2」にアクセス
ユーザ:MAVISS\dc-admin
パスワード:MavissDesign1119_sne - 「Active Directory ユーザとコンピュータ」を開きMVDLX081が登録されていることを確認

Active Directoryに参加者への共通設定
- 「/etc/sssd/sssd.conf」を編集する(vi /etc/sssd/sssd.conf)
- sssdの再起動(systemctl restart sssd.service)
- ログインテスト(ssh hirano@mvdlx081)
1. 「/etc/sssd/sssd.conf」を編集する(vi /etc/sssd/sssd.conf)
maviss.localに所属する人すべてに反映される設定を記載する
※ コメントがあると無効な引数エラーが発生するので注意!!!
→ SSSDが起動せずはまった。。。
[sssd]
domains = maviss.local
config_file_version = 2
services = nss, pam
[domain/maviss.local]
default_shell = /bin/tcsh
krb5_store_password_if_offline = True
cache_credentials = True
krb5_realm = MAVISS.LOCAL
realmd_tags = manages-system joined-with-adcli
id_provider = ad
fallback_homedir = /home/%u
ad_domain = maviss.local
use_fully_qualified_names = False
ldap_id_mapping = True
access_provider = ad
特定のユーザのみアクセスできるようにする場合「/etc/sssd/sssd.conf」に追記する
access_provider = simple
simple_allow_user = $
simple_allow_groups = mvd-edge_ai
2. sssdの再起動
systemctl restart sssd.service
3. ログインテスト
- sshでログイン可能か確認
ActiveDirectoryに設定したパスワードでログインできるはず
ssh hirano@mvdlx081 - homeにユーザディレクトリが自動生成されていることを確認
pwd