【windows 10→Linux】ネット接続を外部化してセキュリティアップした環境をつくってみた!

こんにちは!
九保すこひです(フリーランスのITコンサルタント、エンジニア)

さてさて、2025年10月14日にwindows 10のサポートが切れました。延長サポートもありますが、無料なのは1年だけのようです。

そうなるとwindows 11への移行が自然な流れですが「使いにくい」という評判もあり、

windows 10→Linuxへ移行を考えている

という人も、ちらほらいるようです。

参考記事:Windows 10サポート終了でWindows 11に移行せずLinuxを選択するユーザーが登場、「Zorin OS 18」がリリースから1カ月で100万DL達成

特にLinuxは(使いにくい部分もありますが)ファイル権限が分離されていて、構造的にセキュリティで優位と言われるなど、メリットも多かったりします。

参考記事:Linux は Windows より安全?

(ただし、天才ハッカーにかかればどんな環境でも突破されるらしいです。なので、セキュリティをガチガチにしたい場合は、専門会社に頼むしかありません)

そこで!

せっかく「セキュリティ的に優位にある」んだったら、そのいいところを更に高めてみようということで、

2台のLinuxパソコンでネット接続を分離し、よりセキュリティが高い環境

をつくってみることにしました!

ということで、今回は以下のような人たちに向けて記事を書いています。

  • 「windows 10→Linuxへの移行を考えている」
  • 「window 11があまり合っていない…」
  • 「会社で外に漏らしたくないデータを扱う作業がある」
  • 「Linuxの知識を学びたい」
  • 「セキュリティについて直に触れてみたい」
  • 「OSが新しくなるごとにお金を払うのが嫌!」
  • 「リナックスっていうサウンドが気に入った(笑)」

ぜひ最後まで読んでくださいね。

「車買って外で酒のまなくなったら、
その分、家で飲むようになってしまった…」

前提として

今回はメインのパソコンを守るため、もう1台ネット接続専用のパソコンを用意してセキュリティを高める作戦です。

そのため、UbuntuLinux)パソコンを合計2台用意し、以下のような構成にします。

  1. 作業パソコン:メインパソコン。これを守るための構成
  2. ネット専用パソコン:インターネット接続するためだけのパソコン

ただし、2台のパソコン操作に、それぞれマウスとキーボードを使うと持ち替えが面倒です。

そこで、Input Leapという、

1つのマウス&キーボードで複数パソコンを操作するツール

を使います。

こんな感じです(注:私が作曲したBGMつけてます😂)
↓↓↓

つまり、2台のパソコンなのにデュアルディスプレイのようにするツールなんですね。

追加情報:しかも、Linuxだけでなく、windowsやmacOSと混ぜた連携もできるというスグレモノです。

そして、ダウンロードしたファイルを共有するため、

  • Sambaサーバー
  • cifsマウント

を使います。

では!
楽しんでやっていきましょう😊

固定したローカルIPアドレスにする

  • Input Leap
  • cifsマウント

どちらにも固定ローカルIPアドレスが必要なので、自動で振り分けられるようにします(設定は2台両方のパソコンに必要)

ちなみに、今回は以下のIPアドレスで設定を進めますが、ご自身のお好みで置き換えてください。

  • 作業パソコン:192.168.0.222
  • ネット専用パソコン:192.168.0.223

Ubuntuは、GUIで設定できるので「設定 > Wi-Fi」を選択します。
いま接続してるネットワークの歯車マークをクリックしてください。

すると、詳細パネルが表示されるのでIPv4タブを開いて、

  • IPv4メソッド:手動
  • アドレス:192.168.0.222、255.255.255.0、192.168.0.1
  • DNS:192.168.0.1

を設定します。

192.168.0.1は、環境によって違います。コマンドでip rdefaultとして表示されるものをセットしてください。

これを2台のパソコンに192.168.0.222192.168.0.223として設定します。

これで、パソコンを再起動したら、設定したローカルIPアドレスになっているかと思います。ip aコマンドを実行して確認しておきましょう。

Input Leapを使えるようにする

では1つのマウス&キーボードで2台のパソコンを操作できるようにしましょう。

Input Leapをインストールする

インストールは2台両方のパソコンに必要です。

まず、コマンドラインでインストールしたいフォルダに移動して、以下コマンドを実行。

git clone --recurse-submodules https://github.com/input-leap/input-leap.git

input-leapというフォルダができるので、以下3つのコマンドを実行してください。

cd input-leap
cmake -S. -Bbuild
cmake --build build

ビルドにちょっと時間がかかりますが、新しく/build/bin/というフォルダができます。

この中のinput-leapをダブルクリックしたらアプリが起動します。

