RHEL8/CentOS8の標準samba 4.12では新規Active Directoryサーバの構築は非サポート?

RHEL8/CentOS8/Oracle Linux 8で用意されているsambaパッケージを使ってActive Direcotryサーバを立てることができるか確認してみた。

公式資料:[Red Hat Enterprise Linux 8 にさまざまな種類のサーバーをデプロイするためのガイド]-[第3章 SAMBA をサーバーとして使用]

まずは、パッケージのインストール

# yum install samba
<略>
# rpm -qa|grep samba
samba-libs-4.12.3-12.el8.3.x86_64
samba-common-4.12.3-12.el8.3.noarch
samba-client-libs-4.12.3-12.el8.3.x86_64
samba-common-tools-4.12.3-12.el8.3.x86_64
samba-common-libs-4.12.3-12.el8.3.x86_64
samba-4.12.3-12.el8.3.x86_64
#

で、RHEL8/CentOS8での特徴の1つ、「samba-toolが無い」問題。

じゃぁ、どうするの?と前出のマニュアル見てみれば手動で /etc/samba/smb.conf を編集している。

初期状態でどんな設定になるのか

[root@samba48 ~]# ls -l /etc/samba/
合計 20
-rw-r--r--. 1 root root    20  8月 18 05:50 lmhosts
-rw-r--r--. 1 root root   706  8月 18 05:50 smb.conf
-rw-r--r--. 1 root root 11327  8月 18 05:50 smb.conf.example
[root@samba48 ~]# cat /etc/samba/smb.conf
# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.

[global]
        workgroup = SAMBA
        security = user

        passdb backend = tdbsam

        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw

[homes]
        comment = Home Directories
        valid users = %S, %D%w%S
        browseable = No
        read only = No
        inherit acls = Yes

[printers]
        comment = All Printers
        path = /var/tmp
        printable = Yes
        create mask = 0600
        browseable = No

[print$]
        comment = Printer Drivers
        path = /var/lib/samba/drivers
        write list = @printadmin root
        force group = @printadmin
        create mask = 0664
        directory mask = 0775
[root@samba48 ~]#

参考まで、samba-toolsで作った場合のsmb.confは下記の様になっている。

# Global parameters
[global]
        dns forwarder = 上DNSサーバIPアドレス
        netbios name = samba48
        realm = testad2.local
        server role = active directory domain controller
        workgroup = TESTAD2
        idmap_ldb:use rfc2307 = yes
        allow dns updates = nonsecure
server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate dns
        ldap server require strong auth = no

[netlogon]
        path = /usr/local/samba/var/locks/sysvol/testad2.local/scripts
        read only = No

[sysvol]
        path = /usr/local/samba/var/locks/sysvol
        read only = No

で、[第3章 SAMBA をサーバーとして使用]を見ると、「スタンドアローンサーバとして単独WORKGROUPをたてる場合」と「既存Active Directory環境にメンバーサーバとして参加する場合」しか用意されておらず、「新規Active Directory環境を作る場合」というものが無い。

samba-toolコマンドを使用しない場合のActive Directory構築手順も見当たらないため、RHEL8/CentOS8が標準で用意しているsambaパッケージを使用しての構築はできないようだ。


CentOS8の場合「yum search samba」でパッケージ検索すると、「centos-releae-samba41?」といった追加レポジトリが出てくる。

[root@samba48 ~]# yum search samba
メタデータの期限切れの最終確認: 0:30:30 時間前の 2021年01月21日 09時31分03秒 に実施しました。
==================================== 名前 完全一致: samba ====================================
samba.x86_64 : Server and Client software to interoperate with Windows machines
================================== 名前 & 概要 一致: samba ===================================
centos-release-samba411.noarch : Samba 4.11 packages from the CentOS Storage SIG repository
centos-release-samba412.noarch : Samba 4.12 packages from the CentOS Storage SIG repository
centos-release-samba413.noarch : Samba 4.13 packages from the CentOS Storage SIG repository
ipa-client-samba.x86_64 : Tools to configure Samba on IPA client
pcp-pmda-samba.x86_64 : Performance Co-Pilot (PCP) metrics for Samba
python3-samba.i686 : Samba Python3 libraries
python3-samba.x86_64 : Samba Python3 libraries
python3-samba-test.x86_64 : Samba Python libraries
samba-client.x86_64 : Samba client programs
samba-client-libs.x86_64 : Samba client libraries
samba-client-libs.i686 : Samba client libraries
samba-common.noarch : Files used by both Samba servers and clients
samba-common-libs.x86_64 : Libraries used by both Samba servers and clients
samba-common-tools.x86_64 : Tools for Samba servers and clients
samba-krb5-printing.x86_64 : Samba CUPS backend for printing with Kerberos
samba-libs.x86_64 : Samba libraries
samba-libs.i686 : Samba libraries
samba-test.x86_64 : Testing tools for Samba servers and clients
samba-test-libs.x86_64 : Libraries need by the testing tools for Samba servers and clients
samba-winbind.x86_64 : Samba winbind
samba-winbind-clients.x86_64 : Samba winbind clients
samba-winbind-krb5-locator.x86_64 : Samba winbind krb5 locator
samba-winbind-modules.i686 : Samba winbind modules
samba-winbind-modules.x86_64 : Samba winbind modules
====================================== 名前 一致: samba ======================================
samba-pidl.noarch : Perl IDL compiler
====================================== 概要 一致: samba ======================================
ctdb.x86_64 : A Clustered Database based on Samba's Trivial Database (TDB)
[root@samba48 ~]#

