SoftEther VPNでEC2(Amazon Linux)に繋いでみた②(設定編)

こちらの続きです。

 

まずはVPN Serverの設定から

VPN ServerはLinuxにインストールしているのですが、

リモートからGUIで設定できます。

初めに繋いだら管理パスワードを設定して、控えておくのを忘れずに。

ここは基本的には公式サイトのチュートリアルと一緒ですね。

なので、要点以外のキャプチャは除きます。

 

ホスト名には割り当てておいた固定IPを指定しましょう。

8f26088173baf6822a3f01e70f7b6e8d

 

大事な仮想ハブの作成がある画面のキャプチャが無いorz

別ので…

仮想ハブ名あとで使います。大事です。

69a03fbd8b6cc36a4ad6a55790eab185

 

VPN Azureなるものは今回は無し。

ただ、固定IPが無い個人や小規模事業主等には魅了的なサービスですね。

04aad386b927ac8e39738e288bd00232

 

 

クラウドで利用するにはループバック接続用のクライアントが必要で、

それは勿論リモート接続用とは分けるべきとのことです。

認証はとりあえずパスワード認証で。

22cfd26f17ac402d35f5e0de473ae03c

 

 

・・・と、ここまでは親切なチュートリアルのおかげで簡単ですね。

 

さて、ここからは問題のLinuxクライアントの設定です。

コマンドラインリファレンスと睨めっこの始まりでした。

 

まずはEC2側のループバック用の設定から。

 

とりあえずコマンドラインオープン!

# cd クライアントをインストールしたディレクトリ
# ./vpncmd

 

クライアントを選択します。

vpncmd command - SoftEther VPN Command Line Management Utility
SoftEther VPN Command Line Management Utility (vpncmd command)
Version 4.03 Build 9408   (English)
Compiled 2014/01/04 19:31:56 by yagi at pc25
Copyright (c) SoftEther VPN Project. All Rights Reserved.

By using vpncmd program, the following can be achieved.

1. Management of VPN Server or VPN Bridge
2. Management of VPN Client
3. Use of VPN Tools (certificate creation and Network Traffic Speed Test Tool)

Select 1, 2 or 3: 2

 

SSHで繋いでいるので接続先はlocalhostで。

選べるってことはコマンドラインもRPCでリモートから投げれるってことですね。素晴らしい。

Specify the host name or IP address of the computer that the destination VPN Client is operating on.
If nothing is input and Enter is pressed, connection will be made to localhost (this computer).
Hostname of IP Address of Destination: localhost
Connected to VPN Client "localhost".

 

繋がりました!

各種コマンドはオプション指定して非対話で投げられるようになっているようですが、

一つ一つ確認しながらじゃなきゃ上手くいく気がしなかったので対話式でやりました。

そのうちガチで使うことになって、Chefのレシピに落とし込んだり…ってなった時にはオプション指定必須ですね。

 

まずは仮想IF(アダプタ)を作成します。

アダプタ名はとりあえず適当w

でも、後で使うので忘れないように…w

VPN Client>NicCreate
NicCreate command - Create New Virtual Network Adapter
Virtual Network Adapter Name: ADAPTER01
The command completed successfully.

 

ここは結構長いです。

VPN接続のアカウント作成!

前述で作成したハブ名ループバック接続用ユーザ名アダプタ名を指定します。

VPN Client>AccountCreate
AccountCreate command - Create New VPN Connection Setting
Name of VPN Connection Setting: local

Destination VPN Server Host Name and Port Number: 443

The host name and port number specification is invalid.
Please specify using the format of host name:port number, or IP address:port number.
Destination VPN Server Host Name and Port Number: localhost:443

Destination Virtual Hub Name: VPN

Connecting User Name: local

Used Virtual Network Adapter Name: ADAPTER01

The command completed successfully.

アカウントを作ったら、それに使うパスワードも設定します。

パスワード認証を選んだので。

認証方式はとりあえず通常で。

VPN Client>AccountPasswordSet
AccountPasswordSet command - Set User Authentication Type of VPN Connection Setting to Password Authentication
Name of VPN Connection Setting: local

