■Ubuntu Server / SoftEther VPN サーバーを構築 (その1)

SoftEther VPN を使って他所のパソコンから家 LAN へ VPN で接続するために、SoftEther VPN サーバーを構築してみます。

じつは既に Windows 2000 マシンで SofEther VPN Server を運用していたのですが、 Express5800/110Ge の導入に伴い、こちらへ移行したいと考えています。
しかしなんといっても Linux です、Ubuntu です。しかも CUI ときている (^_^:)
まずは SoftEther VPN Server のインストールからですが… ダウンロードは何とかなりそうですけど、解凍してコンパイルして、って何? だいたいそれをどこのディレクトリですればいいの? とゆ〜レベルの Linux 初心者が、あ〜でもないこ〜でもないと、数回の Ubuntu 自体の再インストールを繰り替えした試行錯誤の末の話ですので、以下、どうぞ大目にみてやってくださいませ、ませ。


1. ダウンロード

SoftEther VPN は SoftEther VPN プロジェクトからダウンロードします。今回利用させていただいたのは softether-vpnserver-v2.00-9387-rtm-2013.09.16-linux-x86-32bit.tar.gz です。
ダウンロードはどこのディレクトリでも構いません。とりあえずホームディレクトリにしておきましょう。ホームディレクトリのプロンプトは「~$」ですね。
 

~$ sudo wget http://jp.softether-download.com/files/softether/v2.00-9387-rtm-2013.09.16-tree/Linux/SoftEther%20VPN%20Server/32bit%20-%20Intel%20x86/softether-vpnserver-v2.00-9387-rtm-2013.09.16-linux-x86-32bit.tar.gz


入力が面倒くさいんですが、Windows マシンから Tera Term を使って Telnet 接続しているので、コピー&ペーストでクリアできました。


2. 解凍

どこに解凍するのか?
Linux ってソフトウェアをどこに置いても構わないらしいですが、だから余計に複雑なディレクトリってものが理解できないのですよ。でもとにかく、こうした自分でコンパイルするようなソフトウェアは /usr/local に置くのが良いみたい。ただし、一度インストールしたら削除するのは困難ですので、覚悟して実行しましょう (^_^;)
ってことで、まずダウンロードしたファイルを /usr/local にコピーします。
 

~$ sudo cp softether-vpnserver-v2.00-9387-rtm-2013.09.16-linux-x86-32bit.tar.gz /usr/local


長いっしょ、面倒くさい。コピー&ペーストでもいいし、コピー元ファイル名にワイルドカード使って「softether*」とかやっちゃえば簡単になりますよ。
コピーしたら /usr/local へ移動します。
 

~$ cd /usr/local


移動するとプロンプトが「/usr/local$」になります。以下ここで作業します。
解凍しましょう。
 

/usr/local$ sudo tar -xzvf softether-vpnserver-v2.00-9387-rtm-2013.09.16-linux-x86-32bit.tar.gz


「vpnserver」というディレクトリができています。


3. コンパイルのための準備

次はコンパイルです。
解凍したファイルの中にすでに「Makefile」というコンパイルするための手順書のようなものがありますので、make という作業をするだけです。が、make すると、
 

The program 'make' is currently not installed. You can install it by typing:
sudo apt-get install make


と叱られてしまいました。
それではと、指示にしたがって make をインストールし、再度 make してみると、今度はエラーの嵐です。どうも gcc というものが無いらしい。泥縄式に gcc をインストールして、どうにかコンパイルは成功しました。
でも、こういうコンパイルするためには「build-essential」というソフトウェアをインストールするのだそうです。これには make も gcc も含まれています。
では、「build-essential」をインストールしましょう。
 

/usr/local$ sudo apt-get install build-essential



4. コンパイル (make) する

解凍してできたディレクトリへ移動し、make します。
 

/usr/local$ cd vpnserver
/usr/local/vpnserver$ make
--------------------------------------------------------------------
SoftEther VPN Server (Ver 2.00, Build 9387, Intel x86) for Linux Install Utility
Copyright (c) SoftEther Project at University of Tsukuba, Japan. All Rights Reserved.
--------------------------------------------------------------------
Do you want to read the License Agreement for this software ?
 1. Yes
 2. No
Please choose one of above number:


1 を入力してライセンス契約読みます。
 

Did you read and understand the License Agreement ?
(If you couldn't read above text, Please read 'ReadMeFirst_License.txt'
 file with any text editor.)
 1. Yes
 2. No
Please choose one of above number:


スクロールが速くて読めるものか (^_^;)  読んだことにして 1 を入力。
 

