Linux環境でSoftEther VPN Clientが利用できない

SoftEther VPN に関するご質問はこのフォーラムにお気軽にご投稿ください。
Post Reply
lazmond3
Posts: 4
Joined: Sun Dec 03, 2017 11:53 am

Linux環境でSoftEther VPN Clientが利用できない

Post by lazmond3 » Sun Dec 03, 2017 12:12 pm

問題内容:
Linux(Ubuntu 17.10)のSoftEther VPN ClientでVPN Server にアクセスできない。

初めて投稿させていただきます。
Linux(Ubuntu 17.10)でSoftEther VPNのクライアントを利用していますが、正常な接続ができません。
おそらくルーティングの問題ではないかと考えています。

--------------------------------------------------------------------------------------

サーバ側はUbuntu 16.10でパスワード認証を利用しており、Windowsからは正常に利用できていますので、
サーバ側には問題はなく、Linux側での利用に関する問題だと考えています。

クライアント利用について参考にしたのは以下のURLです。
https://linuxconfig.org/setting-up-soft ... erus-linux
この記事において、最後のDHCPによる内部IPアドレス割当まで完了しました。

ifconfigコマンドで確認したところ、このIPアドレスは192.168.30.10となっていました。
仮想NICのデバイス名はvpn_testで、これに割り当てられたIPアドレスが

『192.168.30.10』
です。

