2025年5月31日

RaspberryPiとUnboundを使ったローカルDNSキャッシュサーバの構築


海に佇む朱の鳥居
海に佇む朱の鳥居        


WSL2などを使ってローカル内に独自システム環境を構築すると,Webサーバのためのローカルドメインがどうしても使いたくなります。

IPアドレスでアクセスも出来ますが,IPアドレスがwebブラウザ上で表記されるのも良くありません。

これを解決する方法としては正規ドメインをドメインレジストラから取得する方法と,独自のDNSキャッシュサーバを作成してプライベートドメインを設定する方法があります。
  • ドメインレジストラとは、ドメイン名の登録申請を受け付け、レジストリ(ドメインデータベースを管理する機関)に登録する業者
正規のドメインを使うのが最も良いのですが費用がかかります。一方,プライベートドメインの場合は名前衝突問題が発生するので注意が必要です。

名前衝突の可能性が低いドメイン名(gTLD で使われていない)を使い,かつインターネットと分離したローカル内で名前解決できる環境を整備しなくてはなりません。
  • gTLD (generic Top Level Domain; 分野別トップレベルドメイン)とは,特定の国や地域によらず、世界中から誰でも登録できるトップレベルドメインのことです。
そこで,古くなったRaspberryPiとDNSキャッシュサーバ用のソフトである「Unbound」を使って,ローカルDNSキャッシュサーバを作成しプライベートドメインを実証してみました。

【実証前提条件】
  • Raspberry Pi1 Model B Rev.2 512 MB of RAM
  • OS :  Raspbian GNU/Linux 12 (bookworm) (CMD : lsb_release -a)
  • Ubound : Version 1.17.1 (CMD : unbound -h | grep Version)

それでは学習を始めます。

2025年4月23日

Win11/WSL2のミラーモード「Mirrored」ネットの実証

広島三段峡の三段滝
広島三段峡の三段滝        



WSL2「Windows Subsystem for Linux 2」への外部からのアクセスは,「netsh」コマンドによるポートフォワーディングが一般的です。

しかし,最近,新しい手法として「ミラーモード」という機能がサポートされました。

この機能はWindows11 22H2 以降のPCで利用でき,「C:\Users\ユーザ名」下にある「.wslconfig」ファイル内に以下のように定義することで有効化されます。

[wsl2]
networkingMode=mirrored

 この設定により、WSL2はWindows 上のネットワーク インターフェースをLinux にミラーリングするというまったく新しいネットワークアーキテクチャに変更されます。

現時点での利点は次のとおりです。
  • IPv6 のサポート
  • localhost アドレス 127.0.0.1を使用して Linux 内から Windows サーバーに接続できます。(但し, IPv6 localhost アドレス ::1 はサポートされていません。)
  • VPN のネットワーク互換性の向上
  • マルチキャストのサポート
  • ローカル エリア ネットワーク (LAN) から WSL に直接接続します。

新しいネットワークモードは、NAT (ネットワーク アドレス変換) ベースのアーキテクチャにおいて,WindowsとLinuxが異なるIPアドレスを持つという課題を解決します。 

外部からWSL2へアクセスするのに「netsh」コマンドを利用しなくてもいいというメリットは大きいと言えます。

そこで,WSL2のミラーモードを使って,外部ネットワークからSSHリモート接続を実証してみます。

実証前提条件
・パソコン : Windows11 pro 24H2 (IPアドレス:IPv4固定値)
・Linux ディストリビューション : Ubuntu-24.04.1 LTS
・WSL2  バーション   :   2.4.12.0 

それでは学習を始めます。

2025年4月12日

Win11/WSL2外部アクセスポートフォワーディングの自動化

山口県角島大橋
山口県角島大橋         



WSL2「Windows Subsystem for Linux 2」への外部からのアクセスは,「netsh」コマンドによるポートフォワーディング手法が一般的です。

しかし,この手法は,PCの電源再起動が起こるとHyper-V仮想環境のIPアドレスが変更される可能性があり,その都度再設定する必要があります。

パソコンの電源再起動の度にWSL2のIPアドレスを調べて,「netsh」コマンドによりポートフォワーディング設定することは大変な手間です。

そこで,このコマンド設定を自動化する方法について学習します。

※「netsh」コマンドは、ネットワーク全般の制御用コマンドです。

実証前提条件
・パソコン : Windows11 pro 24H2 (IPアドレス:IPv4固定値)
・Linux ディストリビューション : Ubuntu-24.04 LTS
・WSL2  バーション   :   2.4.10.0 


それでは学習を始めます。

2025年3月18日

Win11/WSL2への外部からのアクセス(ポートフォワーディング)について



宮島五重塔を望む
宮島五重塔を望む      



WSL2「Windows Subsystem for Linux 2」をインストールし,Linuxディストリビューションを立ち上げると,次は「外部ネットワークからどうやってアクセスするか」という課題に直面します。

それは,WSL2がHyper-Vと呼ばれる仮想環境上でLinuxカーネルを動作させるため,Windowsが使うIPアドレスとは全く別のIPアドレスが付与されるからです。

そのため,パソコン外部からWindows経由でアクセスがあった場合,どのようにWSL2に伝えるかが課題になります。

具体的には「netsh」コマンドを使って,WindowsのIPアドレスポートで入って来た通信を,WSL2のIPアドレスポートでリッスン「listen」させることになります。

※「netsh」コマンドは、ネットワーク全般の制御用コマンドです。

そこで,今回はSSHリモート通信を例に,WSL2のIPアドレスにアクセスするためのオーソドックスな「ポートフォワーディング」方法を学習します。

※ポートフォワーディングとは特定ポート番号宛てに届いたパケットを、予め設定したLAN側の機器に転送する機能です。

なお,WSL2のIPアドレスは,Windowsが再起動される度に原則変わりますので,その都度,「netsh」コマンドを使ってネットワークを再設定させなければなりません。

それでは,「netsh」コマンドを使ったネットワーク設定について見ていきましょう。

実証前提条件
・パソコン : Windows11 pro 24H2 (IPアドレス:IPv4固定値とする)
・Linux ディストリビューション : Ubuntu-24.04 LTS 起動中
・WSL2  バーション   :   2.4.10.0 
・テキストエディター :  Vim等でファイル内容を修正できる方


学習を始めます。

2025年2月8日

Win11/WSL2のファイル操作からバックアップまで


瀬戸内海亀老山展望公園から
瀬戸内海亀老山展望公園から  



Windows11にWSL2(Windows Subsystem for Linux 2)をインストールし,Linux(ここではUbuntu-24.04.1 LTS)を登録してアプリを作成しようとすると,どうしてもファイル群を編集する必要性が出てきます。

一般的には,TeraTerm等のネットワークリモートアプリを使って,ネットワーク経由でSendとReceiveを行うのですが,WSL2はWindows上で動作しているので,ネットワークリモートアプリを使わなくてもファイルをやり取りすることが可能です。

また,WSL2を使い始めると,定期的にバックアップする必要があります。サーバが壊れた時や移動する時などにバックアップファイルをインプットして回復するためです。

それらのコマンド群について記載します。

なお,PC環境はWindows11 Proエディションを前提としています。

それでは,学習を始めます。