TECH
[CloudGarage]

CloudGarageでファイルサーバ(VPN + Samba)を使ってみる

TECH
犬飼 大貴

※この記事は#CloudGarage Advent Calendar 2017 24日目の記事です。

初めまして、kanna_1go(犬飼大貴)と申します。
最近、Linuxの楽しさに気づいて勉強を始めた専門学生です。
縁あってNHN テコラスのTECH&SUPPORT BLOGに寄稿させていただきました。

投稿日の12/24はクリスマスイブです、みなさんはどのように過ごしていますか?
私は、多分父親とスキー行ってますね。
スノーボード人口が増えているようで小さい頃からスキーをしていた身としてはなんだか寂しいです。
でも、板一枚で済むし、何よりブーツが楽そうです。そろそろ乗り換え時ですかね・・・

今回は、CloudGarageのDAPプランを使ってVPNサーバとファイルサーバ(Samba)をCentOSに構築・利⽤してみたので記事にしてみました。
Advent Calenderどころかまともな記事を書くのも初めてで、割とあたふたしてますが、頑張ります!

Sambaとは

Sambaとは、Linuxマシンをファイルサーバやプリントサーバにできるソフトウェアです。
オープンソースソフトウェア(OSS)として提供されていて、1992年のリリース後15年経った今も最新版が更新され続けています。
主な機能として、ファイルサーバ・プリントサーバ・ドメインコントローラの機能を持っていますが今回はファイルサーバを建てます。

VPNとは

VPNは略称で正式にはVirtual Private Networkという名称で、他の場所に構築されたプライベートネットワークにインターネットを経由して接続する技術です。
クライアント(PC)とVPNサーバまでの通信を全て暗号化できるので、基本的に通信内容が暗号化できないSambaを外部から利⽤する場合はVPNを構築したほうがいいです。

VPNを通さずにSambaにアクセスした場合


パケットキャプチャでパケットを解析するとSMB2プロトコルでsecret.txtを受信していることがわかります。


パケットからsecret.txtを取り出すことができます。

VPNを通してSambaにアクセスした場合


全ての通信がESPプロトコルを使用して通信され、どんな通信をしているのかわかりません。

構築手順

1.コントロールパネルからインスタンスを作成する(VPN⽤・Samba⽤)

CloudGarageのコントロールパネルへログインして、「インスタンス追加」を選択します。
インスタンスを下記のように設定して、「インスタンス作成」を選択しVPN⽤・Samba⽤と2回⾏ってください。

※今回DAPを利用していることを想定していますが、CloudGarageで契約している場合は自分のプランに合わせて読み替えれば問題なく作成できると思います。

VPN用

インスタンス選択:1GBタイプ
OS/イメージ選択:CentOS(7.3_64bit)
接続許可ポート:全開放
SSH Key設定:任意
インスタンス情報 インスタンス名:VPN
インスタンス情報 コメント:任意(設定しなくてもいい)
インスタンス情報 rootパスワード:任意
プラン選択:[数字] DevAssistProgram用プラン

Samba⽤

インスタンス選択:1GBタイプ
OS/イメージ選択:CentOS(7.3_64bit)
接続許可ポート:全開放
SSH Key設定:任意
インスタンス情報 インスタンス名:samba
インスタンス情報 コメント:任意(設定しなくてもいい)
インスタンス情報 rootパスワード:任意
プラン選択:[数字]DevAssistProgram用プラン

2.VPN構築

VPNの構築は1日目のClomさんの記事「#CloudGarage 無料お試しプランでMinecraftを動かす
で解説されているので割愛します。
VPNへの接続に関しても、OSによって異なりますので、不明な場合はご自身のOSに合わせて検索して下ください。
検索例:l2tp/ipsec windows 10 接続方法

 

3.Samba構築

VPNに接続しておいてください。
コントロールパネルからSamba用に建てたインスタンスを選択して、グローバルネットワーク設定でグローバルIPを利用しないに変更して再起動します。(下図参照)

 

