1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PowerVS IBM i 日記(67): PER 環境の利用(4) - VPC Linux の sshd 経由で 5250 接続する

Last updated at Posted at 2025-02-09

PowerVS のパブリック・ネットワークを使わないテスト環境での 5250 接続

PowerVS IBM i 日記(64): PER 環境の利用(1) - PER 環境を用意する」、PowerVS IBM i のパブリック・ネットワークを有効にするのは、危険だという事を説明しました。

では、Direct Link のようなプライベート接続が準備できていない時に、インターネット経由で 5250 接続するのはどうしたらいいのでしょう。

今回、紹介するのは、VPC 上の Linux の sshd サーバーと ssh トンネルをはり、そこから TGW 経由で IBM i に転送してもらうという方法です。

VPC上のLinuxとの接続には、下記のパターンが考えられます。

  • VPN for VPC の Client to Site VPN で接続する
  • VPC Linux にフローティング IP を割り当て、そちら経由でアクセスする

今回はフローティング IP 経由での接続を検証します。

IBM i 側の準備

システム値の変更

PowerVS IBM i 日記(52)の「外部からのアクセス」で、紹介したように、5250 デバイスが自動構成できる様に設定を変更します。
関連システム値を変更するには、記事の通り事前に DST か SST から許可を与える必要があります。

IBM i 上でのサーバー起動

IBM i 上の sshd は起動不要

PowerVS IBM i のパブリック・ネットワークを使って ssh トンネルをはっていた時は、IBM i 上の sshd に接続していました。
しかし、今回は VPC 上の Linux と ssh トンネルをはるため、IBM i 上では sshd を起動する必要はありません。

PCOMM では TELNET サーバーだけ

PCOMM の場合は、TELNET サーバーだけ開始していれば構いません。

ACS 接続で必要なホスト・サーバー

以前にも記事にしましたが、ACS で 5250 接続するのに最低限必要なポートは下記のとおりです。

こちらを起動しておきます。

機能 サーバー名 ポート(非TLS)
Server Mapper as-svrmap 449
License Management as-central 8470
Remote Command as-rmtcmd 8475
Signon Verification as-signon 8476

ODBC やデータ転送などが必要であれば「TCP/IP Ports Required for IBM i Access and Related Functions」を参考に必要なサーバーも起動します。

ssh トンネルの開始

今回は Window 11 の標準の ssh コマンドを使います。
PowerVS IBM i 日記(3): IBM Cloud の IBM Power Systems Virtual Server で IBM i を構築する(3)-ACSからの5250接続」の時には、Windows 標準の ssh のバージョンが低く特権ポートを転送できなかったのですが、今回利用した Windows 11(23H2) に含まれているものには、その制約は無くなっていました。

PCOMM 用の ssh トンネル

慣例に従って localhost の ポート 50000 で IBM i に接続する設定です。

ssh -L 50000:[IBM i IP]:23 root@[フローテングIP] -i ssh秘密鍵

PowerVS IBM i のパブリック・ネットワークを使って ssh トンネルをはっていた時は「IBM i IP」の部分が「localhost」でした。これは、IBM i 上の sshd を使っていたため、そこから見ての「localhost」に接続するという指定でした。
今回は VPC Linux の sshd から転送してもらうので IBM i の IP を指定します。

PCOMM から接続先として localhost:50000 を指定します。

image.png

サインオン画面が出ました。

image.png

ACS 用の ssh トンネル

ACS の 5250 接続では ポート 23 に加え 4 つの転送も指定します。下記で「^」は Windows のコマンドプロンプトでの継続行表示です。Mac や Linux の場合は置き換えてください。

ssh -L 50000:[IBM i IP]:23 ^
    -L 449:[IBM i IP]:449 ^
    -L 8470:[IBM i IP]:8470 ^
    -L 8475:[IBM i IP]:8475 ^
    -L 8476:[IBM i IP]:8476 ^
root@[フローテングIP] -i ssh秘密鍵

ACS の 5250 で接続先として localhost:50000 を指定します。

image.png

サインオンのポップアップが表示されたあとに、サインオン画面が出ました。

image.png

VPC Linux の保護

現時点では、鍵認証の ssh ではあるものの、全世界からアクセスが可能です。
VPC 側の機能で接続制限をしてみましょう。

今回 VPC を作成する時にデフォルト・セキュリティ・グループで ssh を許可しました。
そのため、全世界、全てのソースからのポート22への接続が許可されています。

image.png

これを、自分が使っているグローバル IP だけを許可するように変更します。
自分が使っているグローバル IP を調べるサイトはインターネット上にいろいろあるので、そのようなものを利用すればいいでしょう。

image.png

これで、自分の IP からしかアクセスできなくなりました。
さらに、アクセスしない時はフローティング IP を VSI からデタッチしておけば、さらに安心でしょう。

利用する時は、このような手順になります。

  1. 自分のグローバル IP アドレスを調べる
  2. グローバルIPアドレスが変更されている場合は、セキュリティ・グループを更新する
  3. フローティング IP を VSI にアタッチする
  4. 利用する
  5. フローティング IP を VSI からデタッチする

また、複数人で同じ VPC Linux を踏み台にしていて、フローティングIPをVSIからデタッチしたくない場合は

  1. 自分のグローバル IP アドレスを調べる
  2. セキュリティ・グループで対象グローバル IP アドレスに許可をあたえる
  3. 利用する
  4. セキュリティ・グループから自分の IP アドレスを除去する

当日記のIndexはこちらです。


許可の無い転載を禁じます。
この記事は筆者の個人的な責任で無保証で提供しています。
当記事に関してIBMやビジネスパートナーに問い合わせることは、固くお断りします。

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?