Did you agree the License Agreement ?
1. Agree
2. Do Not Agree
Please choose one of above number:


同意しなきゃ使えません。1 を入力。

コンパイルが成功すると、最後に簡単な説明が表示されます。
 

The preparation of SoftEther VPN Server is completed !

*** How to switch the display language of the SoftEther VPN Server Service ***
SoftEther VPN Server supports the following languages:
  - Japanese
  - English
  - Simplified Chinese

You can choose your prefered language of SoftEther VPN Server at any time.
To switch the current language, open and edit the 'lang.config' file.

*** How to start the SoftEther VPN Server Service ***
Please execute './vpnserver start' to run the SoftEther VPN Server Background Service.
And please execute './vpncmd' to run the SoftEther VPN Command-Line Utility to configure SoftEther VPN Server.
Of course, you can use the VPN Server Manager GUI Application for Windows on the other Windows PC in order to configure the SoftEther VPN Server remotely.
--------------------------------------------------------------------


設定は Windows マシンからサーバー管理マネージャを使用して行いますので、言語の変更は必要ありません。
 

/usr/local/vpnserver$ sudo ./vpnserver start


で、SoftEther VPN サーバーが起動します。
デーモンとして動きますのでログアウトしても停止しませんが。自動起動はしません。自動起動の設定についてはあとで書きます。
停止は
 

/usr/local/vpnserver$ sudo ./vpnserver stop


再起動のコマンドはありませんので、停止して起動しなおします。

次回は、サーバー管理マネージャで VPN サーバーの設定をします。

■Ubuntu Server / ファイアウォールを設定する (その2)

Ubuntu Server のファイアウォール ufw の設定を一部変更してみました。

1. ディフォルトですべての接続を拒否
2. 特定の IP アドレスからのみ telnet 接続を許可
3. 特定のネットワークアドレスからの Samba 接続を許可
Ubuntu Server ファイアウォールを設定するでファイル共有のために 4つのポートを許可した目的は Samba の接続を許可するためなので、Samba サービスそのものを許可するようにします。また、同一ネットワークからの接続だけに制限します。

Samba がアプリケーション定義ファイルに登録されていることを確認しておきます。
 

$ sudo ufw app list
Available applications:
    Samba


ufw の設定をすべてリセットします。
 

$ sudo ufw disable
$ sudo ufw reset
Resetting all rules to installed defaults. Proceed with operation (y|n)? y


ファイアウォールを設定し、有効にします。
 

$ sudo ufw default  deny
$ sudo ufw allow from 192.168.1.100 to any port telnet
$ sudo ufw allow from 192.168.1.0/24 to any app Samba
$ sudo ufw enable


ファイアウォールはこんなふうになりました。
 

$ sudo ufw status
Status: active
To            Action    From
--             ------     ----
23/tcp      ALLOW   192.168.1.100
Samba     ALLOW   192.168.1.0/24

 

■Ubuntu Server / RAIDの状態を確認する

RAID に関する Tips

RAID の状態を確認する。
 

$ cat /proc/mdstat


異常時に状態をチェックするために、正常に動作しているときの /proc/mdstat をホームディレクトリーに保存しておく。
 

$ cp /proc/mdstat ~

 

■Ubuntu Server / ファイアウォールを設定する (その1)

Ubuntu Server にファイアウォールを設定してみます。

ファイアウォールは ufw を使用します。インストールされているかどうかを調べましょう。
 

$ dpkg -l | grep ufw
ii ufw                                           0.33-0ubuntu3
l               program for managing a Netfilter firewall


インストールされているようですので、ufw の状態を確認します。
 

$ sudo ufw status
Status: inactive


ufw が動いていないことがわかりました。

設定は、ディフォルトですべてを拒否し、必要なポートを許可するようにします。現在 telnet を使ってリモート接続していますので、まず telnet だけ許可しておきます。
 

$ sudo ufw default deny
$ sudo ufw allow telnet


ufw を有効にします。
 

$ sudo ufw enable


状態を確認してみましょう。
 

$ sudo ufw status
Status: active
To            Action    From
--             ------     ----
23/tcp      ALLOW   Anywhere
23/tcp      ALLOW   Anywhere (v6)


この状態でクライアントからファイルサーバーにアクセスできなくなっているはずです。ファイルサーバーのために次のポートも許可しておきます。
 

$ sudo ufw allow 137/udp
$ sudo ufw allow 138/udp
$ sudo ufw allow 139/tcp
$ sudo ufw allow 445/tcp


ちなみに、設定の削除は、
 

$ sudo ufw delete allow 137/udp