centos-release-samba413をインストールしてみる

[root@samba48 ~]# yum install centos-release-samba413
メタデータの期限切れの最終確認: 1:32:19 時間前の 2021年01月21日 09時31分03秒 に実施しました。
依存関係が解決しました。
==============================================================================================
 パッケージ                            Arch           バージョン         リポジトリー   サイズ
==============================================================================================
インストール:
 centos-release-samba413               noarch         1.0-1.el8          extras         8.8 k
依存関係のインストール:
 centos-release-storage-common         noarch         2-2.el8            extras         9.4 k

トランザクションの概要
==============================================================================================
インストール  2 パッケージ

ダウンロードサイズの合計: 18 k
インストール済みのサイズ: 2.0 k
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/2): centos-release-samba413-1.0-1.el8.noarch.rpm           231 kB/s | 8.8 kB     00:00
(2/2): centos-release-storage-common-2-2.el8.noarch.rpm       252 kB/s | 9.4 kB     00:00
----------------------------------------------------------------------------------------------
合計                                                           31 kB/s |  18 kB     00:00
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                      1/1
  インストール     : centos-release-storage-common-2-2.el8.noarch                         1/2
  インストール     : centos-release-samba413-1.0-1.el8.noarch                             2/2
  scriptletの実行中: centos-release-samba413-1.0-1.el8.noarch                             2/2
  検証             : centos-release-samba413-1.0-1.el8.noarch                             1/2
  検証             : centos-release-storage-common-2-2.el8.noarch                         2/2

インストール済み:
  centos-release-samba413-1.0-1.el8.noarch    centos-release-storage-common-2-2.el8.noarch

完了しました!
[root@samba48 ~]#

そうすると、インストールされていたsmba 4.12がアップデートできるようになりました

[root@samba48 ~]# yum check-update
メタデータの期限切れの最終確認: 0:02:42 時間前の 2021年01月21日 11時03分56秒 に実施しました。

libwbclient.x86_64                            4.13.3-1.el8                     centos-samba413
samba.x86_64                                  4.13.3-1.el8                     centos-samba413
samba-client-libs.x86_64                      4.13.3-1.el8                     centos-samba413
samba-common.noarch                           4.13.3-1.el8                     centos-samba413
samba-common-libs.x86_64                      4.13.3-1.el8                     centos-samba413
samba-common-tools.x86_64                     4.13.3-1.el8                     centos-samba413
samba-libs.x86_64                             4.13.3-1.el8                     centos-samba413
[root@samba48 ~]#

yum updateすると、「/sbin/ldconfig: /lib64/libsmbldap.so.2 はシンボリックリンクではありません」って出てるけど、これは大丈夫なんだろうか….

[root@samba48 ~]# yum update -y
メタデータの期限切れの最終確認: 0:03:30 時間前の 2021年01月21日 11時03分56秒 に実施しました。
依存関係が解決しました。
==============================================================================================
 パッケージ                Arch    バージョン                          リポジトリー     サイズ
==============================================================================================
アップグレード:
 libwbclient               x86_64  4.13.3-1.el8                        centos-samba413   37 k
 samba                     x86_64  4.13.3-1.el8                        centos-samba413  757 k
 samba-client-libs         x86_64  4.13.3-1.el8                        centos-samba413  5.5 M
 samba-common              noarch  4.13.3-1.el8                        centos-samba413  135 k
 samba-common-libs         x86_64  4.13.3-1.el8                        centos-samba413  124 k
 samba-common-tools        x86_64  4.13.3-1.el8                        centos-samba413  416 k
 samba-libs                x86_64  4.13.3-1.el8                        centos-samba413  110 k
