IPv6アクセス可能なOracle Cloudインスタンスを作る

Oracle CloudのTokyoリージョンで、久しぶりにFree TierのARMインスタンスが作れるようになっていたので、最新の手順確認をしてみる。

前提条件: Oracle Cloud側の仮想クラウドネットワーク(VNC)は既にIPv6が有効化されていること。(参考資料:Oracle Cloudですでに作成済みのネットワークに対してIPv6を有効にする方法)

Oracle Cloudコンソール上のインスタンス設定での確認点

2022/05/06時点でも、インスタンス作成時はIPv6が有効化されていないので、手動でIPv6を使える様にする必要がある。

インスタンス詳細の「アタッチされたVNIC」を開いて確認する。

左下の[リソース]-[IPv6アドレス]を選択する

「IPv6アドレスの割当て」をクリック

特にこだわりがなければ、空欄のまま一番下にある「割当て」をクリック

これで設定上はIPv6アドレスが割り当てられた。

Ubuntu 20.04インスタンスの場合

Canonical-Ubuntu-20.04-aarch64-2022.02.15-0 で作成したインスタンスの場合、起動直後は以下の様な状態でした。

ubuntu@ubuntu:~$ ip a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 02:00:17:02:7d:5f brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.220/24 brd 10.0.0.255 scope global enp0s3
       valid_lft forever preferred_lft forever
    inet6 fe80::17ff:fe02:7d5f/64 scope link
       valid_lft forever preferred_lft forever
ubuntu@ubuntu:~$

IPv6を有効化してしばらく放置していたところ、下記の様に自動的にIPv6アドレスが追加されました。

ubuntu@ubuntu:~$ ip a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 02:00:17:02:7d:5f brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.220/24 brd 10.0.0.255 scope global enp0s3
       valid_lft forever preferred_lft forever
    inet6 2603:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:5536/128 scope global dynamic noprefixroute
       valid_lft 7353sec preferred_lft 7053sec
    inet6 fe80::17ff:fe02:7d5f/64 scope link
       valid_lft forever preferred_lft forever
ubuntu@ubuntu:~$

OS再起動後もIPv6アドレス割当ては継続されていました。

Oracle Linux8インスタンスの場合

Oracle-Linux-8.5-aarch64-2022.03.17-1  を使用したところ、相変わらずfirewalldに対するdhcpv6-clientの許可が出されていないためIPv6アドレス取得が出来ない状態でした。

なので、「sudo firewall-cmd –permanent –add-service=dhcpv6-client」でルールを追加して、OS再起動で対応させました。

$ sudo firewall-cmd --permanent --add-service=dhcpv6-client
success
$ sudo firewall-cmd --reload
success
$ sudo firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp0s3
  sources:
  services: dhcpv6-client ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
$

dnfコマンドで”Less than 1000 bytes/sec transferred the last 30 seconds”を言われるのを無視したい

openEuler 20.03 LTS環境のメンテナンスのため、久しぶりに起動して「dnf update」を実行した。

すると、大きめのファイルのダウンロードで「Less than 1000 bytes/sec transferred the last 30 seconds」と言われていた。

しかし、単純に中国サーバなので遅いだけなので、この速度制限をどうにかしたい。

/etc/dnf/dnf.conf の[main]セクションに「minrate=1」を追加することで、最低速度が1bytesとなり速度制限が実質解除となった。

また、openeular 20.03lts sp2環境でアップデートしたらfuse3関連でエラーとなった。

[root@openeuler ~]# dnf check-update
Last metadata expiration check: 0:12:39 ago on Fri 15 Apr 2022 05:08:37 PM JST.
Obsoleting Packages
fuse.x86_64                             2.9.9-3.oe1                   OS
    fuse.x86_64                         2.9.9-4.oe1                   @update
fuse.x86_64                             2.9.9-3.oe1                   OS
    fuse-common.x86_64                  3.9.2-4.oe1                   @update
