■Ubuntu Server / SoftEther VPN サーバー自身にアクセスする方法

SoftEther VPN サーバーをインストールした Ubuntu Server マシンには、Samba によるファイルサーバーが稼動しています。VPN を構築した目的は、このファイルサーバーに遠隔地のクライアントからアクセスすることです。これは Windows マシンで同様の環境を作っていたときには問題なくできたことです。
ところが、OS が Linux の場合には、SoftEther VPN サーバーをインストールしたマシン自身に VPN 側からアクセスすることができず、ファイルサーバーを利用できません。通信ができないということなので ping も通りません。これは Linux の制限によるものだそうです。

SoftEther VPN マニュアルより

Linux オペレーティングシステム内部での制限事項により、VPN 側 (仮想 HUB 側) からローカルブリッジしている LAN カードに割り当てられる IP アドレスに対して通信を行うことはできません。この制限は SoftEther VPN が原因ではなく、Linux の内部構造に原因があります。もし VPN 側 (仮想 HUB 側) から Linux でローカルブリッジに使用しているコンピュータ本体と、何らかの通信を行いたい場合 (たとえば VPN Server / VPN Bridge サービスと HTTP サーバーサービスを両方動作させており、VPN 側からもサーバーサービスにアクセスさせたい場合) は、ローカルブリッジ用の LAN カードを用意して接続し、その LAN カードと既存の LAN カードの両方を物理的に同じセグメントに接続してください (この他の場合においても 「3.6 ローカルブリッジ」 で解説したように、ローカルブリッジに使用する LAN カードはそのための単独のものを用意することが推奨されています)。


この問題を解決してファイルサーバーにアクセスできるよう、マニュアルにしたがってローカルブリッジ用 LAN カードを増設することにします。


増設した LAN カード (以下 NIC) は、ジャンクボックスに転がっていたバッファロー製の 100Mbps 、型式は確認し忘れましたが、最近のパソコンなら取り付けるだけで動いちゃうような汎用の製品です。ギガビットのものがあれば、もちろんそれがいいですね。
取り付けが済んだら電源を入れ、NIC が認識されているか確認します。
 

$ ifconfig
eth0      Link encap:Ethernet  HWaddr 00:1d:7d:ff:ff:ff 
          inet addr:192.168.1.10  Bcast:192.168.1.255  Mask:255.255.255.0
                        :
                        :
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
                        :
                        :


eth0 は既設の NIC です。ベンダーコードから GIGABYTE TECHNOLOGY CO.,LTD. 製だとわかります。増設した NIC は表示されていませんので、コマンドで起動してみます。
 

$ sudo ifconfig eth1 up
$ ifconfig
eth0      Link encap:Ethernet  HWaddr 00:1d:7d:ff:ff:ff 
          inet addr:192.168.1.10  Bcast:192.168.1.255  Mask:255.255.255.0
                        :
                        :
eth1      Link encap:Ethernet  HWaddr 00:07:40:ff:ff:ff
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
                        :
                        :
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
                        :
                        :


バッファロー製の eth1 が表示されましたので、うまく動いているようです。認識されない場合は「ネットワークカードを認識させるには」あたりを参考にしてみて下さい。
このままではマシンを再起動した時に NIC が停止してしまいますので、/etc/network/interfaces を設定します。

SoftEther VPN マニュアルによれば、

ローカルブリッジ用に、コンピュータに用意したローカルブリッジ専用 LAN カードがある場合には、パフォーマンスを向上させるために、その LAN カードには TCP/IP プロトコルや他のプロトコルスタックなどを「無効」にすることを推奨します。ローカルブリッジ用の LAN カードの役割は、仮想 HUB と物理的な LAN との間の Ethernet フレームの公開であり、仮想 HUB を動作させているオペレーティングシステムのプロトコルスタックがその LAN カードに対して介入する必要は全くないからです。


ということですので、eth1 の IP アドレスを 0.0.0.0 に設定します。
 

$ sudo vi /etc/network/interfaces


最後に次を追加します。
 

auto eth1
iface eth1 inet static
address 0.0.0.0


設定が完了したら、増設した NIC をサーバーマシンが繋がっている HUB に LAN ケーブルで接続します。つまりふたつの NIC から 2本のケーブルがひとつの HUB に繋がるということになります。既設の NIC には IP アドレス 192.168.1.10 が割り当てられていて、サーバーマシン自身の通信を行います。増設した NIC は VPN 側 (仮想 HUB) とサーバー側 LAN をブリッジする役割となります。
ということなので、最後に SoftEther VPN サーバー管理マネージャから「ローカルブリッジ設定」に入り、「ブリッジ先 LAN カード」を eth0 から eth1 に変更します。