vpn_testについてのifconfigの結果を以下に貼ります。
********************************************************************************************
vpn_test: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.30.10 netmask 255.255.255.0 broadcast 192.168.30.255
inet6 fe80::2ac:d2ff:fea2:2304 prefixlen 64 scopeid 0x20<link>
ether 00:ac:d2:a2:23:04 txqueuelen 1000 (イーサネット)
RX packets 26504 bytes 6508193 (6.5 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5713111 bytes 4091331320 (4.0 GB)
TX errors 0 dropped 989229 overruns 0 carrier 0 collisions 0
********************************************************************************************

ここで、IPアドレスを確認するサービス(https://www.cman.jp/network/support/go_access.cgi)で確認したところ、まだ元のIPアドレスのままでした
(vpncmdで確認すると、接続完了と出ています)。

個人的には、これはルーティングの問題ではないかと考えており、ルーティングテーブルの変更によって解決しようとしました。


route -n コマンドで確認したところ、
カーネルIP経路テーブル
受信先サイト ゲートウェイ ネットマスク フラグ Metric Ref 使用数 インタフェース
0.0.0.0 192.168.10.1 0.0.0.0 UG 600 0 0 wlp4s0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 virbr0
192.168.10.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp4s0
192.168.30.0 0.0.0.0 255.255.255.0 U 0 0 0 vpn_test
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
となっていました。
最上段に見られる通り、デフォルトゲートウェイの192.168.10.1は、現在リモートで利用しているPCに対するゲートウェイで、これは無線接続しているのでインターフェースがwlp4s0となっています。

ここで、sudo route add default gw 192.168.30.10 dev vpn_test というコマンドを行い、仮想NICを通じてパケットを送信するようにしたかったのですが、このようにすると、ネットワーク事態が不通になりました。

---------------------------------------------------------------------------------------------------------------
192.168.30.10に対するping事態は通っています。どのように接続設定を行えばよいでしょうか?
アドバイスいただければ幸いです。

よろしくお願いします。

cedar
Site Admin
Posts: 2070
Joined: Sat Mar 09, 2013 5:37 am

Re: Linux環境でSoftEther VPN Clientが利用できない

Post by cedar » Mon Dec 04, 2017 10:08 am

route add default gw 192.168.30.10 dev vpn_test のみ設定すると、
元のデフォルトゲートウェイが隠蔽されてVPNサーバーへの通信自体が切れてしまうので、
route add [VPNサーバーのアドレス] mask 255.255.255.255 gw 192.168.10.1 のように
VPN サーバーへの経路を別途設定しておく必要があります。

Windows 版のクライアントでは自動的にこの設定が行われますが、Linux では
ディストリビューションやカーネルの設定によってルーティングの設定方法が異なるため
ルーティングの自動追加が行われません。

lazmond3
Posts: 4
Joined: Sun Dec 03, 2017 11:53 am

Re: Linux環境でSoftEther VPN Clientが利用できない

Post by lazmond3 » Wed Dec 06, 2017 7:34 am

cedar様
早速のお返事ありがとうございます。

少し試してみたのですが、わからないことが出てきました。

1.仮想NIC のネットワーク上に存在するGWのIPアドレスの調べ方
2.ルーティングテーブルへの「VPN サーバーへの経路を別途設定」の仕方

です。

-----------------------------------------------------------------------------------------------------------------
1つめに、仮想NICのアドレスはip aなどで
192.168.30.10とわかったのですが、192.168.30.0/24のネットワーク上に存在する「仮想ゲートウェイ」のIPアドレスはどのように調べればよいのでしょうか?
同じsoftether serverに対してwindowsマシンで接続した後にroute printで確認した仮想ゲートウェイのIPアドレスは192.168.30.1でした。これは常に1番がゲートウェイになると考えてよろしいでしょうか?





2つめに、お教えいただいたとおりに
route add -host [VPNサーバーのアドレス: 192.168.30.1 ? ] gw 192.168.10.1
あるいは
route add -net [VPN仮想ネットワークのアドレス: 192.168.30.0 ] netmask 255.255.255.0 gw 192.168.10.1
として、
DESTINATION GATEWAY GENMASK Interface
0.0.0.0 192.168.30.1 0.0.0.0 vpn_test
192.168.30.0 192.168.10.1 255.255.2550 wlp4s0

と設定したのですが、やはりネットワークは不通でした。
-----------------------------------------------------------------------------------------------------------------


もし設定に何か間違いがあれば、コメント頂けると幸いです。

よろしくお願いいたします。
失礼致しました。

cedar
Site Admin
Posts: 2070
Joined: Sat Mar 09, 2013 5:37 am

Re: Linux環境でSoftEther VPN Clientが利用できない

Post by cedar » Wed Dec 06, 2017 7:41 am

1. 通常の LAN と同様にネットワーク管理者に確認するか、DHCP で取得するのが良いと思います。

2. 仮想 LAN のアドレスではなく、接続設定で接続先として指定している VPN サーバーのアドレスです。

lazmond3
Posts: 4
Joined: Sun Dec 03, 2017 11:53 am

Re: Linux環境でSoftEther VPN Clientが利用できない

Post by lazmond3 » Wed Dec 06, 2017 9:38 am

cedar様

ありがとうございます。

1.について、ubuntu 17.10を使っているのですが、/var/log/syslogに、仮想NICに"192.168.30.11"というアドレスを割り当てたDHCPサーバのアドレスが書いてあり、192.168.30.1とわかりました。ありがとうございました。

2.について、今回VPNサーバはグローバルIPアドレスを持つマシンで稼働させているのですが、仮にtest.com(218.87.109.151: 実際のIPアドレスではなく、sshdへのとある攻撃者のアドレスです)とさせていただきます。

test.com(218.87.109.151)はグローバルIPアドレスで、仮想NICであるvpn_test(192.168.30.11)が所属しているネットワーク(192.168.30.0/24)とは異なる、とrouteコマンドでエラーが出てしまいます(Network is unreachable.)。
これは確かに当然のことで、route dev *** で指定するデバイスとゲートウェイは(IPアドレス的に)同じネットワークに所属しなければいけないようです。

---------------------------------------------------------------------------------

以上2番の通り、route addで加えるべき、あるいは削除すべきIPアドレス、目的地、ゲートウェイの全体像がつかめずにいます。
設定すべきIPアドレスの候補としては以上で出切っていると思いますが、
ルーティングテーブルをどのように設定するか、全体的な説明をいただけると非常に助かります。

失礼致しました。

cedar
Site Admin
Posts: 2070
Joined: Sat Mar 09, 2013 5:37 am

Re: Linux環境でSoftEther VPN Clientが利用できない

Post by cedar » Wed Dec 06, 2017 10:06 am

接続前に追加すべき経路は、VPNトンネル自身のための経路なので、仮想 LAN のネットワークは関係ありません。
接続後に新しいデフォルトゲートウェイが設定され、既存のデフォルトゲートウェイが無効になって、
VPN 接続に使用する経路が失われることを防ぐために、既存のデフォルトゲートウェイを VPN 接続用に
使用し続けられるようにするためのものです。

route add -host [VPNサーバーのアドレス] gw [既存のデフォルトゲートウェイのIPアドレス]
のようになっているでしょうか。

lazmond3
Posts: 4
Joined: Sun Dec 03, 2017 11:53 am

Re: Linux環境でSoftEther VPN Clientが利用できない

Post by lazmond3 » Wed Dec 06, 2017 1:34 pm

cedar様

接続することに成功しました。ありがとうございました。

記録として残しておきます。
設定したルーティングテーブルは以下の通りです。

------------------------------------------------------------------------------------------------------------------------------------------------------------
DESTINATION GATEWAY GENMASK Interface
0.0.0.0 192.168.30.1 0.0.0.0 vpn_test
test.com(218.87.109.151) 192.168.10.1 255.255.2550 wlp4s0

※192.168.30.1は、仮想NIC(192.168.30.10)にDHCPでIPアドレスを割り当てられる、仮想ネットワーク上のゲートウェイです。 "grep DHCP/var/log/syslog "で確認できました。
※test.com(218.87.109.151)は、SoftEther VPN Serverが動作している先のアドレスです。
※192.168.10.1は、SoftEther VPN Clientが動作しているリモートのPCに対する、通常のインターネット接続に用いるゲートウェイです。
------------------------------------------------------------------------------------------------------------------------------------------------------------

以上です。お世話になりました。ありがとうございました。

Post Reply