fuse.x86_64                             2.9.9-3.oe1                   everything
    fuse.x86_64                         2.9.9-4.oe1                   @update
fuse.x86_64                             2.9.9-3.oe1                   everything
    fuse-common.x86_64                  3.9.2-4.oe1                   @update
fuse3.x86_64                            3.9.2-3.oe1                   everything
    fuse-common.x86_64                  3.9.2-4.oe1                   @update
Security: kernel-4.19.90-2203.5.0.0143.oe1.x86_64 is an installed security update
Security: kernel-4.19.90-2110.3.0.0116.oe1.x86_64 is the currently running version
[root@openeuler ~]# dnf update -y
Last metadata expiration check: 0:12:44 ago on Fri 15 Apr 2022 05:08:37 PM JST.
Error:
 Problem: cannot install both fuse-2.9.9-3.oe1.x86_64 and fuse-2.9.9-4.oe1.x86_64
  - cannot install the best update candidate for package fuse-common-3.9.2-4.oe1.x86_64
  - cannot install the best update candidate for package fuse-2.9.9-4.oe1.x86_64
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
[root@openeuler ~]#

調べて見ると公式FAQに記載があった。

ただ、文字が抜けてたりして実行できない

[root@openeuler ~]# dnf fuse fuse3 fuse-common
No such command: fuse. Please use /usr/bin/dnf --help
It could be a DNF plugin command, try: "dnf install 'dnf-command(fuse)'"
[root@openeuler ~]# dnf upgrade fuse fuse3 fuse-common
Last metadata expiration check: 0:14:02 ago on Fri 15 Apr 2022 05:08:37 PM JST.
Package fuse3 available, but not installed.
No match for argument: fuse3
Error:
 Problem: cannot install both fuse-2.9.9-3.oe1.x86_64 and fuse-2.9.9-4.oe1.x86_64
  - cannot install the best update candidate for package fuse-common-3.9.2-4.oe1.x86_64
  - cannot install the best update candidate for package fuse-2.9.9-4.oe1.x86_64
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
[root@openeuler ~]#

こちらではどうか?

[root@openeuler ~]# dnf downgrade fuse
Last metadata expiration check: 0:15:07 ago on Fri 15 Apr 2022 05:08:37 PM JST.
Dependencies resolved.
================================================================================
 Package           Architecture   Version              Repository          Size
================================================================================
Installing dependencies:
 fuse3             x86_64         3.9.2-3.oe1          everything         113 k
     replacing  fuse-common.x86_64 3.9.2-4.oe1
Downgrading:
 fuse              x86_64         2.9.9-3.oe1          OS                 139 k
     replacing  fuse-common.x86_64 3.9.2-4.oe1
 fuse-help         x86_64         2.9.9-3.oe1          OS                  20 k

Transaction Summary
================================================================================
Install    1 Package
Downgrade  2 Packages

Total download size: 272 k
Is this ok [y/N]: y
Downloading Packages:
(1/3): fuse-help-2.9.9-3.oe1.x86_64.rpm          63 kB/s |  20 kB     00:00
(2/3): fuse3-3.9.2-3.oe1.x86_64.rpm             196 kB/s | 113 kB     00:00
(3/3): fuse-2.9.9-3.oe1.x86_64.rpm               89 kB/s | 139 kB     00:01
--------------------------------------------------------------------------------
Total                                           173 kB/s | 272 kB     00:01
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1
  Downgrading      : fuse-help-2.9.9-3.oe1.x86_64                           1/6
  Downgrading      : fuse-2.9.9-3.oe1.x86_64                                2/6
  Running scriptlet: fuse-2.9.9-3.oe1.x86_64                                2/6
  Installing       : fuse3-3.9.2-3.oe1.x86_64                               3/6
  Running scriptlet: fuse3-3.9.2-3.oe1.x86_64                               3/6
  Cleanup          : fuse-2.9.9-4.oe1.x86_64                                4/6
  Running scriptlet: fuse-2.9.9-4.oe1.x86_64                                4/6
  Obsoleting       : fuse-common-3.9.2-4.oe1.x86_64                         5/6
  Cleanup          : fuse-help-2.9.9-4.oe1.x86_64                           6/6
  Running scriptlet: fuse-help-2.9.9-4.oe1.x86_64                           6/6
  Verifying        : fuse-2.9.9-3.oe1.x86_64                                1/6
  Verifying        : fuse-2.9.9-4.oe1.x86_64                                2/6
  Verifying        : fuse-common-3.9.2-4.oe1.x86_64                         3/6
  Verifying        : fuse-help-2.9.9-3.oe1.x86_64                           4/6
  Verifying        : fuse-help-2.9.9-4.oe1.x86_64                           5/6
  Verifying        : fuse3-3.9.2-3.oe1.x86_64                               6/6