依存関係のインストール:
 checkpolicy               x86_64  2.9-1.el8                           baseos           348 k
 glusterfs                 x86_64  6.0-37.2.el8                        baseos           662 k
 glusterfs-api             x86_64  6.0-37.2.el8                        appstream         95 k
 glusterfs-client-xlators  x86_64  6.0-37.2.el8                        baseos           870 k
 glusterfs-libs            x86_64  6.0-37.2.el8                        baseos           413 k
 python3-audit             x86_64  3.0-0.17.20191104git1c2f876.el8     baseos            86 k
 python3-libsemanage       x86_64  2.9-3.el8                           baseos           127 k
 python3-policycoreutils   noarch  2.9-9.el8                           baseos           2.2 M
 python3-setools           x86_64  4.3.0-2.el8                         baseos           626 k
 samba-vfs-glusterfs       x86_64  4.13.3-1.el8                        centos-samba413   40 k

トランザクションの概要
==============================================================================================
インストール    10 パッケージ
アップグレード   7 パッケージ

ダウンロードサイズの合計: 12 M
パッケージのダウンロード:
(1/17): glusterfs-api-6.0-37.2.el8.x86_64.rpm                 1.2 MB/s |  95 kB     00:00
(2/17): checkpolicy-2.9-1.el8.x86_64.rpm                      1.4 MB/s | 348 kB     00:00
(3/17): glusterfs-6.0-37.2.el8.x86_64.rpm                     2.4 MB/s | 662 kB     00:00
(4/17): python3-audit-3.0-0.17.20191104git1c2f876.el8.x86_64. 3.0 MB/s |  86 kB     00:00
(5/17): python3-libsemanage-2.9-3.el8.x86_64.rpm              3.2 MB/s | 127 kB     00:00
(6/17): glusterfs-libs-6.0-37.2.el8.x86_64.rpm                3.4 MB/s | 413 kB     00:00
(7/17): glusterfs-client-xlators-6.0-37.2.el8.x86_64.rpm      2.5 MB/s | 870 kB     00:00
(8/17): python3-setools-4.3.0-2.el8.x86_64.rpm                4.4 MB/s | 626 kB     00:00
(9/17): samba-vfs-glusterfs-4.13.3-1.el8.x86_64.rpm           253 kB/s |  40 kB     00:00
(10/17): libwbclient-4.13.3-1.el8.x86_64.rpm                  379 kB/s |  37 kB     00:00
(11/17): samba-4.13.3-1.el8.x86_64.rpm                        2.4 MB/s | 757 kB     00:00
(12/17): python3-policycoreutils-2.9-9.el8.noarch.rpm         3.9 MB/s | 2.2 MB     00:00
(13/17): samba-common-4.13.3-1.el8.noarch.rpm                 2.6 MB/s | 135 kB     00:00
(14/17): samba-common-libs-4.13.3-1.el8.x86_64.rpm            1.4 MB/s | 124 kB     00:00
(15/17): samba-common-tools-4.13.3-1.el8.x86_64.rpm           3.2 MB/s | 416 kB     00:00
(16/17): samba-libs-4.13.3-1.el8.x86_64.rpm                   1.4 MB/s | 110 kB     00:00
(17/17): samba-client-libs-4.13.3-1.el8.x86_64.rpm            5.0 MB/s | 5.5 MB     00:01
----------------------------------------------------------------------------------------------
合計                                                          4.2 MB/s |  12 MB     00:02
警告: /var/cache/dnf/centos-samba413-5ae787790677bc21/packages/samba-vfs-glusterfs-4.13.3-1.el8.x86_64.rpm: ヘッダー V4 RSA/SHA1 Signature、鍵 ID e451e5b5: NOKEY
CentOS-8 - Samba 4.13                                         1.0 MB/s | 1.0 kB     00:00
GPG 鍵 0xE451E5B5 をインポート中:
 Userid     : "CentOS Storage SIG (http://wiki.centos.org/SpecialInterestGroup/Storage) <security@centos.org>"
 Fingerprint: 7412 9C0B 173B 071A 3775 951A D4A2 E50B E451 E5B5
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage
鍵のインポートに成功しました
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                      1/1
  scriptletの実行中: samba-common-4.13.3-1.el8.noarch                                     1/1
  scriptletの実行中: samba-common-4.13.3-1.el8.noarch                                    1/24
  アップグレード   : samba-common-4.13.3-1.el8.noarch                                    1/24
  scriptletの実行中: samba-common-4.13.3-1.el8.noarch                                    1/24
  アップグレード   : samba-common-libs-4.13.3-1.el8.x86_64                               2/24
  scriptletの実行中: samba-common-libs-4.13.3-1.el8.x86_64                               2/24
  アップグレード   : samba-client-libs-4.13.3-1.el8.x86_64                               3/24
  scriptletの実行中: samba-client-libs-4.13.3-1.el8.x86_64                               3/24
