■ubuntu server 13.04 を 14.04 LTS へアップグレード

現在、家サーバーで使っている OS が ubuntu server 13.04 のままで、すでにサポート期間が終了してしまっているので、14.04 LTS にアップグレードしてみます。

実は ubuntu server のアップグレードはやったことがないのでどうなるかわかりません。まずは最低限必要なものをバックアップしておきます。本当はシステムを丸ごとバックアップしたほうがいいんだろうなぁとか思いつつ、まぁ家サーバーなのでダメになったら一からインストールしなおしてもすっきりして良いかなと思ってるわけで (^_^;)


1. バックアップ

ファイルサーバー内のファイルをすべてバックアップ。
samba や VPN、ssh などなどの設定ファイルをバックアップ。
softether VPN のディレクトリーを丸ごとバックアップ。これは最終的にバージョンアップする予定です。


2. 13.04 から 13.10 へアップグレード

現在 ssh でログインするとこんな感じ。
 

Welcome to Ubuntu 13.04 (GNU/Linux 3.8.0-35-generic i686)

 * Documentation:  https://help.ubuntu.com/

  System information as of Sun Mar 29 13:03:45 JST 2015

  System load:  0.0                 Processes:           95
  Usage of /:   27.2% of 678.34GB   Users logged in:     0
  Memory usage: 3%                  IP address for eth0: 192.168.1.10
  Swap usage:   0%

  Graph this data and manage this system at:
    https://landscape.canonical.com/

0 packages can be updated.
0 updates are security updates.

Your Ubuntu release is not supported anymore.
For upgrade information, please visit:
http://www.ubuntu.com/releaseendoflife

New release '13.10' available.
Run 'do-release-upgrade' to upgrade to it.

Last login: Sun Mar 29 11:56:16 2015 from 192.168.1.100
user@ubuntu:~$


13.04 からは 13.10 へアップグレードできますので、書かれているように「do-release-upgrade」を実行してみましょう。ただし、ssh 経由は非推奨らしいし、安全のためにもマシンのあるサーバーラックへ移動して作業します。寒いんですけど… (^_^;)
 

$ sudo apt-get update
$ sudo do-release-upgrade

Installing the upgrade can take several hours. Once the download has
finished, the process cannot be canceled.

Continue [yN]


y を入力してアップグレードを開始します。
 

13 Packages are going to be removed.

Continue [yN]


ここも y を入力して進めます。
 

To finish the upgrade, a restart is required.
If you select 'y' the system will be restarted.

Continue [yN]


y を入力すると、サーバーマシンが再起動してアップグレードが完了します。かかった時間は約30分でした。
ssh でログインするとこうなっています。
 

Welcome to Ubuntu 13.10 (GNU/Linux 3.11.0-26-generic i686)

 * Documentation:  https://help.ubuntu.com/

  System information as of Sun Mar 29 14:34:50 JST 2015

  System load:  0.12                Processes:           105
  Usage of /:   27.2% of 678.34GB   Users logged in:     1
  Memory usage: 3%                  IP address for eth0: 192.168.1.10
  Swap usage:   0%

  Graph this data and manage this system at:
    https://landscape.canonical.com/

Your Ubuntu release is not supported anymore.
For upgrade information, please visit:
http://www.ubuntu.com/releaseendoflife

New release '14.04.2 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

Last login: Sun Mar 29 14:34:50 2015 from 192.168.1.100
user@ubuntu:~$


ssh は問題なくログインできます。スマホからの VPN 接続もばっちりです。ファイルサーバーもしっかり動いています。システムの動作に問題はないようです。


3. 13.10 から 14.04.2 LTS へアップグレード

さて、13.04 から 13.10 へアップグレードできましたがこれもすでにサポート期間が終了していますので、指示に従い 14.04.2 LTS へさらにアップグレードすることにしましょう。
手順は上と同じですが、途中で
 

Restart services during package upgrades without asking?

                <Yes>                        <No>


と尋ねられたので、念のため <No> で進めます。動いているサービスを再起動しますよってことのようで、リストされたサービスを確認して OK すると、アップグレードが続いていきます。
最後に再起動で完了です。システムも正常に稼働しているようです。

ssh でログインすると以下のようになりました。
 

Welcome to Ubuntu 14.04.2 LTS (GNU/Linux 3.13.0-48-generic i686)

 * Documentation:  https://help.ubuntu.com/

  System information as of Sun Mar 29 15:39:39 JST 2015

  System load:  0.48                Processes:           105
  Usage of /:   27.3% of 678.34GB   Users logged in:     0
  Memory usage: 3%                  IP address for eth0: 192.168.1.10
  Swap usage:   0%

  Graph this data and manage this system at:
    https://landscape.canonical.com/

Last login: Sun Mar 29 15:39:40 2015 from 192.168.1.100
user@ubuntu:~$



4. その他

ついでに古いカーネルを削除しておきましょう。
 

$ sudo apt-get autoremove



以上で14.04.2 LTSへのアップグレードが、無事完了しました。
 

■cron 指定時刻にシャットダウンする

備忘録です。

ubuntu server を、指定の時刻にシャットダウンさせます。
 

sudo crontab -e


エディターが立ち上がるので、以下を追加します。
毎日 00時05分にシャットダウンのコマンドを実行する、という意味。

# m h  dom mon dow   command
05 00 * * * /sbin/shutdown -h +1


