WindowsAzure上のCentOSで稼働するvpnserverへの接続で問題

SoftEther VPN に関するご質問はこのフォーラムにお気軽にご投稿ください。
Post Reply
tomneko
Posts: 12
Joined: Sun Apr 20, 2014 4:01 am

WindowsAzure上のCentOSで稼働するvpnserverへの接続で問題

Post by tomneko » Sun Apr 20, 2014 4:52 am

はじめまして。

WindowsAzure上のVMにCentOS6.5を準備しし、SoftEtherVPNServerをインストールしました。

ここへWindows7の VPN Server Manager から接続して、Hubやユーザーの設定は問題なく行えました。

http://ja.softether.org/4-docs/2-howto/ ... Bridge_VPN

で説明されているように、Hubにはlocalとremoteの2つのユーザーを用意して、Server側にインストールした、SoftEtherVPNClientから接続し、ServerManager上で接続されていることを確認しました。

ただし、この時点ですでに異常があり、IPアドレステーブルには192.168.1.21とは別に、223.255.255.254 が表示されています。Macアドレステーブルには vpn_000のMacアドレスだけが表示されています。

また、リモート側からもSoftEtherVPNClientをインストール後に remote ユーザーで接続しました。

サーバー側のlocalユーザーには、vpn_000 インターフェースを割り当てて、固定IPとして192.168.1.21を、クライアント側のremoteユーザーには固定IPとして192.168.1.100を割り当てています。

この状態で、ServerManagerの仮想HUBの管理からセッションの管理を確認すると、localtとremoteの2ユーザーが接続していますが、IPアドレステーブルでは192.168.1.21は消えてしまい、223.255.255.254とリモート側の192.16.1.100だけが残っています。Macアドレステーブルはlocalとremoteの2つのMacアドレスが登録されています。

こういう状態になってしまうため、当然にもリモートからサーバー側へのpingも出来ない状態です。

以下、各種情報です。

何が悪いのでしょうか?


1. オペレーティングシステムの名前および CPU ビット
サーバー側:CenOS6.5 x64
クライアント側:Windows7 x64