Please enter the password. To cancel press the Ctrl+D key.

Password: *********
Confirm input: *********

Specify standard or radius: standard

The command completed successfully.

最後に接続します!

VPN Client>AccountConnect local

 

次はローカル(クライアント)側!

ユーザが違うだけで他は一緒なので、一応コピペだけ。

 # ./vpncmd
vpncmd command - SoftEther VPN Command Line Management Utility
SoftEther VPN Command Line Management Utility (vpncmd command)
Version 4.03 Build 9408   (English)
Compiled 2014/01/04 19:31:56 by yagi at pc25
Copyright (c) SoftEther VPN Project. All Rights Reserved.

By using vpncmd program, the following can be achieved.

1. Management of VPN Server or VPN Bridge
2. Management of VPN Client
3. Use of VPN Tools (certificate creation and Network Traffic Speed Test Tool)

Select 1, 2 or 3: 2

Specify the host name or IP address of the computer that the destination VPN Client is operating on.
If nothing is input and Enter is pressed, connection will be made to localhost (this computer).
Hostname of IP Address of Destination: localhost

Connected to VPN Client "localhost".

VPN Client>NicCreate
NicCreate command - Create New Virtual Network Adapter
Virtual Network Adapter Name: ADAPTER01

The command completed successfully.

VPN Client>AccountCreate
AccountCreate command - Create New VPN Connection Setting
Name of VPN Connection Setting: remote

Destination VPN Server Host Name and Port Number: 54.238.175.160:443

Destination Virtual Hub Name: VPN

Connecting User Name: remote

Used Virtual Network Adapter Name: ADAPTER01

The command completed successfully.

VPN Client>AccountConnect remote

 

さて、完了!とはいかず・・・

 

とりあえず、CIDRが違うから繋がる訳ないよねーっていうのはすぐ気が付いた。

何故なら、チュートリアルにWindowsのエクスプローラでだけど書いてあるからwww

「ここは違うから後で~」ってそのまま忘れてたorz

ローカル側をEC2に合わせる形で割り当ててみる。

実運用時には設定ファイルを起こさないと、

よくある(?)「再起動したら繋がらない~!!」ってなるので注意です。

あ。でも、そもそもServerもClientも自動起動してコネクション張るようにしないと繋がらないか(汗

# ifconfig vpn_adapter01 192.168.100.11

 

それでも、繋がらない…orz

ここはちょっと悩みました。

Privete IPを充てると、その時そっち側(ローカル)は一緒にデフォルトのルーティングとしてルートがマスク255.255.255.0でセットされる。

でも、元々持ってるPrivet IPを使うEC2側はローカルへ向かうルートを設定する必要があります。

# route add -net 192.168.100.11 metric 0 netmask 255.255.255.255 vpn_adapter01

 

でも、なんか同一サブネットに組み込んじゃうのってなんか微妙…

マスクを細かく切って設定するにしたって分かりづらい。

ということで、VPN用の別のサブネットを設ける形に。

 

EC2側

# route add -net 192.168.200.0 metric 0 netmask 255.255.255.0 vpn_adapter01

 

ローカル側

# route add -net 192.168.100.0 metric 0 netmask 255.255.255.0 vpn_adapter01
# ifconfig vpn_adapter01 192.168.200.11

 

こっちの方が断然分かりやすくて、今後はクライアントが増える度にPrivate IP付けるだけでOKなので管理も比較的楽ですね。

(本気で楽をしようと思ったらまだ全然アレですがw)

 

そして、本当は昨夜書くつもりだったのに…

AWSじゃない環境の障害対応に深夜まで…ゴニョゴニョ

と言い訳しながら、

感想とまとめを改めて書きたいと思いますw

え?2部構成?なんのことですか?w

 

 


「SoftEther VPNでEC2(Amazon Linux)に繋いでみた②(設定編)」への1件のフィードバック

  1. vpncmdの前に vpnclient startでクライアント起動しないとだめっぽいです。

コメントは停止中です。