fbpx

CL LAB

HOME > CL LAB > softlayer > SoftLayerに構築したNFSサーバをオフィスからIPsec VPN接続して利用する #softlayer

SoftLayerに構築したNFSサーバをオフィスからIPsec VPN接続して利用する #softlayer

 ★ 44

前回の記事では、ソフトウェアルータの Vyatta と VyOS を用いて、SoftLayer とオフィスを IPsec VPN で接続しました。

ここでは SoftLayer 側に NFS サーバを構築し、IPsec VPN を通してオフィスのクライアントから利用するというシナリオを考えてみます。

前提とする検証環境

前回の記事にて構築した IPsec VPN 環境を用います。


softlayer-nfs-1

オフィス側

クライアントPC (Ubuntu 12.04 LTS)

プライベート側: 192.168.100.101 (eth1 のみ)

VyOS (1.0.4)

仮想ネットワーク側: 192.168.122.10
プライベート側: 192.168.100.10

SoftLayer 側

Vyatta (6.6 Community Edition)
グローバル側: 119.XXX.XXX.243 (eth1)
プライベート側: 10.110.42.196 (eth0)

サーバPC (CentOS 6 Minimal Install)

プライベート側: 10.110.42.197 (eth0 のみ)

SoftLayer 側サーバ PC に NFS サーバのインストール

では、SoftLayer 側サーバ PC に必要なソフトウェアをインストールしましょう。

SoftLayer 側サーバ PC はプライベート側ネットワークにしか接続されていないため、インターネット上のファイルを直接取得することはできません。SoftLayer では各種 OS やソフトウェアのアーカイブをミラーリングしており、プライベート側ネットワークからも参照することができます。

Index of /

Icon  Name                     Last modified      Size
------------------------------------------------------------------------------
[DIR] boundary/                04-Apr-2013 12:51    -  
[DIR] centos/                  07-Jul-2014 04:50    -  
[DIR] debian-archive/          25-Mar-2012 03:40    -
[DIR] debian-backports/        14-Jul-2014 04:20    -
[DIR] debian-cd/               13-Jul-2014 12:55    -
[DIR] debian-security-archive/ 24-Mar-2012 17:23    -
[DIR] debian-security/         13-Jul-2014 07:22    -
[DIR] debian-volatile/         11-Apr-2012 11:30    -
[DIR] debian/                  14-Jul-2014 04:56    -
[DIR] dell/                    03-Jun-2011 15:21    -
[DIR] fedora-archive/          26-Oct-2010 14:59    -
[DIR] fedora/                  21-May-2007 16:37    -
[DIR] freebsd/                 13-Jul-2014 05:01    -
[DIR] ksplice/                 05-Jun-2011 20:36    -
[DIR] mongodb/                 13-Jul-2012 13:31    -
[DIR] novell/                  21-Apr-2009 12:12    -
[DIR] osnexus/                 08-May-2012 20:30    -
[DIR] r1soft/                  12-Apr-2012 12:01    -
[DIR] rubygems/                22-Jun-2011 13:53    -
[DIR] ubuntu-releases/         14-Jul-2014 11:23    -
[DIR] ubuntu/                  14-Jul-2014 09:13    -
------------------------------------------------------------------------------

SoftLayer 側 PC である CentOS も、デフォルトでこのミラーを参照するよう yum が設定されています。

[root@protected ~]# diff -u /etc/yum.repos.d/CentOS-Base.repo.orig /etc/yum.repos.d/CentOS-Base.repo
--- /etc/yum.repos.d/CentOS-Base.repo.orig  2014-07-07 20:35:41.000000000 -0500
+++ /etc/yum.repos.d/CentOS-Base.repo   2014-07-07 20:35:41.000000000 -0500
@@ -1,52 +1,41 @@
-# CentOS-Base.repo
-#
-# The mirror system uses the connecting IP address of the client and the
-# update status of each mirror to pick mirrors that are updated to and
-# geographically close to the client.  You should use this for CentOS updates
-# unless you are manually picking other mirrors.
-#
-# If the mirrorlist= does not work for you, as a fall back you can try the
-# remarked out baseurl= line instead.
-#
-#
-
 [base]
 name=CentOS-$releasever - Base