/sbin/ldconfig: /lib64/libsmbldap.so.2 はシンボリックリンクではありません


  アップグレード   : libwbclient-4.13.3-1.el8.x86_64                                     4/24
  アップグレード   : samba-libs-4.13.3-1.el8.x86_64                                      5/24
  scriptletの実行中: samba-libs-4.13.3-1.el8.x86_64                                      5/24
/sbin/ldconfig: /lib64/libsmbldap.so.2 はシンボリックリンクではありません


  インストール     : glusterfs-libs-6.0-37.2.el8.x86_64                                  6/24
  scriptletの実行中: glusterfs-libs-6.0-37.2.el8.x86_64                                  6/24
/sbin/ldconfig: /lib64/libsmbldap.so.2 はシンボリックリンクではありません


  scriptletの実行中: glusterfs-6.0-37.2.el8.x86_64                                       7/24
  インストール     : glusterfs-6.0-37.2.el8.x86_64                                       7/24
  scriptletの実行中: glusterfs-6.0-37.2.el8.x86_64                                       7/24
/sbin/ldconfig: /lib64/libsmbldap.so.2 はシンボリックリンクではありません


  インストール     : glusterfs-client-xlators-6.0-37.2.el8.x86_64                        8/24
  インストール     : glusterfs-api-6.0-37.2.el8.x86_64                                   9/24
  scriptletの実行中: glusterfs-api-6.0-37.2.el8.x86_64                                   9/24
/sbin/ldconfig: /lib64/libsmbldap.so.2 はシンボリックリンクではありません


  アップグレード   : samba-common-tools-4.13.3-1.el8.x86_64                             10/24
  インストール     : python3-setools-4.3.0-2.el8.x86_64                                 11/24
  インストール     : python3-libsemanage-2.9-3.el8.x86_64                               12/24
  インストール     : python3-audit-3.0-0.17.20191104git1c2f876.el8.x86_64               13/24
  インストール     : checkpolicy-2.9-1.el8.x86_64                                       14/24
  インストール     : python3-policycoreutils-2.9-9.el8.noarch                           15/24
  アップグレード   : samba-4.13.3-1.el8.x86_64                                          16/24
  scriptletの実行中: samba-4.13.3-1.el8.x86_64                                          16/24
  インストール     : samba-vfs-glusterfs-4.13.3-1.el8.x86_64                            17/24
  scriptletの実行中: samba-4.12.3-12.el8.3.x86_64                                       18/24
  整理             : samba-4.12.3-12.el8.3.x86_64                                       18/24
  scriptletの実行中: samba-4.12.3-12.el8.3.x86_64                                       18/24
  整理             : samba-common-tools-4.12.3-12.el8.3.x86_64                          19/24
  整理             : samba-libs-4.12.3-12.el8.3.x86_64                                  20/24
  整理             : samba-common-libs-4.12.3-12.el8.3.x86_64                           21/24
  整理             : samba-client-libs-4.12.3-12.el8.3.x86_64                           22/24
  scriptletの実行中: libwbclient-4.12.3-12.el8.3.x86_64                                 23/24
  整理             : libwbclient-4.12.3-12.el8.3.x86_64                                 23/24
  整理             : samba-common-4.12.3-12.el8.3.noarch                                24/24
  scriptletの実行中: libwbclient-4.13.3-1.el8.x86_64                                    24/24
  scriptletの実行中: samba-vfs-glusterfs-4.13.3-1.el8.x86_64                            24/24
  scriptletの実行中: samba-common-4.12.3-12.el8.3.noarch                                24/24
  検証             : glusterfs-api-6.0-37.2.el8.x86_64                                   1/24
  検証             : checkpolicy-2.9-1.el8.x86_64                                        2/24
  検証             : glusterfs-6.0-37.2.el8.x86_64                                       3/24
  検証             : glusterfs-client-xlators-6.0-37.2.el8.x86_64                        4/24
  検証             : glusterfs-libs-6.0-37.2.el8.x86_64                                  5/24
  検証             : python3-audit-3.0-0.17.20191104git1c2f876.el8.x86_64                6/24
  検証             : python3-libsemanage-2.9-3.el8.x86_64                                7/24
  検証             : python3-policycoreutils-2.9-9.el8.noarch                            8/24
  検証             : python3-setools-4.3.0-2.el8.x86_64                                  9/24
  検証             : samba-vfs-glusterfs-4.13.3-1.el8.x86_64                            10/24
  検証             : libwbclient-4.13.3-1.el8.x86_64                                    11/24
  検証             : libwbclient-4.12.3-12.el8.3.x86_64                                 12/24
  検証             : samba-4.13.3-1.el8.x86_64                                          13/24
  検証             : samba-4.12.3-12.el8.3.x86_64                                       14/24
  検証             : samba-client-libs-4.13.3-1.el8.x86_64                              15/24
  検証             : samba-client-libs-4.12.3-12.el8.3.x86_64                           16/24
  検証             : samba-common-4.13.3-1.el8.noarch                                   17/24
  検証             : samba-common-4.12.3-12.el8.3.noarch                                18/24
  検証             : samba-common-libs-4.13.3-1.el8.x86_64                              19/24
  検証             : samba-common-libs-4.12.3-12.el8.3.x86_64                           20/24
  検証             : samba-common-tools-4.13.3-1.el8.x86_64                             21/24
  検証             : samba-common-tools-4.12.3-12.el8.3.x86_64                          22/24
  検証             : samba-libs-4.13.3-1.el8.x86_64                                     23/24
  検証             : samba-libs-4.12.3-12.el8.3.x86_64                                  24/24