これで、VPN クライアントからサーバーマシンへの通信が可能になり、ping も通りますし、ファイルサーバーにもアクセスできるようになりました。
 

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

Ubuntu Server マシンで SoftEther VPN サーバーが稼動しましたので、次はスマートホンから L2TP/IPsec 接続できるようにしたいと思います。


1. IPsec/L2TP/EtherIP/L2TPv3 サーバー機能

SoftEther VPN サーバーの設定で行なっていますが、サーバー管理マネージャより「IPsec/L2TP/EtherIP/L2TPv3 サーバー機能」に入り、「L2TP サーバー機能を有功にする (L2TP over IPsec)」にチェックを入れ、「IPsec 事前共有鍵」を設定しておきます。


2. ユーザーの追加

L2TP/IPsec 接続用のユーザーを追加しておきます。


3. ファイアウォールの設定

ファイアウォールを設定します。設定方法は省略しますが、出来上がりはこんな感じです。
 

$ sudo ufw status
Status: active

To
Action
From
--
-----
----
23/tcp
ALLOW
192.168.0.100
Samba
ALLOW
192.168.0.0/24
5555
ALLOW
192.168.0.100
443
ALLOW
Anywhere
500/udp
ALLOW
Anywhere
1701/udp
ALLOW
Anywhere
4500/udp
ALLOW
Anywhere


4. ルーターの設定

フィルターの設定をします。
 

# ip filter 1050 pass * 192.168.1.10 tcp,udp * https
# ip filter 1051 pass * 192.168.1.10 esp * *
# ip filter 1052 pass * 192.168.1.10 udp * 500
# ip filter 1053 pass * 192.168.1.10 udp * 1701
# ip filter 1054 pass * 192.168.1.10 udp * 4500
# pp select 1
pp1# ip secure filter in ...... 1050 1051 1052 1053 1054 ......
pp1# pp select none


IP マスカレードの設定です。
 

# nat descriptor masquerade static 1 10 192.168.1.10 tcp https
# nat descriptor masquerade static 1 11 192.168.1.10 esp
# nat descriptor masquerade static 1 12 192.168.1.10 udp 500
# nat descriptor masquerade static 1 13 192.168.1.10 udp 4500


参考URL:L2TP/IPsec

ちなみにこれらのポートの用途は次のようです。
 
https : SoftEther VPN が使用しているポート
esp : IPsec のプロトコル
500/udp : IPsec の暗号鍵交換のプロトコル
1701/udp : L2TP の待ち受けポート
4500/udp : NAT traversal NAT越えを解決する手法

また、SoftEther VPN では、IP マスカレードに https を設定しなくてもよいはずなのですが、俺の環境では SoftEther VPN クライアントからの接続が 10分毎に切断されるという症状があったために設定しています。現在はこれで安定しています。


5. スマートホンの設定

俺のスマートホンは Android 2.3.5 です。
「設定」-「無線とネットワーク」-「VPN 設定」-「VPN の追加」に入り、「L2TP/IPSec PSK VPN を追加」を選択します。
 
  1. 「VPN 名」は任意の名称を入力
  2. 「VPN サーバーの設定」は、VPN サーバーのダイナミック DNS ホスト名を入力
  3. 「IPSecIPsec 事前共有鍵の設定」に VPN サーバーで設定した IPsec 事前共有鍵を入力
  4. 「セキュリティ保護」はチェックなし
  5. 「DNS 検索ドメイン」は設定しません。
  6. 設定ができたら、作成した VPN 名をタップします。
  7. 「認証情報ストレージパスワード」を求められますので、初めてなら適当なパスワードを入力します。次からこのパスワードが必要になりますので忘れないように。
  8. 「ユーザー名」には作成したユーザー名を入力します。ユーザー名だけでも接続できますが、基本的には「ユーザー名@仮想HUB名」とします。
  9. パスワードを入力して OK すると、VPN サーバーに接続されます。

接続できないとき、俺の場合はファイアウォール、ルーターのフィルターや IP マスカレードの設定が間違っていたことがほとんどでした。このあたりをきちんと見直してみましょう。
接続ができれば、ES ファイルマネジャーなどのアプリを使用して家 LAN 内のパソコンの共有フォルダにアクセスできるようになります。
 

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