+baseurl=http://mirrors.service.networklayer.com/centos/$releasever/os/$basearch/
 mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
-#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
 gpgcheck=1
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
+gpgkey=http://mirrors.service.networklayer.com/centos/RPM-GPG-KEY-CentOS-6
 
-#released updates
+#released updates
 [updates]
 name=CentOS-$releasever - Updates
+baseurl=http://mirrors.service.networklayer.com/centos/$releasever/updates/$basearch/
 mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
-#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
 gpgcheck=1
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
+gpgkey=http://mirrors.service.networklayer.com/centos/RPM-GPG-KEY-CentOS-6
 
 #additional packages that may be useful
 [extras]
 name=CentOS-$releasever - Extras
+baseurl=http://mirrors.service.networklayer.com/centos/$releasever/extras/$basearch/
 mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
-#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
 gpgcheck=1
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
+gpgkey=http://mirrors.service.networklayer.com/centos/RPM-GPG-KEY-CentOS-6
 
 #additional packages that extend functionality of existing packages
 [centosplus]
 name=CentOS-$releasever - Plus
+baseurl=http://mirrors.service.networklayer.com/centos/$releasever/centosplus/$basearch/
 mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
-#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
 gpgcheck=1
 enabled=0
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
+gpgkey=http://mirrors.service.networklayer.com/centos/RPM-GPG-KEY-CentOS-6
 
 #contrib - packages by Centos Users
 [contrib]
 name=CentOS-$releasever - Contrib
+baseurl=http://mirrors.service.networklayer.com/centos/$releasever/contrib/$basearch/
 mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
-#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
 gpgcheck=1
 enabled=0
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
+gpgkey=http://mirrors.service.networklayer.com/centos/RPM-GPG-KEY-CentOS-6
+
[root@protected ~]#
[root@protected ~]# host mirrors.service.networklayer.com
mirrors.service.networklayer.com has address 10.0.77.54
[root@protected ~]#

NFS サーバのインストールと設定

では、yum コマンドを用いて NFS サーバである nfs-utils パッケージをインストールしましょう。

[root@protected ~]# yum install nfs-utils      
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * base: mirrors.service.networklayer.com
 * extras: mirrors.service.networklayer.com
 * updates: mirrors.service.networklayer.com
Setting up Install Process
Resolving Dependencies
    :
================================================================================
 Package             Arch         Version                   Repository     Size
================================================================================
Installing:
 nfs-utils           x86_64       1:1.2.3-39.el6_5.3        updates       321 k
Installing for dependencies:
 keyutils            x86_64       1.4-4.el6                 base           39 k
 libevent            x86_64       1.4.13-4.el6              base           66 k
 libgssglue          x86_64       0.1-11.el6                base           23 k
 libtirpc            x86_64       0.2.1-6.el6_5.2           updates        79 k
 nfs-utils-lib       x86_64       1.1.5-6.el6               base           67 k
 rpcbind             x86_64       0.2.0-11.el6              base           51 k

Transaction Summary
================================================================================
Install       7 Package(s)

Total download size: 646 k
Installed size: 1.7 M
Is this ok [y/N]: y
    :
Installed:
  nfs-utils.x86_64 1:1.2.3-39.el6_5.3                                          

Dependency Installed:
  keyutils.x86_64 0:1.4-4.el6             libevent.x86_64 0:1.4.13-4.el6        
  libgssglue.x86_64 0:0.1-11.el6          libtirpc.x86_64 0:0.2.1-6.el6_5.2    
  nfs-utils-lib.x86_64 0:1.1.5-6.el6      rpcbind.x86_64 0:0.2.0-11.el6        

Complete!
[root@protected ~]#

共有ディレクトリを作成します。目印になるファイルを置いておきます。

[root@protected ~]# mkdir /home/nfs
[root@protected ~]# chown nobody.nobody /home/nfs
[root@protected ~]#

[root@protected ~]# touch /home/nfs/NFS_SHARED
[root@protected ~]#