アップグレード済み:
  libwbclient-4.13.3-1.el8.x86_64               samba-4.13.3-1.el8.x86_64
  samba-client-libs-4.13.3-1.el8.x86_64         samba-common-4.13.3-1.el8.noarch
  samba-common-libs-4.13.3-1.el8.x86_64         samba-common-tools-4.13.3-1.el8.x86_64
  samba-libs-4.13.3-1.el8.x86_64

インストール済み:
  checkpolicy-2.9-1.el8.x86_64          glusterfs-6.0-37.2.el8.x86_64
  glusterfs-api-6.0-37.2.el8.x86_64     glusterfs-client-xlators-6.0-37.2.el8.x86_64
  glusterfs-libs-6.0-37.2.el8.x86_64    python3-audit-3.0-0.17.20191104git1c2f876.el8.x86_64
  python3-libsemanage-2.9-3.el8.x86_64  python3-policycoreutils-2.9-9.el8.noarch
  python3-setools-4.3.0-2.el8.x86_64    samba-vfs-glusterfs-4.13.3-1.el8.x86_64

完了しました!
[root@samba48 ~]#

まぁ、アップデート完了してもsamba-tool はいませんでしたけどね

[root@samba48 ~]# which samba-tool
/usr/bin/which: no samba-tool in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
[root@samba48 ~]#

というわけで、おとなしくsambaをソースからコンパイルするしかなさそうです。

楽天モバイル回線でForticlientによるSSL-VPNを行うと98%で止まるがエラーもない件の対処

楽天モバイル回線でForticlientによるSSL-VPNを行うと、下記の98%の状態で止まり、しばらく待つとエラーメッセージもなく未接続状態に戻ってしまう。

楽天モバイル回線以外でやってみると正常に接続できる。

2022/02/01追記: 今日からNTTドコモでIPv6シングルスタック化が始まったらしい。もしかして、類似の現象がドコモでテザリングした際に発生する可能性がある。

ちなみに他の回線でも発生する場合はデバイスマネージャのネットワークアダプタにある「WAN Miniport (IP)」をアンインストールし、Windows再起動することで再作成させることで治ることが多いようだ。

楽天モバイルの場合の事例についてぐぐるとIPv6を無効化するといける、という話があるので、そこらへんにヒントがあるな、と調べて見た。

調査方法は SSL-VPN接続先として指定するホスト名の名前解決を調べて見る

C:\> nslookup vpn.domain.local
サーバー: Unknown
Address: 192.168.43.1

権限のない回答:
名前: vpn.domain.local
Address: 64:ff9b::xxxx:xxxx
      xxx.xxx.xxx.xxx
C:\>

IPv6アドレスは設定されていないはずなのにIPv6アドレスの応答があるとは何事???

Google DNSで名前解決を調べて見ると、こちらは想定通りのIPv4アドレスのみの応答となる。

C:\> nslookup vpn.domain.local 8.8.8.8
サーバー: dns.google
Address: 8.8.8.8