ufw を無効にするには、
 

$ sudo ufw disable


設定のリロードは、
 

$ sudo ufw reload


特定の IP アドレスからだけ telnet を許可する場合は、
 

$ sudo ufw allow from 192.168.1.100 to any port telnet


のように設定します。これらの設定は /lib/ufw/user.rules に登録されています。

■Ubuntu Server / ファイルサーバーを構築する

Ubuntu Server をインストールした Express5800/110Ge に Samba を使用したファイルサーバーを構築してみます。

共有するディレクトリは Ubuntu のユーザーディレクトリーである /home/username とします。
ユーザー username のみが共有ディレクトリーにアクセスできるようにし、他のユーザーにはユーザー名とパスワードを要求します。username とそのパスワードは Windows ものと同じにしています。

1. Samba のインストール
 

$ sudo apt-get install samba


インストールされた samba のバージョンは 3.6.9 でした。

2. ユーザーディレクトリのパーミッションの確認
ユーザーディレクトリのパーミッションを確認してみます。
 

$ ls -l /home
drwxr-xr-x 3 username username 4096 Oct 13 10:50 username


パーミッションは 755 で、所有者のみが読み書きでき、グループと他人は書き込みができないようになっています。
パーミッションを 700 に変更すると、所有者のみがアクセスして読み書きでき、グループと他人はアクセスできなくなります。(2013-11-30 追記修正)
 
$ sudo chmod 700 /home/username

3. Samba の設定
Samba の設定を行います。
まず、オリジナルの smb.conf を smborg.conf としてコピーしておきます。
 
$ sudo cp /etc/samba/smb.conf /etc/samba/smborg.conf

vi で /etc/samba/smb.conf を編集し、Samba の設定を行ないます。
 
$ sudo vi /etc/samba/smb.conf

編集する箇所は以下のとおり。その他はオリジナルのままです。

Windows のワークグループを設定します。
 
workgroup = WORKGROUP

共有するディレクトリの設定を、ファイルの末尾に追加します。
 
[username]
path = /home/username
writeable = yes

4. samba のユーザーを追加する
Linux のユーザー username を Samba に追加します。smb.conf で「unix password sync = yes」となっていますので、ここで設定するパスワードはログインパスワードと同期します。Windows とすべて同じにしておくと楽ですね。
 
$ sudo smbpasswd -a username
New SMB password:
Retype new SMB password:

5. Samba を再起動する
設定が終わったら設定内容を確認してみます。
 
$ testparm /etc/samba/smb.conf

問題が無ければ、ってか問題があるかどうか判断できかねるんですが (^_^;) とりあえず設定したようになっていれば Samba を再起動します。
 
$ sudo service smbd restart

ちなみに Samba の停止、起動は以下でできます。
 
$ sudo stop smbd
$ sudo start smbd

Windows からアクセスできれば、完了です。

セキュリティが甘いとかいろいろありそうなんですけど、ぼちぼち改善していきたいと思います。

■Ubuntu Server / システムをアップデートする

NEC Express5800/110Ge に Ubuntu 13.04 Server をインストールし、telnet でリモート接続できるようになったので、ぼちぼちといろいろ設定してみたいと思っていますが。

その前に、なんで CUI なのかって話です。
この Express5800/110Ge のビデオカードが XGI Technology社の Volari Z9s とかいうやつで、残念ながらこれが Ubuntu の GUI を正常に表示してくれないんですね。そこでグラフィックカードを入れてやろうと思ったら、なんとインターフェースが PCI Express x8 ときた。使っていない GeForce7100GS グラフィックボードがあったので、世の猛者たちがやっているように x16 のコネクタ部分を半分削り取って x8 に合わせて挿してみたけど、モニターはカラーのバーコードを表示するばかりで使えなかった。
とまぁそんなわけで、まぁこれも勉強だぜって腹を据えて CUI に挑戦中ってわけです。「UNIX もわからない奴が Linux なんか使えるものか」と冷ややかな視線を感じるのですが、素人は素人なりになにかするもんですよ、はい。頑張りましょ (^_^;)

閑話休題。
システムをアップデートして最新の状態にします。
 

$ sudo apt-get update
$ sudo apt-get upgrade


(2013-10-13 追記)
apt-get dist-upgrade というのがあるんですけど、こちらはディストリビューションのアップデートもやってしまいます。再起動が必要になることがあるので、サーバーのように常時稼動が求められるときは要注意。でも家サーバーでは再起動なんて特に問題ないし、GUI で使う「ソフトウェアの更新」(update-manager) では常に dist-upgrade になるらしいので、俺の場合はこちらを使うのがいいかもしれないです。
 