Ubuntu Server マシンの起動時に、SoftEther VPN サーバーを自動起動する設定を行ないます。
この設定に当たって「Raspberry Pi でSoftEther VPN 1.0 RC2を試す | よもやま雑記帳」を参考にさせていただきました。こちらのサイトではマシンも Linux ディストリビューションも異なりますが、SoftEther VPN サーバーのインストールと設定が大変詳しく書かれており、特にスタートアップスクリプトはそんぐりそのまま利用させていただきました。ありがとうございます。


1. スタートアップスクリプトを作成

サーバーマシンの起動とともに vpnserver プログラムをデーモンとして起動させるためのスクリプトを作成します。
実は /etc/init.d ディレクトリには skeleton というスクリプトがあり、これを利用できるかなとやってみたのですが、どうもうまくいきませんでした。残念ながら俺はまだシェルスクリプトを十分に理解できてませんので、どうすればいいのかわかりません。でも「よもや雑記帳」にあったスクリプトはまさにこのためにあったようです (^_^;) 
 

$ sudo vi /etc/init.d/vpnserver


新しいファイルの作成に入りますので、以下のスクリプトを書いていきます。大変ですので、コピー&ペーストなどの工夫をしてくださいね。
 

#!/bin/sh
### BEGIN INIT INFO
# Provides:                     vpnserver
# Required-Start:               $local_fs $network
# Required-Stop:                $local_fs $network
# Default-Start:                2 3 4 5
# Default-Stop:                 0 1 6
# Short-Description:            SoftEther VPN v2.00-9387
# Description:                  Start vpnserver daemon SoftEther VPN 2.00 Server
### END INIT INFO
 
DAEMON=/usr/local/vpnserver/vpnserver
LOCK=/var/lock/vpnserver
 
. /lib/lsb/init-functions
 
test -x $DAEMON || exit 0
 
case "$1" in
start)
sleep 3
log_daemon_msg "Starting SoftEther VPN 2.00 Server" "vpnserver"
$DAEMON start >/dev/null 2>&1
touch $LOCK
log_end_msg 0
sleep 3
 
;;
 
stop)
log_daemon_msg "Stopping SoftEther VPN 2.00 Server" "vpnserver"
$DAEMON stop >/dev/null 2>&1
rm $LOCK
log_end_msg 0
sleep 2
 
;;
 
restart)
$DAEMON stop
sleep 2
 
$DAEMON start
sleep 5
 
;;
 
status)
    if [ -e $LOCK ]
    then
        echo "vpnserver is running."
    else
        echo "vpnserver is not running."
    fi
;;
*)
 
echo "Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit 0


作成したスクリプトファイルに実行権限を与えます。
 

$ sudo chmod +x /etc/init.d/vpnserver



2. スタートアップスクリプトを自動起動させる

一般的には chkconfig を使用するのですが、Ubuntu には chkconfig がないそうです。そこでインターフェースが似ているといわれている sysv-rc-conf を使用することにしました。
sysv-rc-conf をインストールします。
 

$ sudo apt-get install sysv-rc-conf


vpnserver を on します。
 

$ sudo sysv-rc-conf vpnserver on
$ sudo sysv-rc-conf --list vpnserver
vpnserver    2:on    3:on    4:on    5:on


最後に vpnserver を起動します。
 

$ sudo /etc/init.d/vpnserver start
 * Starting SoftEther VPN 2.00 Server vpnserver                [ OK ]


サーバーマシンを再起動して vpnserver が起動していれば成功ですね。
 

$ sudo /etc/init.d/vpnserver status
vpnserver is running.

 

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

Ubuntu Server に SoftEther VPN サーバーをインストールし、起動できましたので、次はクライアント側の Windows パソコンに SoftEther VPN クライアントをインストールして VPN 接続してみます。
ちなみに基本的なことですが、サーバー側とクライアント側のネットワークアドレスは重複させないことが必要です。サーバー側が 192.168.1.0/24 なら、クライアント側はそれ以外の例えば 192.168.2.0/24 にしなければなりません。

SoftEther VPN クライアントは SoftEther VPN プロジェクト から softether-vpnclient-v2.00-9387-rtm-2013.09.16-windows-x86_x64-intel.exe をダウンロードします。インストールは Windows ですので説明するまでもありません。ソフトウェアの選択で「SoftEther VPN Client」を選びます。
インストールが完了したら、SoftEther VPN クライアント接続マネージャを起動し、設定を始めます。