権限のない回答:
名前: vpn.domain.local
Address: xxx.xxx.xxx.xxx
C:\>

この設定していないはずのIPv6アドレス「64:ff9b::xxxx:xxxx」が何者なのか調べたところ、NAT64用に予約されているアドレス帯であることが判明。

JPNIC ニュースレターNo.64「NAT64/DNS64

楽天モバイル網ではIPv6ベースで通信を行うため、IPv4のみの接続先についてIPv6に変換したアドレスを用意している、ということになるようだ。

ただ、FortiClientの実装上それでは都合が悪いようだ。

FortiClientのSSL-VPN接続先のサーバ指定を、サーバ名表記から、IPv4アドレス表記に変更し、「無効なサーバ証明書を非表示」に設定することで接続が完了することを確認した。

「無効なサーバ証明書を非表示」に設定する理由は、SSL証明書はホスト名に対して発行されており、IPアドレスに対しては発行されていないためです。(以前はIPアドレスに対しても発行できたが、現在は禁止されている)


2021/10/15追記

BIGLOBEがInfra Study 2nd #3「いまさら聞けないIPv6ネットワーク」というイベントで「DNSの振り分けでNAT64/DNS64の不具合を回避 ~固定回線でIPv4 over IPv6接続するための工夫~」という発表を行った。

BIGLOBEでは固定回線でもNAT64/DNS64を導入しているのですが、IPv6アドレスに変換されると困るサービスなどは、DNS64の名前解決を行わないようにDNSサーバ側で細工をしている、とのこと。

MousePro MPro NB390H2-SSDの修理とWindowsインストール、そしてLTE内蔵改造

秋葉原のPCショップ EYESにてMousePro MPro NB390H2-SSDが5480円で売っていた。

画像

電源コネクタ破損ということでたぶん動くだろうと購入。

中を開けてみると、まぁ見事な壊れよう(なお、開ける時は左側の電源コネクタがある方から開けるといい。右側だとオーディオ端子とVGA端子の出っ張りがあって邪魔をするから)

画像

19V電源だけど、東芝/富士通系19Vとは大きさが微妙に違い刺さらないサイズなので、おそらく気がつかないアホが無理矢理押し込んで壊したんだと思われる。

画像

元のコネクタはこんな感じだったらしいけど、どれだけの力をかければ壊せるのか・・・

電源コネクタ部分は別基板になっていたので取り外して観察してみる

画像
画像
画像

基板に書かれていた「W330C」という文字列が機種名っぽかったので検索したところ、Clevo社のW330SU2というのがOEM元モデルのようである。

最初はコネクタを取り外して、東芝/富士通系と同じものに置き換えるつもりで部品も用意したんだけど、手持ちの半田ごてだとうまく取り外せなかったので、ケーブル伸ばして無理矢理配線でごまかした。

画像

Windows 10はすんなり入ったものの「SMバスコントローラ」が未認識。

画像

Clevo社のDownloadページから「Model:W330SU2」の「Driver:ALL」で表示させた中から「Chipset driver 10.0.17 for Win8.1 64bit」をダウンロードしてセットアップを実行してインストールする。

また、キーボード上の青いキー操作の内、音量操作などは動作しますが、液晶の輝度操作が動きません。こちらは「Hotkey driver 3.03.12 for Win8.1 64bit」をインストールすることで使えるようになるのでこちらもダウンロード/インストールします。

ちゃんと動くようになったので改造検討

WiFiの横にある「H=3 M」は、たぶんMキーという意味で、近くに「SSD」という記載も見えるのでNVMe SSDも行けるM.2 2280っぽい。(2021/03/10追記 NVMe SSDは認識しませんでした)

画像

もう一つの「H=4 B」はBキーという表記で、「3G」という表記。そして、そこに置かれている未接続のケーブル2本

ケーブルの先を確認すると「LTE」と書かれたアンテナっぽい基板に接続されている。

というわけで、たまたまジャンク500円で購入していたLTEカード(EM7330)をさしてアンテナケーブルを接続

どこかにSIMスロットがあるはず、と探すとすぐ近くに発見。

こちらバッテリーを取り外した時に、バッテリーコネクタの隣になります。

電源を入れると普通にWindows10上で認識し、使える様になりました。

画像

2022/08/15追記

メモリスロットが2つあるのでASUS U24Eに載せてる 「シー・エフ・デー販売 Elixir ノートパソコン用メモリ DDR3-SODIMM PC3-12800 CL11 8GB 2枚組 LowVoltage(1.35v) W3N1600Q-L8G」を載せてみたのですが、認識しませんでした。