Downgraded:
  fuse-2.9.9-3.oe1.x86_64              fuse-help-2.9.9-3.oe1.x86_64

Installed:
  fuse3-3.9.2-3.oe1.x86_64

Complete!
[root@openeuler ~]# dnf check-update
Last metadata expiration check: 0:15:17 ago on Fri 15 Apr 2022 05:08:37 PM JST.

fuse.x86_64                            2.9.9-4.oe1                        update
fuse-help.x86_64                       2.9.9-4.oe1                        update
fuse3.x86_64                           3.9.2-4.oe1                        update
Security: kernel-4.19.90-2203.5.0.0143.oe1.x86_64 is an installed security update
Security: kernel-4.19.90-2110.3.0.0116.oe1.x86_64 is the currently running version
[root@openeuler ~]#

で、もう1回アップデートをかけてみたら成功した

[root@openeuler ~]# dnf update -y
Last metadata expiration check: 0:16:25 ago on Fri 15 Apr 2022 05:08:37 PM JST.
Dependencies resolved.
================================================================================
 Package             Architecture   Version                Repository      Size
================================================================================
Upgrading:
 fuse                x86_64         2.9.9-4.oe1            update         136 k
 fuse-help           x86_64         2.9.9-4.oe1            update          13 k
 fuse3               x86_64         3.9.2-4.oe1            update         112 k
Installing dependencies:
 fuse-common         x86_64         3.9.2-4.oe1            update         9.2 k
Installing weak dependencies:
 fuse3-help          x86_64         3.9.2-4.oe1            update          14 k

Transaction Summary
================================================================================
Install  2 Packages
Upgrade  3 Packages

Total download size: 284 k
Downloading Packages:
(1/5): fuse-common-3.9.2-4.oe1.x86_64.rpm        19 kB/s | 9.2 kB     00:00
(2/5): fuse3-help-3.9.2-4.oe1.x86_64.rpm         28 kB/s |  14 kB     00:00
(3/5): fuse-help-2.9.9-4.oe1.x86_64.rpm          81 kB/s |  13 kB     00:00
(4/5): fuse-2.9.9-4.oe1.x86_64.rpm              190 kB/s | 136 kB     00:00
(5/5): fuse3-3.9.2-4.oe1.x86_64.rpm             271 kB/s | 112 kB     00:00
--------------------------------------------------------------------------------
Total                                           308 kB/s | 284 kB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1
  Installing       : fuse-common-3.9.2-4.oe1.x86_64                         1/8
  Upgrading        : fuse-help-2.9.9-4.oe1.x86_64                           2/8
  Installing       : fuse3-help-3.9.2-4.oe1.x86_64                          3/8
  Upgrading        : fuse3-3.9.2-4.oe1.x86_64                               4/8
  Running scriptlet: fuse3-3.9.2-4.oe1.x86_64                               4/8
  Upgrading        : fuse-2.9.9-4.oe1.x86_64                                5/8
  Running scriptlet: fuse-2.9.9-4.oe1.x86_64                                5/8
  Cleanup          : fuse-2.9.9-3.oe1.x86_64                                6/8
  Running scriptlet: fuse-2.9.9-3.oe1.x86_64                                6/8
  Cleanup          : fuse-help-2.9.9-3.oe1.x86_64                           7/8
  Cleanup          : fuse3-3.9.2-3.oe1.x86_64                               8/8
  Running scriptlet: fuse3-3.9.2-3.oe1.x86_64                               8/8
  Verifying        : fuse-common-3.9.2-4.oe1.x86_64                         1/8
  Verifying        : fuse3-help-3.9.2-4.oe1.x86_64                          2/8
  Verifying        : fuse-2.9.9-4.oe1.x86_64                                3/8
  Verifying        : fuse-2.9.9-3.oe1.x86_64                                4/8
  Verifying        : fuse-help-2.9.9-4.oe1.x86_64                           5/8
  Verifying        : fuse-help-2.9.9-3.oe1.x86_64                           6/8
  Verifying        : fuse3-3.9.2-4.oe1.x86_64                               7/8
  Verifying        : fuse3-3.9.2-3.oe1.x86_64                               8/8