$ sudo apt-get update
$ sudo apt-get dist-upgrade


ちなみにインストール直後は「GNU/Linux 3.8.0-19-generic i686」でしたが、アップデート後は「GNU/Linux 3.8.0-31-generic i686」となりました。

■Ubuntu Serverをtelnetでリモートする

毎度のことですが、サーバーマシンのある場所での作業は面倒なので、いつも使っているクライアントパソコンからリモート接続できるようにします。Ubuntu Server は CUI で動作させていますので、telnet を使用することにしました。

 

$ sudo apt-get install inetutils-inetd
$ sudo apt-get install telnetd


アクセス制限を行うための hosts.allow と hosts.deny には何も設定されていないので、インストールするだけでリモート接続ができるようになります。

しかし、何もしないのもいけないよなぁってことで以下のように設定しておきました。
ちなみに、まず hosts.allow を見て設定してあると許可し、次に hosts.deny を見て設定してあると拒否、なければ許可する、というふうに動作するそうです。リストの書式は、
デーモン : ホスト ( : オプション)

/etc/hosts.allow

ALL : 192.168.1.0/255.255.255.0


/etc/hosts.deny

ALL : ALL


■Ubuntu ServerをExpress5800/110Geにインストール

NEC Express5800/110Ge に Ubuntu Server をインストールします。

Ubuntu のバージョンは 12.04.3 LTS で良いのですが、13.04 (Raring Ringtail) がリリースされていましたので、こちらを使うことにしました。ミラーサイトから ubuntu-13.04-server-i386.iso をダウンロードし、インストールディスクを作っておきます。
ソフトウェア RAID5 を構築しようと思い試行錯誤したのですが、以下の手順どおりに実行しても途中でエラーが出たりして、やるたびに微妙に異なってしまうことがあるんですね。原因はわからないのですが、とにかくまぁこういう方向でインストールするってことで。
ハードディスクは 250GB 4台搭載しています。すべてのパーティションを削除し未使用としておきます。マザーボードのジャンパースイッチは「RAID未使用」に設定。
そして、ネットワーク設定が済むまではLANケーブルを抜いて、DHCPサーバーから切り離しておきます。DHCPサーバーがあるとネットワーク設定が手動でできません。

1. ubuntu インストール DVD から起動。

2. Language は「English」を選択。

3. メニューが表示されるので「Install Ubuntu Server」を選択。

4. Select a language :
インストール時の言語も「English - English」を選択。

5. Select your location :
タイムゾーンは「other」-「Asia」-「Japan」と選択していく。

6. Configure locales :
ロケールも「United States - en_us.UTF-8」とする。

7. Configure the keyboard :
キーボードの自動検出はしない。
        Detect keyboard layout? : <No>
        Country of origin for the keyboard : Japanese
        Keyboard layout : Japanese

8. Cofigure the network :
ネットワーク設定を手動で行う。
「Network autoconfiguration failed.」と表示されるので <Continue>
        Network configuration method : Configure network manually
        IP address : 192.168.1.10
        Netmask : 255.255.255.0
        Gateway : 192.168.1.1
        Name server addresses : 192.168.1.1
        Hostname : ubuntu
        Domain name : (空白)
ここでLANケーブルを挿し、ネットワークに接続。

9. Set up users and passwords :
ユーザー名とパスワードを設定。
        Full name for the new user : username
        Username for your account : username
        Choose a password for the new user : password
        Re-enter password to verify : password
        Encrypt your home directory? : <No>

10. Configure the clock :
「your time zone is Asia/Tokyo.」と表示されていれば  <Yes>

11. Partition disks :
パーティションの作成。
        Partitioning method : Guide - use entire disk
        Select disk to partition :
1台目の「SCSI1 (0,0,0) (sda) - 250.1 GB ATA WDC WD250...」を選択すると、自動的にパーティションが作成され、
 

The partition tables of the following devices are changed :
        SCSI1 (0,0,0) (sda)
The following partitions are going to be formatted :
        partition #1 of SCSI1 (0,0,0) (sda) as ext4
        partition #5 of SCSI1 (0,0,0) (sda) as swap


と表示されるが、ここでは
        Write the changes to the storage devices and configure RAID? : <No>
と回答する。

続けて残りの 3台のHDDに同様の設定を繰り返す。
        Partitioning method : Guided partitioning
        Guided - use entire disk
        Select disk to partition : SCSI2 (0,0,0) (sdb) - 250.1 GB ATA WDC WD250...
                :
 
