ベアボーンPCでLinuxおうちサーバー計画(3) ネットワーク設定〜MacからのVNC接続テスト

やわなべです。

シリーズでお届けしております「はじめてのLinuxおうちサーバー計画」。ここまでの流れはこちら。

ベアボーンPC Shuttle DS57Uを使って、はじめてのLinuxおうちサーバー計画(1)計画編
ベアボーンPCでlinuxおうちサーバー計画(2)Linuxインストール済みストレージを作ろう

前回、DS57Uに組み込むストレージ(SSD)にLinuxをインストールするところまでできました。USBの外付けドライブとしてノートPCで稼働してるんで、ノートごと設置場所に持ってって、本番用のネットワーク設定までやってしまおうというお話です。あと、可能なら、コンソール端末の画面をMacから共有できたらなー、なんて。

スポンサーリンク

固定IPでネットワーク設定

前回、USB外付けドライブの形でMint Linuxのインストールができました。そのUSBドライブを刺した状態のLetsNote(Macbookでもいいですが)で、普通にLinuxノートの環境ができたんで、このまま最終設置する場所に持っていってネットワーク接続までやってしまいます。

最終設置したいのはNTTのブロードバンドルーターの横。ダイニングへの入り口のところの電話台的なスペースに置いているんですが、そこにLinuxを起動させたLetsNoteを設置し、LANケーブルで結線します。

P1030601.JPG

まあ、普通にネットにつながりますよね。

このLinuxマシンには、ブロードバンドルータによって、192.168.1.4というアドレスが自動で割り当てられています。が、このアドレスは再起動したときに変わる可能性があって、サーバーとして使うにはIPアドレスは固定させたい。

ss34837.png

ネットワークの設定ははステータスバーのこの真ん中のマークをクリックして、

ss35156.png

「Edit Connections」を選択。

ss41401.png

「IPV4 Setting 」タブの中の、「Method」をデフォルトの「Automatic」から「Manual」に変更。そして固定したいIPアドレスをAddressesのところに書きます。今回は適当に「192.168.1.100」というアドレスを当てることにしました。設定を保存(save)すれば、IPアドレスが「192.168.1.100」に変わります。

念のためにLinuxを再起動した上で、通常使うMacのところに戻り、遠隔からサーバーマシンに接続ができるか確認してみます。

Macのターミナル.app からまずは、今のIPあてにPINGをたたいてみると。。

ss41588.png

サーバーマシンから応答が帰ってきました。IP設定はOKなようです。

SSHで外部から接続できるようにする

続いてターミナルからサーバーにSSHで接続ができるかやってみたんですが…つながりません。そっか、サーバー側でSSH動いてないのかも。

Linuxのところに戻ってMint Linuxのアプリ管理ツールである「Synaptic パッケージマネージャ」を起動します。

ss41746.png

openssh-serverにインストールのチェックを付けて「適用」でインストール。らくちんです。

Mint LinuxはUbuntu系統なんで、通常ターミナルからだと「apt-get」コマンドとかでインストールするんでしょうけど、今回必要なソフトは、すべてこのパッケージマネージャからインストールできました。「apt-get」コマンド1回も使ってません。

で、インストールするとすでに、SSHサーバーは起動しているようです。ただ外部からの接続を許可するにはファイヤーウォールの設定をしないとけません。この設定もGUIからできます。「ファイヤーウォール設定ツール」というやつ。

ss36084.png

今回作ったルールは2つ。

・構内(192.168.*.*) から自機(192.168.1.100)へ来る通信は、どのプロトコルでも受信可能にする
・自機(192.168.1.100)から構内(192.168.*.*) への通信は、どのプロトコルでも送信可能にする

これがインターネット上のサーバーだと、プロトコルごとにきめ細やかなルールを設定するべきなんでしょうけど、ローカルサーバーなんでとりあえずこれでいいかな、と。

具体的に上記ツールで、前者の設定をしたのがこれ。

ss36372.png

後者の設定がこれです。

ss36392.png

IN/OUTの方向が違うのと、From/Toのアドレス指定が逆になってるだけですね。

これで、自宅内のネットワークからの通信は無条件で素通しとなりました。あらためてMacのターミナルからSSH接続を試みると今度は接続に成功しました。

VNCでMacからLinuxにリモートデスクトップ接続する

さて、今はLetsNoteで動いてるんでGUIの設定ができますが、実機ではモニターもキーボードもない環境で使うわけです。SSHでいつでもコマンド操作はできますが、パッケージ管理やファイヤーウォール設定をGUIで楽にできるのを経験したら、もう後戻りできません。Macからリモートデスクトップ接続で、GUIを遠隔操作できないものか。

実は、Mint Linuxには画面共有を可能にする「vino」というVNCサーバーツールが標準ではいっています。

ss36868.png

メニューから「Desktop Sharing」という項目を選ぶと設定画面が出てきます。

ss36877.png

「Sharing」の2項目にチェックを入れて遠隔からの画面共有と操作を許可するようにし、「Security」設定のところで、接続時のパスワードを設定。サーバー側はこれでOK。

次にMac側。こちらも実はFinderから簡単にVNC接続ができるんですよね。Finderのメニューから「移動」「サーバに接続」を選択するか、コマンドキー+Kで、サーバ接続画面を開きます。

ss42771.png

ここで、「VNC://サーバーのIPアドレス」を指定して「接続」とすればOK。後ろの「:5900」というのはVNC通信のデフォルトのポート番号です。

。。。が、残念、つながりません。ファイヤーウォールは素通しのはずなのにおかしい。設定いじったりしつつ、30分ほど悩んだ末、ネット上の先輩の回答に行き着きました。ありがとうございます。ありがとうございます。

vncでリモートでサーバのデスクトップを共有。自宅/事務所内サーバの管理をかんたんに。 | Cloud-Work.net

どうやら、バージョン17以降のLinux Mintでは、標準でVNC通信の暗号化が有効となっているようで、Ubuntu系以外からのVNC接続がデフォルトではできない状態なんだそうな。

この暗号化を無効にするには、下のコマンドをLinux側で実行するだけ。

gsettings set org.gnome.Vino require-encryption false

SSH接続した遠隔端末からだとエラーになったので、Mintのデスクトップが起動している端末側で実行しましょう。

この呪文を唱えたあと、MacのFinderから再びVNC接続を試みるとパスワード入力のプロンプトが出ました。よし、いける。

P1030602.jpg

パスワードを入力すると見事、MacからLinuxコンソールのデスクトップが操作できるようになりました。遠隔操作なんで若干カクカクしますが、管理レベルの操作であれば十分使えます。

Mac側のVNC接続をアプリケーション化する

毎回MacのFinderからサーバ接続パネルを出すのが面倒なんで、VNC接続をアプリケーション化してしまいましょう。

MacでAppleScriptの「スクリプトエディタ」を起動して、以下の1行だけのスクリプトを書きます。

open location “vnc://192.168.1.100:5900”

ss38091.png

メニューから「ファイル」「書き出す…」を選んで、「ds57u.app」という名前のアプリケーションの形でアプリケーションフォルダの中に保存。

ss38285.png

以後、Spotlight(Mac標準のランチャー機能)で「ds」と頭文字を叩いただけで、さっきのアプリケーションが候補に出てきます。素早く起動ができるのでおすすめです。

次回「DS57U、大地に立つ」 お楽しみに

前回に続き、タイトルにある「DS57U」は登場しませんでしたが、今回はここまで。あとはDS57Uのメモリが来れば、セットアップしたSSDと一緒に組み立てて、即サーバーとして使えるはず。。。。あれ?

もしかしてキーボード買わなくてよかった?