1. 仮想 LAN カードの作成
メニューの「接続」から「接続設定の新規作成」を選択します。「仮想 LAN カードを作成しますか?」と聞かれますので「はい」をクリック。仮想 LAN カードに任意の名称を入力して「OK」します。

2. 接続設定の新規作成
仮想 LAN カードが作成されたら、もう一度「接続設定の新規作成」を選択します。「新しい接続設定のプロパティ」画面が開きます。
「接続設定名」に任意の名称を入力。「ホスト名」は VPN サーバーのダイナミック DNS ホスト名を入力します。「ポート番号」は 443 のままとしておきましょう。「仮想 HUB 名」のプルダウンメニューを開くと、 ホストを検出できればサーバー側で設定した仮想 HUB 名が表示されます。
「ユーザー認証」の「認証の種類」は「標準パスワード認証」のままとし、仮想 HUB に設定した「ユーザー名」と「パスワード」を入力します。
「OK」をクリックしてプロパティ画面を閉じます。

3. VPN 接続の開始
作成した接続設定名を右クリックして「接続」を選択すると、VPN サーバーに接続されます。このとき仮想 LAN カードには、サーバー側の DHCP サーバーから IP アドレスが割り当てられ、サーバー側 LAN のセグメントに接続されます。コマンドプロンプトから ipconfig で確認できますね。
サーバー側のルーターやパソコンなどに対して ping が通るか確認しておきます。サーバー側に共有フォルダがあればクライアントからアクセスできると思います。
ただし、サーバー自身へは ping は通りませんし、サーバーに設置してある Samba サーバーにもアクセスすることはできません。これは Linux の制限らしいです。たしかに Windows マシンを VPN サーバーにしていたときは可能なことでした。この点については今後、なんらかの解決策がないのか調べてみたいと思っています。
接続の終了は、接続先名を右クリックして「切断」を選択します。
また、接続先名のコンテキストメニューから「スタートアップに設定」を選択しておくと、クライアントパソコンを起動すると同時に VPN サーバーへ接続されます。

次はサーバー側で、SoftEther VPN サーバーを自動起動する設定をしてみることにします。

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

Ubuntu Server に SoftEther VPN サーバーをインストールできましたので、次は Windows パソコンからサーバー管理マネージャを使用して VPN サーバーの設定を行います。また、サーバーのファイアウォールとルーターの設定も変更します。

サーバー管理マネージャは SoftEther VPN プロジェクト から softether-vpnserver_vpnbridge-v2.00-9387-rtm-2013.09.16-windows-x86_x64-intel.exe をダウンロードします。
インストールは、「インストールするソフトウェアの選択」で「SoftEther VPN サーバー管理マネージャ(管理ツールのみ)」を選択します。Windows なので特に説明の必要はないですね。
インストールが完了したらサーバー管理マネージャを起動し、設定していきます。


1. 接続設定
「新しい接続設定」をクリック、「接続設定名」に任意の名称を入力。「ホスト名」は VPN サーバーの IP アドレス (ex. 192.168.1.10) を入力します。「ポート番号」は 443(HTTPS) でいいのですが、私は 5555(SE-VPN) を使っています。初めて使った時のディフォルトが 5555(SE-VPN) だったのでその流れです。
入力が終わったら「OK」をクリック。「ログイン」画面でパスワードを入力せずに「OK」すると「管理者パスワードの設定」になりますので、ここで管理者パスワードを入力します。
これでサーバー管理マネージャに接続できました。

2. 簡易セットアップ
VPN サーバーの設定に進みます。初めて設定する時は簡易セットアップ画面が表示されます。今回は他所のパソコンやスマートフォンから VPN 接続させますので、「リモートアクセス VPN サーバー」を選択します。

3. 仮想 HUB 名
クライアントはこの仮想 HUB に接続することになります。任意の名前をつけます。

4. ダイナミック DNS 機能
サーバー側グローバルアドレスが固定ならば必要ありませんが、動的アドレスの場合は、SoftEther プロジェクトが提供しているダイナミック DNS を利用します。もちろん他の DDNS を利用してもかまいません。必要に応じて変更して、「閉じる」をクリックします。

5. IPsec/L2TP/EtherIP/L2TPv3 サーバー機能
SoftEther VPN クライアントからの接続だけであればこの機能は必要ありません。スマートフォンからの接続を受けるなら「L2TP サーバー機能を有功にする (L2TP over IPsec)」にチェックを入れ、「IPsec 事前共有鍵」を設定します。
今回は SoftEther VPN クライアントからの接続とし、スマートフォンからの L2TP 接続に関しては、あらためて書きます。