すべてのHDDにパーティションが設定できたら「Configure software RAID」を選択。
 

        The partition tables of the following devices are changed :
                SCSI1 (0,0,0) (sda)
                SCSI2 (0,0,0) (sdb)
                SCSI3 (0,0,0) (sdc)
                SCSI4 (0,0,0) (sdd)
        The following partitions are going to be formatted :
                partition #1 of SCSI1 (0,0,0) (sda) as ext4
                partition #5 of SCSI1 (0,0,0) (sda) as swap

 
と表示されるので、
        Write the changes to the storage devices and configure RAID? : <Yes>
と回答する。

MD デバイスを作成。
        Software RAID Configuration actions : Create MD device
        Software RAID device type : RAID5
        Number of active devices for the RAID5  array : 4
        Number of spare devices for the RAID5 array : 0
        Active devices for the RAID5 array :
OS をインストールするパーティション sda1, sdb1, sdc1, sdd1 を選択し <Continue>
        Write the changes to the storage devices and configure RAID? : <Yes>

同様にスワップ領域とする sda5, sdb5, sdc5, sdd5 をRAID5に設定する。

        Software RAID Configuration actions : Finish

続けて、パーティションの設定を行う。
 

        RAID5 devices #0 - 740.1 GB Software RAID device
                #1                740.1 GB
                                      512.0 B    unusable
        RAID5 devices #1 - 9.6 GB Software RAID device
                #1                    9.6 GB
                                      512.0 B    unusable

 
OSをインストールするパーティション「#1  740.1 GB」を選択し
        use as : Ext4 journaling file system
        Format the partition : yes, format it
        Mount point : / - the root file system
と設定して、
        Done setting up the partition
swap領域とするパーティション「#1  9.6 GB」を選択し、
        use as : swap area
        Done setting up the partition
完了したら、
        Finish partitioning and write changes to disk
 

        The following partitions are going to be formatted :
                partition #1 of RAID5 device #0 as ext4
                partition #1 of RAID5 device #1 as swap

 
と表示されたら、
        Write the changes to disk? : <Yes>
と回答し、パーティションの作成、設定は完了。

12. インストールが始まる。
プロキシは使用しないので空白とする。
        HTTP proxy information (blank for none) : (空白)
 自動でのアップデートは行わない。
        How do you want to manage upgrades on this system? : No automatic updates
 ここではソフトウェアのインストールはしない。
        Choose software to install : (何も選択せずに) <Continue>
 GRUB ブートローダーのインストールをするかと聞かれるので、
        Install the GRUB boot loader to the master boot record? : <Yes>
と回答。

13. インストールが完了するとインストールディスクがエジェクトされるので、ディスクを取り出して <Continue>

14. システムが再起動され、Ubuntu が起動。

設定したユーザー名とパスワードでログインできれば、Ubuntu Server のインストール完了です。

■サーバーマシン Express5800/110Ge を入手

振り返ってみたら 8月 9月とまったく更新していなかったとゆ〜。とにかく仕事が忙しかった。疲れたまって体調悪くて。ようやく暇ができてきたので、またゴソゴソとなにやら始めてみようかと (^_^;)

中古のサーバーマシンを手に入れました。NECのExpress5800/110Ge、CPUはインテル Xeon 3065 2.33GHz って機種です。せっかくのマシンだからこれをサーバーに仕立ててみようと思います。

画像キャプション

ちょうど手元に 250GBのハードディスクが 4台、まさに RAID で使ってくれと言わんばかりにあったので、これを取り付けてみました。

画像キャプション

このマシンはハードウェアで RAID0、RAID1、RAID10 が構築できますが、まずディスクを初期化するためと、今回は Ubuntu Server で RAID5 を利用してみようと思うので、マザーボード上のジャンパースイッチを「RAID未使用」に設定しておきます。
最近バックアップ用に使っている Paragon の「Backup & Recovery 2013 FREE」のリカバリーディスクを使って起動。すべてのハードディスクのパーティションを削除します。このソフト、バックアップだけじゃなくてパーティションを操作できるので重宝してます。

これで準備完了。次は Ubuntu Server をインストールします。

<< | 2/2PAGES |

■calendar

S M T W T F S
      1
2345678
9101112131415
16171819202122
23242526272829
30      
<< September 2018 >>

■search this site.

■recommend

毎日貯まるポイントサイト ECナビ

■recommend





■Twitter

■recommend

■recommend

■selected entries

■categories

■archives

■recent comment

■recent trackback

■links

■profile

■others

■mobile

qrcode

■powered

無料ブログ作成サービス JUGEM