VMware Workstation Proで接続方式をNATに設定したゲストOSにホストOS側からアクセスする設定をする

ホストOS: Windows 10 Pro version 2004
ゲストOS: CentOS Linux release 8.2.2004 (Core)
VMware Workstation 16 Pro

下図のように構成された仮想環境があってPCからSSHで以ってゲストOSへ接続したい。VMnet8というネットワークアダプタはVMware Workstation Proをインストールする際に自動的にこしらえられる、NATを司るものである。

そうなるとホストOSにあるNAT構成ファイル(vmnetnat.conf)に直接編集を施すか、VMware Workstation Proに備わる仮想ネットワークエディタを用いる必要があるようである。

仮想ネットワークエディタから設定を試みるなら先ず「編集」から「仮想ネットワークエディタ」を選択する。

仮想ネットワークエディタが立ち上がったら先ずもって「設定の変更」をクリックする。ネットワークの構成を変更するには管理者権限が必要であるからユーザーアカウント制御(UAC)の問いかけに応えて曰く、「はい」。

VMnet8の仮想ネットワークアダプタを選択するとグレーアウトしていた「NAT設定」ボタンが鮮やかなグレーに色づくから此れをクリックする。

NAT設定を追加したいので「追加」ボタンを押下する。

そうするとポートマッピングの設定ウィンドウが表示される。今回はホストOSの50022番ポートに接続をするとゲストOSの22番ポートに紐付けるようにした。セットしたら「OK」ボタンをクリックする。設定した内容が「ポートの転送」に一覧されるから間違いがないか確認しておく。

「OK」か「適用」ボタンをクリックするとDHCPサービスやNATサービスの再起動が走り出すのでネットワークは一時的に遮断されてそののち、設定が反映される。

これで本当にアクセスができるようになったか確かめてみたところ、うまい具合に設定が反映されている模様である。

設定が書き込まれるファイルは C:\ProgramData\VMware\vmnetnat.conf であった。このファイルにある [incomingtcp] セクションへ 50022 = 192.168.40.128:22 という具合に内容が反映されていた。

参考:
NAT 構成ファイルの編集
NAT 構成ファイルのセクション

Googleスプレッドシートのファイルを開いた際に特定のセルへ移動したい

Excelであればファイルを開いた際には最後に表示していた画面の状態で始まるからすぐに編集を始められるけれども、Googleスプレッドシートでは必ず画面左上からスタートするものだから、下へ下へと進展してゆくファイルであると先ずはデータの最下行まで移動せねばならない。

これは大変な手間であるからGoogle Apps Script(GAS)で以ってファイルを開いたら自動的に最下行のひとつ下の行まで移動するよう段取りした。先ずはGoogleスプレッドシートを開いて「ツール」→「スクリプトエディタ」を開く。

そうしたら以下のスクリプトを貼り付けて保存したら終いである。スクリプトの一連の段取りは、

  • B2セルを選択
  • データ最下行まで移動(Ctrl+↓)
  • 一行下を選択

という具合である。

function onOpen(e) {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('B2').activate();
  spreadsheet.getCurrentCell().getNextDataCell(SpreadsheetApp.Direction.DOWN).activate();
  spreadsheet.getActiveCell().offset(1, 0).activate();
};

これで無事、ファイルを開いた際にデータ最下行のひとつ下の行へ自動的に移動して呉れるようになり、僅かに楽ちんになった。

bashを用いてSlackへメッセージを投稿する

という処理を実現するためにIncoming Webhooksという機能を使うようである。作業の大筋はこういう具合である。

  • Slackアプリを作成
  • Incoming Webhooksを有効にセット
  • ワークスペースへのアクセス許可を付与
  • 動作確認

Slackアプリを作成

まずナイスな緑のボタンをクリックすることでSlackアプリを作成するページへアクセスする。アプリに名を与え、活躍の場となるワークスペースを選択する。アプリ名はのちの変更が許されているから、命名に何時間もかける作業を先送りにできる。ワークスペースはあとから変更が効かないから勢い慎重にならざるを得ない。

Incoming Webhooksを有効にセット

アプリをこしらえるとBasic Informationのページへと遷移する。そうしたら「Add features and functionality」の中にある「Incoming Webhooks」をクリックする。ここにIncoming Webhooksを有効にするスイッチがあるから此れをクリックしてOnへと変更するのである。

ワークスペースへのアクセス許可を付与

Incoming Webhooksが有効にセットされるとページの下部にcurlのサンプルコマンドなどが現れる。此処で「Add New Webhook to Workspace」ボタンをクリックすると、アプリに対してワークスペースへのアクセス権限を許可する画面へと移るから投稿先のチャンネルを選択して「許可する」ボタンをクリックする。

此れによって遂に具体的なWebhook URLが誂えられる。Webhook URLは余所の人の悪用を避けるために内緒にせねばならない。あとはこのURLに対してJSON形式でメッセージをPOSTすることでSlackにメッセージを投げつけられるようになる。curlコマンドによるサンプルもこしらえてくれるから気軽に動作確認もおこなえる。

動作確認

サンプルのcurlコマンドを実行して、設定したワークスペースのチャンネルに対してメッセージが正常に投げかけられたら「ok」と表示される。スマートフォンにSlackを導入して良しなに設定を施してあれば通知もやってくる。

通知がやって来ないときはSlackの「おやすみモード」がオンになっていたりスマートフォンの省電力設定が妨害していることもあるから「通知のトラブルシューティング」を実施してみるのがよろしい。そうしてようやっと望んだ動作が手に入ったのである。

参考:
Sending messages using Incoming Webhooks

Slackを始める

暇のかかるなにがしかの処理が完了した報告や障害・異常の検知を、スマートフォンにインストールしているSlackへ投稿して通知が来るようにしたい。と企ててから随分年月を経てしまったのでいい加減取り組むものである。其れにはSlackを始めない事には話にならない。

まずはSlackを始めるページへアクセスして「+Slackワークスペースを作成する」という文言をクリックする。

メールアドレスを打ち込み「確認する」をクリックすると入力したアドレス宛に確認コードのメールが送られる。

確認コードを見届けたならば入力欄へ打ち込んでゆく。最後の数字を入力した時点で検証が自動的に始まる。検証に成功すると新たにページが遷移する。

社名やチーム名の入力を促される。これはワークスペース名になるという。省略は許されないから、気の利いた名前をつけ「次へ」をクリックする。

次にプロジェクト名を入力する。これはチャンネル名のことであった。これも割愛はできないため、気の利いた名前をつけて「次へ」をクリックする。

メールを一番送信する相手を聞かれるけれども、登録してもしなくともよかった。一先ず「後で」を選択して先へ進むと、チャンネルが出来上がったと大盛りあがりするページへ行くから「Slackでチャンネルを表示する」をクリックして無事、Slackの世界へ足を踏み入れることになった。

NoMachineの自動スクロールする領域を変更する

OS: Windows 10 Pro Version 1909
NoMachine for Windows 6.9.2

デフォルトの設定ではウィンドウの隅から40px内の領域へカーソルが侵入すると自動でスクロールが開始されるけれども、予期せず反応してしまって腹が立つこともあるから此の領域を狭めたいものである。

公式サイトによると設定ファイル %userprofile%\.nx\config\player.cfg にあるキー Automatic viewport scrolling sensitive area size の値を変更することで制御できる模様である。

NoMachineを停止させてから値を編集して保存する。ひとまず値を十分の一の4にセットした。

NoMachineを起動して具合を試したことろ反応する範囲が相当狭まって概ね満足である。

参考:
2.5. Scrolling Settings for Viewport Mode