6. VPN Azure クラウド
使用しませんので「無効にする」を選択して「OK」します。

7. ユーザーの作成
ユーザー名とパスワードを設定します。本名や説明は任意に。認証方法は「パスワード認証」のままとしておきます。間違っても「匿名認証」などにしないように。
複数のユーザーが必要ならば「新規作成」から追加作成します。

8. ローカルブリッジの設定
VPN サーバーからサーバー側の LAN にアクセスするために、仮想 HUB と物理的な LAN カードをブリッジ接続します。LAN カードは eth0 を選択します。

9. 簡易セットアップと設定箇所
「閉じる」をクリックすると簡易セットアップが終了し、サーバー管理マネージャの画面になります。
簡易セットアップで設定した内容は、それぞれ次の場所で確認・設定できます。
a. 仮想 HUB 名
サーバー管理マネージャから仮想 HUB の作成・管理ができます。
b. ダイナミック DNS 機能
「ダイナミック DNS 機能」をクリックして設定します。
c. IPsec/L2TP/EtherIP/L2TPv3 サーバー機能
「IPsec/L2TP 設定」をクリックして設定します。
d. VPN Azure クラウド
「VPN Azure 設定」をクリックして設定します。
e. ユーザーの作成
「仮想 HUB の管理」から入って、「ユーザーの管理」をクリックして設定します。
f. ローカルブリッジの設定
サーバー管理マネージャ画面から「ローカルブリッジ設定」をクリックして設定します。

SoftEther VPN サーバーの設定は完了です。サーバー管理マネージャを終了します。


VPN サーバーのファイアウォールを追加設定しましょう。
 

$ sudo ufw allow from 192.168.1.100 to any port 5555
$ sudo ufw allow https


443 (v6) ってポートも設定されてしまうので削除しておきます。ちなみに 1行目と 2行目は以前設定した telnet と Samba に関するものです。
 

$ sudo ufw status numbered
Status: active

To Action From
-- ----- ----
[ 1] 23/tcp ALLOW IN 192.168.1.100
[ 2] Samba ALLOW IN 192.168.1.0/24
[ 3] 5555 ALLOW IN 192.168.1.100
[ 4] 443 ALLOW IN Anywhere
[ 5] 443 ALLOW IN Anywhere (v6)


$ sudo ufw delete 5
Deleting:
 allow 443
Proceed with operatin (y|n)? y
Rule deleted (v6)

$ sudo ufw status
Status: active

To Action From
-- ----- ----
23/tcp ALLOW 192.168.0.100
Samba ALLOW 192.168.0.0/24
5555 ALLOW 192.168.0.0/24
443 ALLOW Anywhere

もう一息です。ルーター設定を変更しましょう。
SoftEther VPN クライアントを使用する場合はルーター設定を触る必要はないはずなのですが、接続が切れることがあったので設定しています。それが効果あったのかどうか、じつは定かではないのですが、現在は安定して接続されています。問題なければしなくてもいいと思います。
フィルターに https を追加、IP マスカレードも追加設定します。
 

# ip filter 1050 pass * 192.1689.1.10 tcp,udp * https
# pp select 1
pp1# ip pp secure filter in ...... 1050 ......
pp1# pp select none
# nat descriptor masquerade static 1 10 192.168.1.10 tcp https
# nat descriptor masquerade static 1 11 192.168.1.10 udp https
# save


(2013/12/02 追記)
VPNの接続状態を確認すると「物理通信に使用中のプロトコル」が「VPN over UDP with NAT-T (IPv4)」になっていました。NAT-T という手法で NAT 越えやファイやウォール通過を行っているもののようです。
ファイアウォール、フィルター、IP マスカレードの設定を見直した結果、現在はこれが「Standard TCP/IP (IPv4)」となっています。接続が切れるという症状もまったく起きなくなりました。NAT-T で繋がっていて不安定な場合は要チェックです。

これでサーバー側の設定は完了です。次はクライアント側の設定を行います。
 

■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 からアクセスできれば、完了です。

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

<< | 2/3PAGES | >>

■calendar

S M T W T F S
      1
2345678
9101112131415
16171819202122
23242526272829
<< February 2020 >>

■search this site.

■recommend

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

■recommend

* 楽天ROOM *

■Twitter

■recommend

■recommend

■selected entries

■categories

■archives

■recent comment

■recent trackback

■links

■profile

■others

■mobile

qrcode

■powered

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