書式 「m h  dom mon dow   command」 は、「分 時  日 月 曜日  コマンド」 を表します。

crontab の確認は、

sudo crontab -l


ちなみに、crontab -r とかやっちゃうと設定がすべて消えますので注意。

参考にさせていただいたサイト 「まさおのブログ (表): Ubuntu で cron の設定をする
ありがとうございます。
 

■Ubuntu Server / SSH でリモートログイン

SSH のメモです。放置すると埋もれてしまうので、とりあえずメモのまま。

SSH

クライアントを追加するとき、サーバー側でパスワード認証を一時的に許可しておくことで、クライアントから公開鍵の転送など可能になる

インストール openssh-server
設定ファイル /etc/ssh/sshd-config
リスタート /etc/init.d/ssh restart
(ディフォルト、サーバーのログインパスワードでリモートログイン可)

TeraTerm 鍵作成
RSA B:2048
パスフレーズ 「●●●●●●●●」
秘密鍵 id-rsa
公開鍵 id-rsa.pub
id-rsa.pubをサーバーホームディレクトリへ
/home/user/.ssh へ移動
authorized-keys に登録
パーミッション600に変更

設定ファイル変更
Password Authentication no
Permit Root Login no
Permit Empty Password no

リスタート


参考にさせていただいたサイト:初心者がWEB開発に挑戦 UbuntuにSSHサーバーをインストール
 

■Ubuntu Server / Sambaユーザーの追加

備忘録ですが、実行したときのメモなので間違っているかも。ってか、実際の設定と異なってるんで、どうしたものかと (^_^;)

Ubuntu Server の Samba にユーザーを追加します。

Ubuntu Server のユーザー username を作り、パスワードを設定します。

# sudo useradd username
# sudo passwd username


ユーザー作成には「adduser」コマンドもありますが、こちらはホームディレクトリが作成されます。

usename でログインできなくしておきます。

# sudo usermod -s /bin/false username


Samba にユーザーを追加します。

# sudo smbpasswd -a username


で、実際のところはホームディレクトリも作ってあって、そこにそのユーザーのファイルが置いてあります。ログインシェルも /bin/bash になってました。管理上そのほうが都合良くて変更したのかも。
誰でもアクセスできる共有ディレクトリなら、パーミッションをそのように設定すればいいですね。
 

■Ubuntu / ネットワークプレースを自動マウント

ファイルサーバーにある共有ディレクトリを、Ubuntu クライアントの起動時に自動マウントします。
 
Samba ファイルサーバー : 192.168.1.10
サーバーの共有ディレクトリ : user
クライアントのマウントポイント : /mnt/samba
Samba ユーザー名 : smbuser
Samba パスワード : smbpass

Samba をマウントする方法をググると smbfs ってのが必要らしいです。そこで、
 

$ sudo apt-get install smbfs


なんてやると、「それ古いんだよ。cifs-utils にしな」と言われてしまいます (^_^;)
そんなわけですから、まずは cifs-utils をインストールすることにします。
 

$ sudo apt-get install cifs-utils


つぎにマウントポイントを作成します。マウントポイントは、マウントする共有ディレクトリを格納する場所です。
 

$ sudo mkdir /mnt/samba


/etc/fstab を編集しますが、GUI で使っているクライアントマシンではなぜか vi がまともに動かないので、gedit を使います。こんな、たぶん基礎的なことがわからないのが素人の悲しさなわけです (;_;)
 

$ sudo gedit /etc/fstab


次の一行を追加します。表示的に改行されていますが、一行です。
 

//192.168.1.10/user /mnt/samba cifs username=smbuser,password=smbpass,uid=1000,gid=1000,rw,defaults 0 0


設定ができたら、クライアントマシンを再起動します。
/mnt/samba にファイルサーバーの共有ディレクトリがマウントされれば成功です。

とまぁ、これでいつでも自由にファイルサーバーに繋がるようになったわけですが、ひとつ釈然としない。なんで fstab にパスワードを平文で書かなきゃいけないの?  Samba へのアクセスを簡単にするために、Ubuntu も Windows もログインパスワードと Samba パスワードをすべて同じにしていますので、これじゃパスワードダダ漏れじゃん。

そこで資格情報ファイル passwd.user を別に作成することにしました。ファイル名は任意です。
 

$ sudo gedit /etc/passwd.user


ユーザー名とパスワードを記述します。
 

username=smbuser
password=smbpass


ファイルができたらオーナーとパーミッションを変更し、root 以外が読み書きできないようにします。
 

$ sudo chown root:root /etc/passwd.user
$ sudo chmod 600 /etc/passwd.user


最後に /etc/fstab に追加した一行を、以下のように変更します。
 

//192.168.1.10/user /mnt/samba cifs credentials=/etc/passwd.user,uid=1000,gid=1000,rw,defaults 0 0


これで少しは安全になります。それでも不安だったら自動マウントなんてやめましょうね。
 

■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 で繋がっていて不安定な場合は要チェックです。

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

| 1/2PAGES | >>

■calendar

S M T W T F S
     12
3456789
10111213141516
17181920212223
24252627282930
31      
<< December 2017 >>

■search this site.

■recommend

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

■recommend

■Twitter

■recommend

■recommend

■selected entries

■categories

■archives

■recent comment

■recent trackback

■links

■profile

■others

■mobile

qrcode

■powered

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