2段階のNFSマウントをする方法

直接アクセスできないネットワークにあるNFSサーバをNFSでマウントすることはできないか試行錯誤してみた。

普通にCentOS7やSolaris11からやってみたところ、NFSマウントした領域のNFS exportでの公開はnfsd側から「Cannot export /mnt, possibly unsupported filesystem or fsid= required」とか、「Invalid filesystem」とか言われて設定できない。

これはuser-spaceで動作するnfsdを使えば回避できるんじゃないかと探してみた結果、unfs3というものを発見。ソースコードは https://github.com/unfs3/unfs3

Linux,FreeBSD,Solaris,AIX,Irix,MacOSXで動く以外に、Windows上でも制限ありで動作するとのこと。

Windows上で動かした場合は、unfsdが使用するWindowsユーザを1つ割り当てる形になるので、NFS経由のアクセスは全てそのWindowsユーザがアクセスしている、という扱いになるようだ。

あと、このunfs3はNFS ver3のみ使え、NFS v4やNFS v2でのアクセスには対応していない。また、NFS v3でもREADDIRPLUS(属性付きディレクトリの読み取り)周りは実装していないとのこと。

READDIRPLUSはOracle/Solarisのドキュメントによればlsコマンドなどでディレクトリ内のファイル一覧を表示させる動作を高速化するためのものなので、まぁ、なくてもなんとかなる感じのもの。

属性付きディレクトリの読み取り
NFS バージョン 3 では、READDIRPLUS と呼ばれる操作があります。たとえば、ls や ls -l などの、大部分の READDIR が READDIRPLUS コールとして発行されます。バージョン 3 で ls -l コマンドを実行すると、ディレクトリ内の名前リストと共に、ファイルハンドルと属性が返されます。バージョン 2 では、名前が最初に返され、ファイルハンドルと属性を取得するには、続いてサーバーを呼び出す必要があります。
バージョン 3 の READDIRPLUS 操作の利点は、ファイルごとに GETATTR 要求を送信する必要がないため時間が短縮され、ls と ls -l の速度が同程度になることです。

要件は満たせそうなので、とりあえずテスト用CentOS7環境でunfs3を動作させてみる。

準備

環境をインストール

# yum install git
# yum groupinstall "開発ツール"

コンパイル

まず、ソースコードの入手

$ git clone https://github.com/unfs3/unfs3.git

READMEにあるとおりbootstrap&configureを実行

$ cd unfs3/unfs3
$ ./bootstrap
$ ./configure

そしてmake