Upgraded:
  fuse-2.9.9-4.oe1.x86_64 fuse-help-2.9.9-4.oe1.x86_64 fuse3-3.9.2-4.oe1.x86_64

Installed:
  fuse-common-3.9.2-4.oe1.x86_64          fuse3-help-3.9.2-4.oe1.x86_64

Complete!
[root@openeuler ~]# rpm -qa|grep fuse
fuse3-3.9.2-4.oe1.x86_64
fuse-common-3.9.2-4.oe1.x86_64
fuse3-help-3.9.2-4.oe1.x86_64
fuse-2.9.9-4.oe1.x86_64
fuse-help-2.9.9-4.oe1.x86_64
[root@openeuler ~]#

ただ・・・もう1回「dnf check-update」を実行するとこうなるんだけど、なんなんだ・・・

[root@openeuler ~]# dnf check-update
Last metadata expiration check: 0:17:13 ago on Fri 15 Apr 2022 05:08:37 PM JST.
Obsoleting Packages
fuse.x86_64                             2.9.9-3.oe1                   OS
    fuse.x86_64                         2.9.9-4.oe1                   @update
fuse.x86_64                             2.9.9-3.oe1                   OS
    fuse-common.x86_64                  3.9.2-4.oe1                   @update
fuse.x86_64                             2.9.9-3.oe1                   everything
    fuse.x86_64                         2.9.9-4.oe1                   @update
fuse.x86_64                             2.9.9-3.oe1                   everything
    fuse-common.x86_64                  3.9.2-4.oe1                   @update
fuse3.x86_64                            3.9.2-3.oe1                   everything
    fuse-common.x86_64                  3.9.2-4.oe1                   @update
fuse3.x86_64                            3.9.2-3.oe1                   everything
    fuse3.x86_64                        3.9.2-4.oe1                   @update
Security: kernel-4.19.90-2203.5.0.0143.oe1.x86_64 is an installed security update
Security: kernel-4.19.90-2110.3.0.0116.oe1.x86_64 is the currently running version
[root@openeuler ~]#

うーん???

[root@openeuler ~]# rpm -qa|grep fuse
fuse3-3.9.2-4.oe1.x86_64
fuse-common-3.9.2-4.oe1.x86_64
fuse3-help-3.9.2-4.oe1.x86_64
fuse-2.9.9-4.oe1.x86_64
fuse-help-2.9.9-4.oe1.x86_64
[root@openeuler ~]# dnf remove fuse3-3.9.2-4.oe1.x86_64 fuse3-help-3.9.2-4.oe1.x86_64
Dependencies resolved.
================================================================================
 Package            Architecture   Version                Repository       Size
================================================================================
Removing:
 fuse3              x86_64         3.9.2-4.oe1            @update         377 k
 fuse3-help         x86_64         3.9.2-4.oe1            @update         5.0 k

