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?

Windows 10をRaspberry Piの後ろに隠す

Last updated at Posted at 2025-05-21

Windows 10をRaspberry Piの後ろに隠そう

Windows 10のサポート期間が今年2025年10月14日までとなっています。もうすぐサポート終了ですね。
さて現在私がある場所で使っているWindows 10なのですが、現在はVNCサーバを利用して他のマシンにインストールしたVNCクライアントから操作しております。
現在は他のマシンと同じLAN上にあり、インターネットを使ってWindows Updateも行っています。
さてそのWindows 10マシンなのですが、あるアプリケーションのために使っておりまして、そのアプリケーションは長年更新が止まっていてWindows 11で動く保証はありません。
おそらくWindows 11でも動くであろうと思うのですが、すでにマシン直接操作はしていなくて、VNCを使って操作していることもあり、現在は同じLAN上で他のマシンから直接アクセスしているこのマシンをRaspberry PiにUSB接続Ethernetアダプタをインストールして、Windows 10機はインターネットアクセスを行えなくし、Raspberry Piを経由して操作するやり方に変更しようと思います。
Windows 10機のEthernetはRaspberry PiのUSB Ethernetアダプタとクロスケーブルで直接つなぐように設定しました。最近のEthernetはストレートケーブルを使った直接接続でも問題なく通信できるケースがほとんどなのですが、RJ45コネクタが余っていたのであえてクロスケーブルを作成しました。

この説明で使うIPアドレス

Raspbarry Piのボード固定ジャックのIPアドレス:192.168.1.2
Raspbarry PiのUSB EthernetアダプタのIPアドレス:192.168.2.1
Windows 10のEthernetのIPアドレス:192.168.2.2

まずはEthernetアダプタを接続する

Raspberry Piの空いているUSBコネクタにEthernetアダプタを接続します。最近のEthernetアダプタの多くは新たなドライバをRaspberry PiにインストールしなくてもOSが認識してくれてドライバをあてがってくれると思いますが、ネットなどで接続が確認されているUSB Ethernetアダプタを使用することをお薦めします。
接続したらEthernetアダプタのハードウェアアドレスを調べてください。
ifconfig等で調べれば通常eth1として現れると思いますのでそのハードウェアアドレスを覚えておいてください。

本体固定のEhternetを確実にeth0、USB Etherをeth1にする

イーサネットのeth0とかeth1といったネットワークデバイスの名前はOSが起動後に見つかった順で割り振られるのですが、本体に固定のEthernetを確実にeth0、新規に接続したUSB Ethernetアダプタにeth1というデバイス名を名付けるためにある設定を行います。
/etc/udev/rules.d/70-persistent-net.rules
というファイルを以下のように記述します。

70-persistent-net.rules
# ボード付属NIC
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="ボード付属NICのハードウェアアドレス", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" 
# USB Ether
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="USB Ethernetアダプタハードウェアアドレス", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1" 

これでRaspberry Piが再起動しても確実にEthernetに意図したデバイス名が割り振られるようになります。

USB Ethernetアダプタに固定IPアドレスを設定する

新たに接続したUSB Ethernetアダプタに固定IPアドレスを割り振ります。
/etc/network/interfaces
というファイルに以下のような記述を追加します。

iface eth1 inet static
address 192.168.2.1
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255

ここでは 192.168.2.0/24 というネットワークセグメントを設定していますが、eth0のセグメントと被らないように設定してください。なお、今後eth0側のLAN側IPアドレスは19.168.1.2、ネットワークセグメントは 192.168.1.0/24 という前提で話を進めます。

さらに
/etc/dhcpcd.conf
に以下のような記述を追加します。

dhcpcd.conf
interface eth1
static ip_address=192.168.2.1/24

このeth1はWindows 10機との通信専用で、インターネットには接続しません。従いましてデフォルトゲートウェイやDNSサーバの設定は行いません。
これで新しく接続したUSB Ethernetアダプタは再起動しても常に 192.168.2.1 というipv4アドレスが割り振られます。

NTPサーバの設定

Windows 10機は2025年10月15日以降はインターネットに接続しません。従いましてパブリックに公開されたNTPサーバを使って時間合わせを行えなくなります。
Raspberry PiのNTPに他のマシンからの時間問い合わせを可能にする設定を行います。
/etc/ntp.conf
を以下のように編集します。