2. "ifconfig -a" (UNIX) または "ipconfig /all" (Windows) の結果
eth0 Link encap:Ethernet HWaddr 00:15:5D:90:0D:7E
inet addr:192.168.1.20 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::215:5dff:fe90:d7e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1302 errors:0 dropped:0 overruns:0 frame:0
TX packets:1965 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:208728 (203.8 KiB) TX bytes:265118 (258.9 KiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2847 errors:0 dropped:0 overruns:0 frame:0
TX packets:2847 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:441453 (431.1 KiB) TX bytes:441453 (431.1 KiB)

vpn_000 Link encap:Ethernet HWaddr 00:AC:91:08:57:3E
inet addr:192.168.1.21 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::2ac:91ff:fe08:573e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:304 errors:0 dropped:0 overruns:0 frame:0
TX packets:301 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:33123 (32.3 KiB) TX bytes:24726 (24.1 KiB)

---
イーサネット アダプター azureserver - VPN Client:

接続固有の DNS サフィックス . . . :
説明. . . . . . . . . . . . . . . : VPN Client Adapter - azureserver
物理アドレス. . . . . . . . . . . : 00-AC-A4-06-5E-71
DHCP 有効 . . . . . . . . . . . . : いいえ
自動構成有効. . . . . . . . . . . : はい
IPv4 アドレス . . . . . . . . . . : 192.168.1.100(優先)
サブネット マスク . . . . . . . . : 255.255.255.0
デフォルト ゲートウェイ . . . . . :
NetBIOS over TCP/IP . . . . . . . : 無効


3. "uname -a" (UNIX) または "systeminfo" (Windows) の結果
Linux pm-db 2.6.32-431.11.2.el6.x86_64 #1 SMP Tue Mar 25 19:59:55 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

---


4. SoftEther VPN のビルド番号
softether-vpnserver-v4.06-9437-beta-2014.04.09-linux-x64-64bit
softether-vpnclient-v4.04-9412-rtm-2014.01.15-linux-x64-64bit
---
softether-vpn4.04-9412

5. どの SoftEther VPN のコンポーネントを使用していますか?
Server側は、ServerとClientをビルドして、それぞれデーモンをスタート。
Server側のローカルブリッジは切ってあります。(入れてみてもダメだったため。試してはみた)
Client側は仮想LANカードを作成して、固定IPを割り当てているだけで、UDP高速化機能をオフにしてみたが変化ないので、元にもどしてある。

6. VPN サーバーとインターネットとの間に NAT やファイアウォールデバイスはありますか?
(もし NAT またはファイアウォールがある場合、VPN サーバーの TCP リスナポートに対して TCP ポートを開く必要があります。)

ポートは開いているので、接続できています。

7. SecureNAT 機能を使用していますか?

SecureNATでDHCPを動作させてみたところ、Azure上の仮想マシンが音信不通になる。そのため、vpn_000については、固定IPを振っている。NATだけのテストはしていません。

tomneko
Posts: 12
Joined: Sun Apr 20, 2014 4:01 am

Re: WindowsAzure上のCentOSで稼働するvpnserverへの接続で問題

Post by tomneko » Sun Apr 20, 2014 2:31 pm

続報です・・

1.ローカルブリッジを設定するLANカードはプロミスキャスモードが有効でないとダメということなので、

#ifconfig eth0 promisc を実行してからVPNServerを再起動してみる。

=>やはりダメ

2.ならばということで、今度はvpn_server.config の設定を変更して、プロミスキャスモードなしでローカルブリッジを動作させてみる。

bool NoPromiscuousMode true

=>やはりダメ

どちらにしても、ローカルブリッジを設定したeth0のIPアドレス 192.168.1.20 へのPINGすら通らない。ServerManagerで仮想HubのIPアドレスリストを見ると、192.168.1.20(サーバー側)と192.168.1.100(クライアント側)がリストアップされているのだが・・・

プロミスキャスモードが原因というわけでもないということなんでしょうか?

大遊さんのtwitterでリツイートされていた方が、4/13にVPNAzure上のCentOSでVPNサーバーを立てて、MacOSからの接続に成功した(大変だったそうですが)と書かれているので、出来ないことは無いんですよね。

物理サーバーの時は全く苦労せずに済んだことを考えると、仮想マシンのハードウェア、ネットワークが影響しているのは間違いないと思うのですが・・・。

tomneko
Posts: 12
Joined: Sun Apr 20, 2014 4:01 am

Re: WindowsAzure上のCentOSで稼働するvpnserverへの接続で問題

Post by tomneko » Sun Apr 20, 2014 3:35 pm

さらに続報です。

ローカルブリッジはダメなので、SecureNATということで試しました。

1.ローカルブリッジとSecureNATを同時に動作させるとパケットがループするのでローカルブリッジは削除。

2.SecureNATのDHCPを動作させると、WindowsAzureのDHCPとバッティングするので、DHCPは動作させない。(Azure側からローカルクライアント接続をさせてDHCPを引くとサーバー落ちます)

3.したがって、できる事はサーバー側ローカルネットワーク192.168.1.x以外のIPレンジでネットワークを構成してNATすることにして、SecureNATの仮想ホストに設定したIPアドレスをクライアント側のデフォルトゲートウェイに設定します。

=>成功! クライアント側に192.168.30.100を固定IPで割り当てて、接続した後、192.168.1.20へPINGすると通ります。サーバー側で動作しているFirebirdへの接続も通りました。

これでなんとかなりそうですが、デフォルトゲートウェイを2つ設定するとダメよとWindowsから警告されているので、それが気になりますね・・・。

もうちょっと簡単には出来ないものでしょうか?ローカルブリッジがうまく動作するといいのですが。

tomneko
Posts: 12
Joined: Sun Apr 20, 2014 4:01 am

Re: WindowsAzure上のCentOSで稼働するvpnserverへの接続で問題

Post by tomneko » Mon Apr 21, 2014 8:04 am

ということで…

最終的には、routeコマンドで静的ルーティングを設定さそました。

route add 192.168.1.0 MASK 255.255.255.0 192.168.30.1 METRIC 1

として、アダプタのデフォルトゲートウェイは空欄にしました。

これで、問題なく通信出来ています。

英語の情報では、tap_dfviceを利用して、dhcpを設定した方が倍くらいパフォーマンスがいいというのもありますね。今後の課題にします。

dnobori
Posts: 228
Joined: Tue Mar 05, 2013 10:04 am

Re: WindowsAzure上のCentOSで稼働するvpnserverへの接続で問題

Post by dnobori » Mon Apr 21, 2014 10:31 am

VM でローカルブリッジを使用するには、VM の管理者に VM 内の仮想インターフェイスに対してプロミスキャスモードを有効にするよう依頼する必要があります。

多くの VM では、プロミスキャスモードはデフォルトで禁止されています。

tomneko
Posts: 12
Joined: Sun Apr 20, 2014 4:01 am

Re: WindowsAzure上のCentOSで稼働するvpnserverへの接続で問題

Post by tomneko » Wed Apr 30, 2014 1:50 pm

登さん、ありがとうございます。

御社のサイトでは、Azureで互換性を確認したと記載がありましたが、仕様が変わったのでしょうか。

マイクロソフトにも問い合わせましたがわプロミスキャストはダメだし、ブロードキャストも禁止と仰ってました。

まあ、SecureNATでかわせたので、実務上は問題ありません。

つながってみると、非常に快適なので、助かってます。

早々にPacketix4に置き換えますが、今後もよろしくお願いいたします。

dnobori
Posts: 228
Joined: Tue Mar 05, 2013 10:04 am

Re: WindowsAzure上のCentOSで稼働するvpnserverへの接続で問題

Post by dnobori » Thu May 01, 2014 5:13 pm

> 御社のサイトでは、Azureで互換性を確認したと記載がありましたが、仕様が変わったのでしょうか。

どのページでしょうか。URL を教えていただけますか?

tomneko
Posts: 12
Joined: Sun Apr 20, 2014 4:01 am

Re: WindowsAzure上のCentOSで稼働するvpnserverへの接続で問題

Post by tomneko » Thu Jun 05, 2014 11:30 pm

登さん、どーもです。

http://ja.softether.org/#.E3.83.AD.E3.8 ... 9.E6.B3.95

こちらに、以下のように記載されています。

”SoftEther VPN は柔軟で信頼性の高い仮想ネットワークをクラウドとともに構築することができます。Amazon EC2、Windows Azure およびその他のほとんどのクラウドサービスは SoftEther VPN をサポートしています。”

もちろん、よくよく読んで行くと他のトピックスでプロミスキャスモードの事は書いてありますが、一番最初にサポートされていると書いてあると、誤解を招きませんか。

僕も誤解した口なんですが、ほぼ全てのクラウドでプロミスキャスモードが使えないのであれば、ブリッジ接続に問題がある旨は分かりやすく書いて欲しいな、と思いました。

dnobori
Posts: 228
Joined: Tue Mar 05, 2013 10:04 am

Re: WindowsAzure上のCentOSで稼働するvpnserverへの接続で問題

Post by dnobori » Fri Jun 06, 2014 8:11 am

プロミスキャスモードに関する注意書きにつきましては、Web サイトへの記載が必ずしも十分でなかったことから、
http://ja.softether.org/4-docs/2-howto/ ... Bridge_VPN の方法 3 に追記をさせていただきました。ご意見ありがとうございました。


ほぼすべての VM 型のクラウドサービスでは、SoftEther VPN を用いて以下のようなネットワークを構築することが可能です。
(プロミスキャスモードが利用できなくてもこのようなネットワークを構築することができます。)
したがって、"SoftEther VPN は柔軟で信頼性の高い仮想ネットワークをクラウドとともに構築することができます。Amazon EC2、Windows Azure およびその他のほとんどのクラウドサービスは SoftEther VPN をサポートしています。" は正しい表記であると考えております。
http://ja.softether.org/4-docs/2-howto/ ... into_Cloud
http://ja.softether.org/4-docs/2-howto/ ... M_into_LAN
http://ja.softether.org/4-docs/2-howto/ ... Bridge_VPN の方法 1, 2


なお、各 VM に VPN Client をインストールする手間が発生してしまうことは回避できません。そこで、理想的には、ご契約されているクラウドサービスのホスト VM において、プロミスキャスモードが利用できるようにするよう相談・申込み等をされることが理想的です。プロミスキャスモードが利用できるようになった場合は、以下の構成をとることができ、各 VM に VPN Client を個別にインストールする手間を省略することができます。
http://ja.softether.org/4-docs/2-howto/ ... Bridge_VPN の方法 3

プロミスキャスモードの利用が規制されているか否かは、お使いのクラウドサービスやその契約によって異なります。

プロミスキャスモードが制限されている状態の VM では、残念ながら、そのままではローカルブリッジ機能が動作しません。その場合でも、前記の 3 つの URL の方法で各 VM に VPN Client を稼働させることにより回避することができます。発生する遅延やスループット低下については、各 VM 間で VPN トンネルを張る場合と、仮にローカルブリッジが使用できた場合においてローカルブリッジを使用する場合とでほとんど結果は変わりません。

Post Reply