Transaction Summary
================================================================================
Remove  2 Packages

Freed space: 382 k
Is this ok [y/N]: y
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1
  Erasing          : fuse3-3.9.2-4.oe1.x86_64                               1/2
  Running scriptlet: fuse3-3.9.2-4.oe1.x86_64                               1/2
  Erasing          : fuse3-help-3.9.2-4.oe1.x86_64                          2/2
  Running scriptlet: fuse3-help-3.9.2-4.oe1.x86_64                          2/2
  Verifying        : fuse3-3.9.2-4.oe1.x86_64                               1/2
  Verifying        : fuse3-help-3.9.2-4.oe1.x86_64                          2/2

Removed:
  fuse3-3.9.2-4.oe1.x86_64             fuse3-help-3.9.2-4.oe1.x86_64

Complete!
[root@openeuler ~]# rpm -qa|grep fuse
fuse-common-3.9.2-4.oe1.x86_64
fuse-2.9.9-4.oe1.x86_64
fuse-help-2.9.9-4.oe1.x86_64
[root@openeuler ~]#

fuseは2.9.9-3.oe1があるけどfuse-commonにはない

[root@openeuler ~]# dnf downgrade fuse-help-2.9.9-3.oe1 fuse-2.9.9-3.oe1 fuse-common-2.9.9-3.oe1
Last metadata expiration check: 0:24:30 ago on Fri 15 Apr 2022 05:08:37 PM JST.
No package fuse-common-2.9.9-3.oe1 available.
Dependencies resolved.
================================================================================
 Package           Architecture   Version              Repository          Size
================================================================================
Installing dependencies:
 fuse3             x86_64         3.9.2-3.oe1          everything         113 k
     replacing  fuse-common.x86_64 3.9.2-4.oe1
Downgrading:
 fuse              x86_64         2.9.9-3.oe1          OS                 139 k
     replacing  fuse-common.x86_64 3.9.2-4.oe1
 fuse-help         x86_64         2.9.9-3.oe1          OS                  20 k

Transaction Summary
================================================================================
Install    1 Package
Downgrade  2 Packages

Total download size: 272 k
Is this ok [y/N]: n
Operation aborted.
[root@openeuler ~]#
[root@openeuler ~]# dnf --showduplicates list fuse-common
Last metadata expiration check: 0:25:15 ago on Fri 15 Apr 2022 05:08:37 PM JST.
Installed Packages
fuse-common.x86_64                      3.9.2-4.oe1                      @update
Available Packages
fuse-common.x86_64                      3.9.2-4.oe1                      update
[root@openeuler ~]# dnf --showduplicates list fuse
Last metadata expiration check: 0:25:24 ago on Fri 15 Apr 2022 05:08:37 PM JST.
Installed Packages
fuse.x86_64                        2.9.9-4.oe1                        @update
Available Packages
fuse.src                           2.9.9-3.oe1                        source
fuse.x86_64                        2.9.9-3.oe1                        OS
fuse.x86_64                        2.9.9-3.oe1                        everything
fuse.x86_64                        2.9.9-4.oe1                        update
[root@openeuler ~]#

解決できなさそうだなぁ・・・

Oracle Cloud上のOracle Linux 8環境でレポジトリを追加する

Oracle Cloud上でOracle Linux 8を展開するとき、Oracleが提供するプラットフォームイメージ を使用する。

Oracle-Linux-8.5-aarch64-2022.03.17-1 を使用したところ、CLIのレポジトリ一覧表示に変化があった。