ちなみに:私の環境でははじめいくつかエラーがでました。
各環境によって違うと思いますが、以下のようなパッケージをインストールすることで解消できました

※もしかするとcmakeの環境もインストールする必要があるかもしれません。

sudo apt install qt6-base-dev
sudo apt install qt6-tools-dev
sudo apt install qt6-l10n-tools

アプリが起動すると、言語を日本語にします。

Nextボタンを押すと、セットアップ・パネルが表示されるので、それぞれのパソコンで

  • サーバー:作業パソコン(ホスト名:sukohi-main)
  • クライアント:ネット専用パソコン(ホスト名:sukohi-sub)

として設定してください。

※ホスト名は環境によって変わります。いわゆるパソコンの名前です。

以降は、サーバーとクライアントの説明です。

Input Leapサーバーの設定:作業パソコン

メインパネルにある「サーバーの構成設定」ボタンをクリックします。

すると「どういう位置づけでパソコンをくっつけるか?」を設定するパネルが表示されます。

中央が作業パソコンになりますので、今回は右側にネット専用パソコンを位置づけるようにしましょう。

※つまり、作業パソコンのマウスが画面右端にくると、ネット専用パソコンが操作できるようになり、逆も同じくです。グレイトですね😊

すると「名前なし」と表示されるので、ここをダブルクリックしてください。

詳細設定パネルが表示されるので、モニター名にネット専用パソコンのホスト名(今回だとsukohi-sub)を入力してOKボタンをクリックしてください。

設定が完了すると、こうなります。

OKボタンを押せば完了!

Input Leapクライアントの設定:ネット専用パソコン

ネット専用パソコンでは、クライアントとしての設定をします。

サーバーIP」という部分に作業パソコンのローカルIPアドレス(今回は192.168.0.222)をセットして接続ボタンを押してください。

すでに作業パソコンのInput Leapサーバーが動いていれば、接続できます。

ちなみに、クライアント側(ネット用パソコン)は起動した時点でInput Leapを自動スタートするようにcrontabで設定をしておくと便利です。

※逆にサーバーの方はコンフィグの設定とかが面倒なので手動で話を進めます。

以下コマンドを実行してください。

crontab -e

エディタが起動したら、以下のコードを追加します。

@reboot /home/USERNAME/input-leap/build/bin/input-leapc 192.168.0.222

で、どちらの設定もうまくいったら、こうなります。

cifsマウント&Sambaサーバーを用意する

では、作業パソコンの中にネット専用パソコンのファルダをマウント(擬似的に、あたかもフォルダが存在しているように)します。

インストールするのは

  • Sambaサーバー:ネット専用パソコン
  • cifs:作業パソコン

です。

では、それぞれ見ていきましょう!

Sambaサーバーをインストールする:ネット専用パソコン

以下のコマンドを実行してください。

sudo apt install samba
mkdir -p /home/USERNAME/share
chmod 777 /home/USERNAME/share

2行目&3行目は共有フォルダを作っています。パスはお好みで変更してください。

これでSambaサーバーのインストール、共有フォルダの作成が完了しました。

では、続いてSambaサーバーの設定をします。

以下コマンドでエディタを開いてください(ユーザー名は、sukohiとしていますがお好みで変更してください)

sudo gedit /etc/samba/smb.conf

一番下に、以下のブロックを追加して保存します。

[Share]
path = /home/USERNAME/share
writable = yes
guest ok = no
valid users = sukohi
force create mode = 0755
force directory mode = 0755

保存が完了したら、設定を有効にして再起動しましょう。

sudo systemctl enable smbd
sudo systemctl restart smbd

現状だとパスワードが決まっていないので、設定しておきます。

※このパスワードは作業パソコンで使います

sudo smbpasswd -a sukohi

すると2回パスワードを聞かれるので、入力したらSambaサーバーの作業は完了です。

cifsをインストールする:作業パソコン

Sambaサーバーで公開されているフォルダをマウントする準備です。

cifsを本体のインストール

以下のコマンドを実行してください。

sudo apt install cifs-utils
mkdir -p /home/USERNAME/share
chmod 777 /home/USERNAME/share

これでcifsがインストールされ、共有フォルダも作成されました。

では、ネット専用パソコンのSambaサーバーを起動した状態でマウントを実行してみましょう。

以下コマンドを実行してください。

sudo mount -t cifs //192.168.0.223/Share /home/USERNAME/share -o username=sukohi,password=YOURPASSWORD,iocharset=utf8,dir_mode=0755,file_mode=0644,uid=1000,gid=1000