共有設定を行います。NFS の詳細な設定内容については専門書等を参照してください。

[root@protected ~]# vi /etc/exports  
/home/nfs 10.0.0.0/255.0.0.0(rw,sync,no_root_squash)
[root@protected ~]#

NFS サーバと関連サーバを起動します。

[root@protected ~]# service rpcbind start
Starting rpcbind:                                          [  OK  ]
[root@protected ~]# service nfslock start
Starting NFS statd:                                        [  OK  ]
[root@protected ~]# service nfs start    
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]
[root@protected ~]#

NFS サーバと関連サーバの自動起動を設定します。

[root@protected ~]# chkconfig --list smb
smb             0:off   1:off   2:off   3:off   4:off   5:off   6:off
[root@protected ~]# chkconfig --list smb
smb             0:off   1:off   2:on    3:on    4:on    5:on    6:off
[root@protected ~]#

[root@protected ~]# chkconfig --list rpcbind            
rpcbind         0:off   1:off   2:on    3:on    4:on    5:on    6:off
[root@protected ~]# chkconfig --list nfslock
nfslock         0:off   1:off   2:off   3:on    4:on    5:on    6:off
[root@protected ~]# chkconfig --list nfs    
nfs             0:off   1:off   2:off   3:off   4:off   5:off   6:off
[root@protected ~]#

[root@protected ~]# chkconfig nfs on
[root@protected ~]# chkconfig --list nfs
nfs             0:off   1:off   2:on    3:on    4:on    5:on    6:off
[root@protected ~]#

NFS クライアントのインストール

オフィス側クライアント PC で NFS マウントを行うために関連サービスをインストールします。

ubuntu@ubuntu:~$ sudo apt-get install nfs-common -y
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following extra packages will be installed:
  libgssglue1 libnfsidmap2 libtirpc1 rpcbind
The following NEW packages will be installed:
  libgssglue1 libnfsidmap2 libtirpc1 nfs-common rpcbind
    :
ubuntu@ubuntu:~$

NFS 共有ディレクトリをマウントする

では、オフィス側クライアント PC で NFS サーバの共有ディレクトリをマウントしてみましょう。

ubuntu@ubuntu:~$ sudo mount -t nfs 10.110.42.197:/home/nfs /mnt
ubuntu@ubuntu:~$

ubuntu@ubuntu:~$ ls -l /mnt/
total 0
-rw-r--r-- 1 nobody nogroup 0 Jul 16 17:36 NFS_SHARED
ubuntu@ubuntu:~$

マウントできました。クライアント側からもファイルを書き込んでみます。

ubuntu@ubuntu:~$ sudo cp /etc/lsb-release /mnt
ubuntu@ubuntu:~$

ubuntu@ubuntu:~$ ls -l /mnt
total 4
-rw-r--r-- 1 nobody nogroup   0 Jul 16 17:36 NFS_SHARED
-rw-r--r-- 1 nobody nogroup 106 Jul 16  2014 lsb-release
ubuntu@ubuntu:~$

書き込めました。サーバ側でも確認してみます。

[root@protected ~]# ls -l /home/nfs
total 4
-rw-r--r-- 1 root root   0 Jul 16 03:36 NFS_SHARED
-rw-r--r-- 1 root root 106 Jul 16 03:50 lsb-release
[root@protected ~]#

まとめ

SoftLayer のプライベートネットワーク上に構築した NFS サーバを、IPsec VPN を経由してオフィスのプライベートネットワーク上のクライアント PC から利用してみました。
ここではサーバ PC の OS に CentOS 6 を用いて NFS サーバを構築しましたが、Samba サーバを用いたり、サーバ PC の OS に Windows Server を用いて Windows ファイルサーバ(共有フォルダ)を構築することも可能と思われます。
IPsec VPN と合わせて是非試してみてください。

CL LAB Mail Magazine

CL LABの情報を逃さずチェックしよう!

メールアドレスを登録すると記事が投稿されるとメールで通知します。

メールアドレス: 登録

※登録後メールに記載しているリンクをクリックして認証してください。

Related post