$ sudo dnf repolist --all
This system is receiving updates from OSMS server.
repo id                                  repo name                       status
ol8_addons-aarch64                       Oracle Linux 8 Add ons (aarch64 enabled
ol8_appstream-aarch64                    Oracle Linux 8 Application Stre enabled
ol8_baseos_latest-aarch64                Oracle Linux 8 BaseOS Latest (a enabled
ol8_ksplice-aarch64                      Ksplice for Oracle Linux 8 (aar enabled
ol8_mysql80-aarch64                      MySQL 8.0 for Oracle Linux 8 (a enabled
ol8_mysql80_connectors_community-aarch64 MySQL 8.0 Connectors for Oracle enabled
ol8_mysql80_tools_community-aarch64      MySQL 8.0 Tools Community for O enabled
ol8_oci_included-aarch64                 Oracle Software for OCI users o enabled
$

「This system is receiving updates from OSMS server.」というメッセージが追加されていて、有効化されているレポジトリしか表示されていない。

OSMSというのはOS Management System(OS管理) のことで、2020年ぐらいから組み込みが開始されていたもののレポジトリ管理までは行っていなかったものとなる。

リリース情報を確認すると2021年10月に関連する記載があった。


10月Oracle Linux 8プラットフォーム・イメージでデフォルトで有効になっているOS管理サービス・エージェント・プラグイン

2021年10月にリリースされたOracle Linux 8プラットフォーム・イメージ以降、Oracle Linux 8インスタンスのOracle Cloud Agent 1.16.0でOS管理サービス・エージェント・プラグインがデフォルトで有効になっています。

2021年10月(Oracle Cloud Agent 1.15.0以前を実行)より前に起動されたOracle Linux 8インスタンスの場合、OS管理サービス・エージェント・プラグインはデフォルトで無効になっています。無効化されたOracle Linux 8インスタンスのOS管理サービス・エージェント・プラグインは、Oracle Cloud Agent 1.16.0への更新後も無効のままです。

詳細は、OS管理の開始を参照してください。


ただ、「OS管理の開始 – 前提条件」には「OS管理は、Oracle Cloud Free Tierでは使用できません。」

使えてしまっている現状は正しいのか、誤りなのか、なやむところです・・・

それはさておき、「This system is receiving updates from OSMS server.」が表示される場合のレポジトリ追加は、まずは、Oracle Cloudのコンソール画面から実施する。

[インスタンスの詳細]-[OS管理]を開くと、パッチの状況が確認できる

レポジトリを追加する場合は「…」をクリックして表示される「OS管理詳細の表示」を選択する

[OS管理の詳細]で[ソフトウェア・ソース]を選択すると、現在enabledとなっているレポジトリ一覧が確認できる。

レポジトリを追加するには、ここの「追加」をクリックする。

追加したいレポジトリを選択し「追加」する。

一覧に追加されたことを確認します。

もちろんコマンドで確認しても追加されています。

$ sudo dnf repolist --all
This system is receiving updates from OSMS server.
repo id                                  repo name                       status
ol8_addons-aarch64                       Oracle Linux 8 Add ons (aarch64 enabled
ol8_appstream-aarch64                    Oracle Linux 8 Application Stre enabled
ol8_baseos_latest-aarch64                Oracle Linux 8 BaseOS Latest (a enabled
ol8_developer_epel-aarch64               Oracle Linux 8 EPEL Packages fo enabled
ol8_ksplice-aarch64                      Ksplice for Oracle Linux 8 (aar enabled
ol8_mysql80-aarch64                      MySQL 8.0 for Oracle Linux 8 (a enabled
ol8_mysql80_connectors_community-aarch64 MySQL 8.0 Connectors for Oracle enabled
ol8_mysql80_tools_community-aarch64      MySQL 8.0 Tools Community for O enabled
ol8_oci_included-aarch64                 Oracle Software for OCI users o enabled
$

sambaのDNSでは委任(delegate)ができないようだ

PowerScaleシミュレータのSmartConnect動作を見てみようと、samba 4.15.5で作ったActive DirectoryのDNSサーバ機能で名前解決動作を試みて見た。

結果、samba 4.15.5ではWindowsのDNS管理ツールから行う「委任ウィザード」の「ネームサーバーレコード」の登録で「検証エラー」が発生するためうまく動作しなかった。

sa

samba-tool コマンドでNSレコードの登録を行ってみたところ登録ができるが、指定したDNSサーバに聞きに行くわけではない、という動作だった。

同じ操作をWindows Server 2019で作ったActive Directory環境で試すと何も問題が無く設定完了した

ssh接続を使って2つ先にある管理画面Webにアクセスする

下記の様な感じで、踏み台サーバを2つ経由した先にある管理画面Webを、手元の操作端末上のブラウザで確認したい。

sshによるトンネル接続を利用したSOCKS proxyを使うことで実現できる。

構成の概要としては下記の様な形となる。

操作端末はWindows 10で、puttyを使用してssh接続を行い、Firefoxブラウザで管理画面を開く、という想定。

まず、SSH接続1について設定

[Session]-[Host Name] で 踏み台サーバ1 とポート番号を指定(port 22)
[Connection]-[Data]-[Auto-login username] で 踏み台サーバ1のログインユーザ名
[Connection]-[SSH]-[Tunnels]の[Forwarded ports] で 「L10022 踏み台サーバ2:22」(“Local”,”Souce port:10022″,”Destination: 踏み台サーバ2:22″)
公開鍵認証を使用する場合は [Connection]-[SSH]-[Auth]の[Private key file for authentication]に指定

これにより、「踏み台サーバ1へのSSH接続1」と「操作端末のローカルポート10022にアクセスすると踏み台サーバ2のポート22に転送されるトンネル接続」が出来る。

次に作成されたトンネル接続を利用したSSH接続2を設定

[Session]-[Host Name] で localhost ポート 10022 を指定
[Connection]-[Data]-[Auto-login username] で 踏み台サーバ2のログインユーザ名
[Connection]-[SSH]-[Tunnels]の[Forwarded ports] で 「D10080」(“Dynamic”,”Souce port:10080)
公開鍵認証を使用する場合は [Connection]-[SSH]-[Auth]の[Private key file for authentication]に指定

これで「”接続端末のローカルポート10022″から 踏み台サーバ ポート22 に転送されてSSH接続2」と「操作端末のローカルポート 10080 にアクセスすると、踏み台サーバ2 上からネットワーク接続できるトンネル接続」が出来る。

最後に、Firefoxの[General]-[Network Settings]にて、「Manual proxy configuration」で「SOCKS Host: localhost Port: 10080」と設定する。

これで操作端末上から閉鎖網2上にあるWeb管理画面を開けるようになった。


2022/01/20追記

TeraTermでも同様のことを行う手法を調べた。

puttyみたくテンプレート化できないので、ショートカットで起動できるようコマンドラインオプションとして指定する手法とした。

"C:\Program Files (x86)\teraterm\ttermpro.exe" 踏み台サーバ1 /ssh2 /auth=publickey /keyfile=X:\tmp\sshkey\~.ppk /ssh-L10022:踏み台サーバ2:22 /user=踏み台サーバ1のログインユーザ名 /passwd=秘密鍵のパスフレーズ

"C:\Program Files (x86)\teraterm\ttermpro.exe" localhost:10022 /ssh2 /auth=publickey /keyfile=X:\tmp\sshkey\~.ppk /ssh-D10080 /user=踏み台サーバ2のログインユーザ名 /passwd=秘密鍵のパスフレーズ

なお、引数でパスフレーズを指定しない場合、「SSH2秘密鍵の読み込みに失敗しました wrong passphrase」という下記のダイアログが表示されてうざいです。

また、TeraTermでSSHのダイナミックポート転送を行う場合、指定したポートが使用できない場合、下記の様なApplication fault Execption:ACCESS_VIOLATIONダイアログが表示されることがある。

ダイアログもなしにTeraTermが終了することもある。

2022/01/21 追記
TeraTermでのSOCKS proxy(ダイナミックポート転送)がどうにも不安定なので、 puttyで実施している。