ちなみにこのコマンド内の詳細は以下のとおりです。

  • IPアドレス:ネット専用パソコンのローカルIPアドレス
  • IPアドレス後のShare:Sambaの設定で追加した[Share]の部分と一致しています
  • パスワード:先ほどSambaサーバーで2回入力したパスワード

うまくいっていれば、ネット専用パソコンにあるフォルダなのに、作業パソコンから参照できるようになっています。

※ただし:Linuxの場合inotifyが効かないため、ネット専用パソコンの変更(例:ファイルの追加や削除)があっても作業パソコン側の内容は自動で反映されないようです。つまり、Ctrl+rもしくはF5で更新する必要があります。逆なら自動反映されるのに…🤔

これで、作業パソコン↔ネット専用パソコン間で、ファイルのやりとりができるようになりました。

cifsを自動で起動するようにする

毎回マウントのコマンドを手動で実行するのは面倒です。

そこで、Ubuntuが起動したら自動でcifsマウントも実行されるようにしておきましょう。まずはログイン情報を追加します。

gedit /home/sukohi/.smbcredentials

sudoをつけると権限の関係で読み込めなくなるので、つけないでください。

中身を以下のようにして保存。

username=sukohi
password=(ここにあなたのパスワード)

誰でもアクセスできないように権限を厳しくします。

chmod 600 /home/sukohi/.smbcredentials

自動起動するためのファイルを開きます。

sudo gedit /etc/fstab

一番下に追加したら保存して完了です。

//192.168.0.223/Share /home/USERNAME/share cifs credentials=/home/USERNAME/.smbcredentials,iocharset=utf8,dir_mode=0755,file_mode=0644,uid=1000,gid=1000,_netdev 0 0

※USERNAMEは置きかえてください。

これでパソコン起動時に自動でcifsマウントされるようになりました。

インターネットに接続できなくする:作業パソコン

そもそも作業パソコンはネットとは隔絶した状態にしたいわけです。

なので、作業パソコンからは

  • インターネットに接続できなくする
  • でも、LAN(ローカル)には接続できるようにする

という状態にしておきましょう。

sudo ufw default deny outgoing
sudo ufw default allow incoming
sudo ufw allow out to 192.168.0.0/16
sudo ufw allow out on lo
sudo ufw enable
sudo ufw restart

これでブラウザでインターネットにつながらなければ成功です(ただし、cifsInput Leapはうまく動いていないといけません)

これで作業は完了です!
お疲れ様でした😊

ちなみに:Ubuntuのファイルマネージャでサムネイルを表示する

おそらくcifsでマウントしたフォルダは、初期状態ではサムネイルが表示されていないと思います。

その場合は、右上のハンバーガーボタンから、prefernces(設定)> Show Thumbnails(サムネイルを表示)の部分をAll files(すべてのファイル)に変更するといいでしょう。

テストしてみる

では、実際に以下の手順ができるかテストしてみましょう。

  1. Input Leapを起動
  2. 作業パソコンからネット専用パソコンに切り替え
  3. ネット用パソコンの画像を共有フォルダへ移動
  4. 作業パソコンで共有を確認
  5. 画像を開く

では動画をご覧ください。

成功です😊👍

企業様へのご提案

ソフトウェアがwindowsmacにしか対応していない場合以外、業務上であってもLinuxも選択肢と考えてもいいんじゃないでしょうか。

Linuxのメリットとしては、

  • 今回のようにセキュリティを高められる
  • ウェブへのアクセスなら問題ない(ChromeやFireFoxつかえる)
  • Officeの代わりになるソフトもある(無料でつかえる)
  • OSは無料(更新も無料)
  • 比較的軽量で動く

といったものがあります。

windowsもいいOSですが、もし環境を変えてみたいとお考えでしたら試してみてはいかがでしょうか。

おわりに

ということで、今回は2台のパソコンでネット部分を外部化し、セキュリティを高めた環境をつくってみました。

さすがに昨今ニュースで聞くような凄腕ハッカーたちに対抗はできないでしょうが、ある程度は安全性を高めることができるかと思います。

また、個人的には長くLinuxをつかっているので、ぜひwindowsmacだけでなく第3の選択肢も試していただきたいところです。

例えるなら、せんべい座布団だと思ってください。
(昔どこかで聞いたんですが)最初は冷たくて座ってるのが辛いですが、ちょっと経って暖かくなってきたら、もうそこから動きたくなくなる、って感じです。

ぜひ試してくださいね。

ではでは〜!

「さぁ、そろそろクライアント方さんに
お歳暮の準備を始めます!」

このエントリーをはてなブックマークに追加       follow us in feedly  
お問い合わせ、お待ちしております。
開発のご依頼はこちら: お問い合わせ
どうぞよろしくお願いいたします! by 九保すこひ