コンテンツにスキップ

mvdlx082 構築メモ

1. Index

2. Doc

  • mvdlx080
  • 「仮想マシンマネージャで仮想マシンを立ち上げる」の手順でやるとmvdlx081よりも設定を省略できる
  • mvdlx081
  • 仮想マシンをインストールする際の設定を頑張ったのでやらなくてもよい手順が生まれた

3. LinuxサーバをADサーバのDNSに登録する

ADサーバ(mvddchq2、mvddcsa2)は社内マシン用のDNSサーバーも兼用している。
登録されていないと名前解決できず、mvdlx###でアクセスできない。 ポイントは以下。 * Windowsはドメイン加入時にDNSに自動登録される
* Linuxはドメイン加入時にDNSに自動登録されない → 登録が必要!!!

  1. ADサーバ(mvddchq2、mvddcsa2)にリモートデスクトップで接続する。
    2つのサーバはレプリケーション(多重化)されているため、どちらにアクセスしてもよい。
  2. DNSツールを起動>前方参照ゾーン>maviss.local>空白部分を右クリック>新しいホスト alt text
  3. 登録したいマシン名とIPアドレスを記載>ホストの追加 alt text

4. 管理アカウント

OSインストール時にちゃんと設定したので、ここでの設定は不要。
他のマシンと同じ設定にしている。

5. Host名の変更

Linuxサーバのホスト名を変更する方法参照。 nmcli general hostname {変更するホスト名}

6. SSHの暗号化ポリシーを変更する

RHEL8からssh等で使える暗号化ポリシーがサービス個別ではなくシステム全体で設定するようになった。
設定をしていないと「RHEL9サーバに古いOSからsshしようとして、no hostkey alg となり接続できない!」という現象に遭遇することになる。
※ 以前は/etc/ssh/sshd_configに必要なアルゴリズム等を記述できたが、RHEL8からは記述しても有効にならないので注意
これを行うまでssh時に名前解決ができずIPを直打ちする必要があったので早めに設定する。

  1. ポリシーを変更する。 Rocky8: update-crypto-policies --set DEFAULT:AD-SUPPORT Rocky9: update-crypto-policies --set DEFAULT:AD-SUPPORT-LEGACY
  2. 仮想マシンをリブートする reboot

7. ホスト側で仮想ブリッジを設定する

OSインストール時にちゃんと設定したので、ここでの設定は不要。
IPアドレス直打ちでSSHできることは確認済み。(ssh root@192.168.1.182 & ssh tuser@192.168.1.182)
-> Host名がちゃんと設定できてなくて名前解決はできていない??

8. dnfの更新

dnf update -y 
dnf upgrade -y

9. SELinux無効化

  1. 「/etc/selinux/config」を編集しSELINUXをディスエーブルする SELINUX=disabled
  2. OSの再起動 reboot
  3. 設定の確認 getenforce

9.1. リモートデスクトップ設定

9.1.1. XRDPをインストールする

Xrdp は Epel リポジトリから入手できる

dnf install -y epel-release
dnf install -y xrdp

9.1.2. XRDPの開始と有効化

systemctl enable xrdp --now 次のログが出て起動&自動起動設定がなされる

9.1.3. XRDPが起動しているか確認

systemctl status xrdp active(running)になっていればOK

9.1.4. ファイアウォールの設定

Xrdp はポート 3389 でリッスンされる 1. 設定と確認

firewall-cmd --list-ports
firewall-cmd --add-port=3389/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-ports

確認は以下のコマンドでもOK。
vi /etc/firewalld/zones/public.xml 2. ローカルPCからリモートデスクトップでアクセスできるか確認。
mvdlx081と違いすんなりいった。セッションもちゃんと切られており問題なし。

9.2. VNC設定

  1. Tigervncをインストールする(dnf install -y tigervnc-server)
  2. インストールされたか確認(vncserver -list)
  3. VNCのパラメータを設定する
  4. セッションのユーザマッピングを設定する

9.2.1. Tigervncをインストールする(dnf install -y tigervnc-server)

  1. パッケージマネージャでインストールする
    dnf install -y tigervnc-server
  2. 適当にコマンドを打って確認
    vncserver -list

9.2.2. VNCのパラメータを設定する

最近のTigerVNCでは、vncserver コマンドが非推奨となり、
代わりに systemd を使用してVNCサーバーを起動する方式に変更されています。
vncserverのデフォルト設定を開き変更を行う。
code /etc/tigervnc/vncserver-config-defaults
以下の設定をコメントアウトor編集する

session=gnome
geometry=1920x1080

9.2.3. セッションのユーザマッピングを設定する

vncpasswdを設定してからでないとvncserverが起動しなかったので注意。 設定変更前に.vncを作成してしまっている場合も起動しなかったので注意。

9.2.3.1. vncserver.usersを開きユーザマッピングを記入する

code /etc/tigervnc/vncserver.users 以下の設定を追記する

:1=root
:2=tuser
9.2.3.2. 設定したユーザでログインパスワードを設定する

ユーザごとにパスワードを設定する
vncpasswd
vnc接続のキャッシュも削除しておく
restorecon -RFv ~/.vnc