ntp.conf
...
+restrict ... # すでにあるサーバ設定
+restrict 192.168.2.0 mask 255.255.255.0 # Windows 10機に公開するNTPサーバ
...

ntp.confの編集が終わったらntpを再起動します。

$ systemctl restart ntp

Windows 10機のEthernet設定を行う

Winodows 10機のraspberry pi eth1と直接接続されるEthernetに固定IPアドレス(192.168.2.2)を割り振ります。
コントロールパネルから「ネットワークと共有センター」を選択し、表示されたウィンドウの左側にある「アダプターの設定の変更」を選びます。表示されたアダプタから「イーサネット」を選択し、表示されたダイアログの「プロパティ」ボタンを押します。表示されたダイアログの「この接続は次の項目を使用します」リストから「インターネットプロトコルバージョン4」を選択し「プロパティ」ボタンを押します。
ipv4.png
次のIPアドレスを使うラジオボタンをチェックし「IPアドレス」に「192.168.2.2」、サブネットマスクに「255.255.255.0」と入力、「デフォルトゲートウェイ」に何も入力されていない状態にしてください。「次のDNSサーバアドレスを使う」ラジオボタンをチェックし、「優先DNSサーバー」「代替DNSサーバー」ともに何も入力されていない状態にしてください。

Windows 10機のインターネット時刻設定を行う

Winodows 10機のNTP設定をraspberry pi eth1(192.168.2.1)に向かうように設定します。
コントロールパネルから「日付と時刻」を選択し、表示されたダイアログボックスから「インターネット時刻」タブを選択し、「設定の変更...」ボタンを押します。
ntp.png
表示されたダイアログボックスの「サーバー」テキストフィールドに「192.168.2.1」と入力し「今すぐ更新」ボタンを押します。エラーが表示されなかったらOKボタンを押します。

ipv4転送設定

Raspberry Piでeth0とeth1の間でパケットを転送できるように設定します。
/etc/sysctl.conf
を編集します。

sysctl.conf
net.ipv4.ip_forward=1

net.ipv4.ip_forwardの値が0になっていたら1に変更します。
編集したらRaspberry Piを再起動します。

/etc/iptables.ipv4.nat
を編集します。filterテーブルに以下の記述を追加します。

iptables.ipv4.nat
-A FORWARD -i eth0 -o eth1 -j ACCEPT
-A FORWARD -i eth1 -o eth0 -j ACCEPT

iptablesを再起動したら設定が反映されます。

VNCルーティング設定

Raspberry Piが受信したNTP(デフォルトポート番号5900)をWindows 10機に転送する設定を行います。再び
/etc/iptables.ipv4.nat
を編集します。natテーブルに以下の記述を追加します。

iptables.ipv4.nat
-A PREROUTING -i eth0 -p tcp --dport 5900 -j DNAT --to-destination 192.168.2.2:5900
-A POSTROUTING -o eth1 -j MASQUERADE

iptablesを再起動したら設定が反映されます。

アプリケーションが作成したファイルをコピーする機能を追加します。

アプリケーションが作成したファイルが必要ならsambaなどを使って共有ディレクトリを設定し、Windows 10機がファイルをそこに書き込むようにしてください。ここではsambaの設定に関する説明は行いません。
ちなみに、私はsambaに書き込まれたファイルをinotifyで監視して、ファイル更新があった場合に他のマシンにsshやWebDAVを使ってコピーしています。

LAN上の他のマシンからVNCアクセスを行う

LAN上の他のマシンから192.168.1.2:5900へのVNC接続を行います。
connect.png
VNCのデフォルトポート番号は5900なのでこの画面ではポート番号の指定は行っておりません。

無事にWindows 10の画面が現れたら成功です。

2025年10月14日を待つ

現在Windows 10機はwifiによってインターネットに接続されていますが、2025年10月14日にBIOS設定で無線LAN機能を無効にします。
これによってWindows 10機からのインターネットアクセスは不可能になり、Raspberry PiのVNCパケット転送でのみWindows 10機への接続が可能となります。

1
0
0

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?