$ make
for i in Config ; do (cd $i && make all) || exit; done
make[1]: ディレクトリ `/root/unfs3/Config' に入ります
gcc -g -O2 -Wall -W -I.. -I. -I..   -c -o lex.yy.o lex.yy.c
gcc -g -O2 -Wall -W -I.. -I. -I..   -c -o y.tab.o y.tab.c
ar crs lib.a lex.yy.o y.tab.o
make[1]: ディレクトリ `/root/unfs3/Config' から出ます
gcc -g -O2 -Wall -W  -D_GNU_SOURCE -I.   -c -o afsgettimes.o afsgettimes.c
gcc -g -O2 -Wall -W  -D_GNU_SOURCE -I.   -c -o afssupport.o afssupport.c
gcc -g -O2 -Wall -W  -D_GNU_SOURCE -I.   -c -o attr.o attr.c
attr.c: 関数 ‘get_free_bad_dir_entry’ 内:
attr.c:550:5: エラー: ‘for’ ループ初期化宣言は C99 モード内でのみ許可されてい ます
     for (int i = 0;i < BAD_DIR_CACHE_SIZE;i++) {
     ^
attr.c:550:5: 備考: オプション -std=c99 または -std=gnu99 をコードコンパイル時に使用してください
attr.c: 関数 ‘find_bad_dir_entry’ 内:
attr.c:573:5: エラー: ‘for’ ループ初期化宣言は C99 モード内でのみ許可されてい ます
     for (int i = 0;i < BAD_DIR_CACHE_SIZE;i++) {
     ^
make: *** [attr.o] エラー 1
$

エラーとなってしまいます。

これはコンパイル時のオプションに「-std=c99」を指定するようにして解決

$ export CPPFLAGS="-std=c99";./configure
$ make
<略>
$

インストールと設定

普通にmake installすると/usr/local以下にインストールされます。

# make install
/usr/bin/install -c -d /usr/local/sbin
/usr/bin/install -c -d /usr/local/share/man/man7
/usr/bin/install -c -d /usr/local/share/man/man8
/usr/bin/install -c unfsd /usr/local/sbin/unfsd
/usr/bin/install -c -m 644 ./Extras/tags.7 /usr/local/share/man/man7/tags.7
/usr/bin/install -c -m 644 ./unfsd.8       /usr/local/share/man/man8/unfsd.8
#

NFSで公開するディレクトリの設定は、普通のnfsdと同じく /etc/exports ファイルを使用。「-e」オプションで別のファイルを指定することも可能です。

注意点としては、Linuxだとホスト名指定に「*」とnetgroupが使用できず、ログに「unfsd[20479]: syntax error in ‘/etc/exports’, exporting nothing」といった出力が出てしまうという点です。

「*」については「0.0.0.0/0」で代替できます。

/etc/exports ファイルを編集した場合、変更にはexportfsコマンドは使用できません。

unfsdに対してHUPシグナルを送ることで反映されます。(kill -HUP unfsdのPID)

unfsdの起動は「/usr/local/sbin/unfsd」の実行、停止はunfsdへのTERMシグナル送信(kill -TERM unfsdのPID)です。

Windows Live メール 2012で「メッセージを表示できませんでした」となる

注: 必要な作業は「レジストリを設定してOS再起動」です。Liveメールの設定を確認する必要はありません。設定確認はきちんとした原因調査したい場合に行う操作です。

2020/12/23追記

2020年5月リリースのWindows 10 20H2適用後、「0x800c013e 不明なエラー」というエラーで使えなくなる、という件が発生しているようで来訪が多い。

うちのテスト用Windows10はこの記事を書いた10月時点ですでにWindows 10 20H2になっており「0x800c013e 不明なエラー」が発生していました。

そこで、このページのレジストリ設定を行ったところ、Windows Liveメール2012を使ったメール送受信は可能となりました。2020/12/23時点でもIMAP/POP3メール受信,SMTPメール送信ともに出来ています。

また、エラーがでたのでメールアカウントの再設定などを試そうとしている場合の注意点があります。

Windows Liveメールはサポートが切れて数年経ちますので、各メールサーバの設定案内で記述が削除されており、他のメールソフトの設定ページにある設定を利用しているのではないかと思います。

しかし、Windows Liveメールで使えるメールサーバ設定は10年以上前のメールサーバ用の設定であり、2020年のメールサーバが備えてる設定ではアクセスができないものがあります。

詳細については「Windows Liveメール2012で使えるメールサーバ設定」を見てください。

追記終了


メールサーバを管理しているといろんなユーザがいるわけです。

とっくにサポートが切れたWindows Live メール 2012をWindows10上で使っている人、とかね。

そんな人からの問い合わせに対応するために検証用Windows10にWindows Live メールをセットアップしてみたら、メールが表示されない。

「メッセージを表示出来ませんでした」ってなんだ?

いろいろ調査してみると、[オプション]-[メール]-[詳細設定]の「メンテナンス」でどんな状態にあるか確認できるらしい(注:これは調査のための操作なので、特にやる必要はありません)

これの「トラブルシューティング」の「全般」と「メール」にチェックを入れて、「保存先フォルダー」に書かれたディレクトリにあるWindowsLiveMail.log にログが出力されるようになる。

受信トレイのメールをクリックしてみると下記の様な「Zone_MailChk ERROR: (storutil.cpp:3965), failed with 0x800C013E」などのエラーが出力される。

[15:11:00.34] 4138                 Mail:            Zone_MailChk ERROR: (msgfldr.cpp:2741), failed with 0x800C013E  
[15:11:00.34] 4138                 Mail:            Zone_MailChk ERROR: (msgfldr.cpp:905), failed with 0x800C013E  
[15:11:00.34] 4138                 Mail:            Zone_MailChk ERROR: (storutil.cpp:3965), failed with 0x800C013E  

この情報を元に検索したところ、2020/08/26付けの「Windows Live Mail」というマイクロソフトコミュニティの書き込みを発見。

レジストリエディッタで「HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows Live Mail」直下にDWORD(32bit)で3つのキーを値「1」で新規作成して、Windowsを再起動してWindows Liveメールを開き直すとメッセージが読めるようになる、と。

作成するDWORDキー
  RecreateFolderIndex
  RecreateStreamIndex
  RecreateUIDLIndex

(該当する3つのキーの値は1回Windows Liveメールを起動することで「0」に戻ります)

この手順を実施したところ、ちゃんとメッセージが読めるようになりました。