再起動したらSSH接続をします。(私の場合はWindowsからTera Termを利⽤して接続します。)接続先のIPアドレスはVPN接続をしていればプライベートネットワークのIPアドレスで接続できるのでコントロールパネルのSambaのインスタンスを選択してプライベートネットワーク内に書いてあるIPアドレスを接続先に指定してください。
ログインできたら、まずはCentOSのアップデートを⾏うためにこのコマンドを⼊⼒しましょう。

# yum -y update

Complete!と表示されたら、Sambaをインストールします。

# yum -y install samba

Complete!と表示されたら、次はSambaの設定を行いましょう。

 

4.Samba設定

今回、Sambaで作るファイルサーバは2種類あります。

  1. CentOSに新規登録したユーザ専用のディレクトリ
  2. 登録しているユーザなら誰でもアクセスできる共有ディレクトリ

まず、Samba用のディレクトリを作成します。
新規ユーザーをCentOSで作成した時に、自動的に、Samba用ディレクトリを作成できるようにしましょう。

# mkdir /etc/skel/samba

次に共有ディレクトリを作成して、共有ディレクトリの所有者・グループを変更します。

# mkdir /home/samba
# chown nobody:nobody /home/samba

次に、Sambaの設定ファイル(smb.conf)を作成します。
すでにあるので、名前を変更しておきます。

# mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

エディタから設定ファイルを作りましょう。

# vi /etc/samba/smb.conf

iキーを押すとインサート(入力)モードになるので入力していきましょう。
今回の場合だと設定ファイルはこのようになります。

[global]
unix charset = UTF-8
dos charset = CP932
mangled names = no
vfs objects = catia
catia:mappings =
0x22:0xa8,0x2a:0xa4,0x2f:0xf8,0x3a:0xf7,0x3c:0xab,0x3e:0xbb,0x3f:0xbf,0x5c:0xff,0x7c:0xa6
load printers = no
disable spoolss = yes

[homes]
comment = Home Directories
path = %H/samba
browseable = no
writable = yes

[public]
comment = Public
path = /home/samba
public = yes
writable = yes
only guest = yes

入力を終えたらEscキーを押して保存(:wqと入力)して終了しましょう。
次はSambaのアクセス用のアカウントを作成します。

# adduser ユーザ名 (centosでのユーザを追加します。)
# passwd ユーザ名 (パスワードを設定します。)
# pdbedit -a ユーザ名 (sambaで使うユーザを登録します。)

passwdとpdbeditを実行するとどちらも登録するパスワードを聞かれますが同じでいいです。
最後に、Sambaを有効にしましょう。

# systemctl start smb (sambaを起動させます。)
# systemctl start nmb
# systemctl enable smb (自動起動させるようにします。)
# systemctl enable nmb

 

使ってみる

Windowsから開きます。
Windowsキー + Rキーを入力すると、下図のような表示が出てきます。

名前の項⽬に\\[ローカルIP]と⼊⼒してOKを押しましょう。
するとエクスプローラと共にログイン画⾯が表⽰されます。
先ほど、登録したIDとパスワードを⼊⼒しましょう。
成功すると、設定した通りにフォルダーが表示されます。

登録時に設定したIDのフォルダーと共有用フォルダーのpublicフォルダーが表示されていますね。

これで完了です!お疲れさまでした!
あとは、⾃分のフォルダーにファイルを預けたり、publicで他のユーザーとフォルダーを共有してみてくださいね!

今回は紹介しませんが、ごみ箱を作成して、削除したデータを一旦ごみ箱に移してから完全に削除するという設定も可能です。
もし、興味が湧きましたら、いろいろと試してみてくださいね。

Advent Calender最終日の25日目は@FoxBoxsnetさんです!
よろしくお願いします!

この記事を書いた人

犬飼 大貴

最近、Linuxの楽しさに気づいて勉強を始めた専門学生です。 何かあれば、Twitter @kanna_1goまでご連絡ください。

この記事のタグ

オススメの記事

ページトップへ