9.2.3.3. デーモンのスタート & 自動起動設定 & 確認
sudo systemctl enable --now vncserver@:1
sudo systemctl status vncserver@:1

sudo systemctl enable --now vncserver@:2
sudo systemctl status vncserver@:2

ログがActive (running)になっていればOK
vnserver@:1が立ち上がらなかったがOSをリブートすると治った。

9.2.3.4. ファイアウォールの設定を変更し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
firewall-cmd --list-ports
9.2.3.5. 接続できない時はウィンドウシステムの確認を行う
  1. 現在のウィンドウシステムを確認する。 X11 または tty であれば設定不要 waylandと表示された場合はそのままではTigervncが使えない echo $XDG_SESSION_TYPE
  2. ウィンドウシステムを変更する(waylandの場合) vi /etc/gdm/custom.conf Waylandの許可設定が#でコメントされているので設定を外してあげる
[daemon]
# Uncomment the line below to force the login screen to use Xorg
WaylandEnable=false
  1. アクセス確認
9.2.3.6. リモートデスクトップの画面が真っ黒になる場合の対処

おそらくXvncのセッションがたくさんある状態でそれが悪影響を及ぼしている。
ps aux | grep vnc

Xvncのすべてのセッションを削除しデーモンをリスタート

pkill Xvnc
systemctl restart xrdp
systemctl status xrdp

systemctl restart xrdp-sesman
systemctl status xrdp-sesman

systemctl start vncserver@:1
systemctl status vncserver@:1

systemctl start vncserver@:2
systemctl status vncserver@:2

上記でもうまくいかなかったのでリブートで解決 reboot

9.3. NTP設定

手順 1. chronyのインストール 2. chrony.conf の設定を変更する 3. chronyの再起動 4. 設定の確認

9.3.1. chronyのインストール

dnf install -y chrony

9.3.2. chrony.conf の設定を変更する

code /etc/chrony.conf 初期で設定されたserverおよびpoolはコメントアウト

#pool 2.rocky.pool.ntp.org iburst

.confの末尾にメイビスのドメインサーバを追加 port 0指定することで、サーバー機能は殺している。

# add settings
server mvddcsa2.maviss.local iburst
server mvddchq2.maviss.local iburst
port 0

9.3.3. chronyの再起動

systemctl restart chronyd

9.3.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

9.4. Active Directoryドメインサーチ設定

DNSで名前解決できるように設定を加える。
この設定をすることによりドメイン名を省略しても社内マシンにアクセスできるようになる。

9.4.1. 「/etc/NetworkManager/NetworkManager.conf」を編集する

code /etc/NetworkManager/NetworkManager.conf

[main]フィールドに「dns=none」の設定を加える

# コメント行は省略
[main]
dns=none

[logging]

9.4.2. 「/etc/resolve.conf」を編集する

code /etc/resolve.conf

ドメインとネームサーバを設定する

domain     maviss.local
nameserver 192.168.1.160
nameserver 192.168.3.160

9.4.3. NetworkManagerを再起動

systemctl restart NetworkManager

9.5. Active Directoryドメインへの接続設定

Active Directoryドメインへ参加するのにrealmdを使用する。

9.5.1. realmdをインストール

dnf install -y realmd

9.5.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

9.5.3. ドメインに参加する

rootでログインしないと認証がうまくいかなかった。
suでrootに昇格して上記コマンドを打っても認証が通らなかったので注意。
realm join --user=Administrator maviss.local
ログインする際のパスワードは「MavissDesign1119」

9.5.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)

9.5.5. ADサーバ側の管理画面に仮想マシンが登録されていることを確認

  1. リモートデスクトップで「mvddchq2」にアクセス
    ユーザ:MAVISS\dc-admin
    パスワード:MavissDesign1119_sne
  2. 「Active Directory ユーザとコンピュータ」を開きMVDLX081が登録されていることを確認
    Active Directory ユーザとコンピュータ

9.6. Active Directoryに参加者への共通設定

9.6.1. 「/etc/sssd/sssd.conf」を編集する

code /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

変更点は以下。 * default_shell = /bin/tcsh * デフォルトのシェルを変更。 * 入っていない場合はインストール!!! * use_fully_qualified_names = False * ログインユーザー時にドメイン名を不要にしユーザ名だけでOKにする。 * fallback_homedir = /home/%u * 初回ログイン時に自動的に作られるdir名からマシン名(%d)をのぞいた。 → ユーザでぃくとり名が「hirano.local」から「hirano」になる。 * dyndns_update = True * DNSに登録する。逆引きのみで、前方参照はActiveDirectoryのDNSマネージャから設定してあげる必要がある * dyndns_refresh_interval = 43200 * dyndns_update_ptr = true * dyndns_ttl = 3600

特定のユーザのみアクセスできるようにする場合「/etc/sssd/sssd.conf」に追記する

access_provider = simple
simple_allow_user = $
simple_allow_groups = mvd-edge_ai

9.6.2. sssdの再起動

systemctl restart sssd.service

9.6.3. ログインテスト

  1. sshでログイン可能か確認 ActiveDirectoryに設定したパスワードでログインできるはず ssh hirano@mvdlx081
  2. homeにユーザディレクトリが自動生成されていることを確認 pwd