問題内容:
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事態は通っています。どのように接続設定を行えばよいでしょうか?
アドバイスいただければ幸いです。
よろしくお願いします。
			
									
									
						Linux環境でSoftEther VPN Clientが利用できない
- 
				cedar
 - Site Admin
 - Posts: 2308
 - Joined: Sat Mar 09, 2013 5:37 am
 
Re: Linux環境でSoftEther VPN Clientが利用できない
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 では
ディストリビューションやカーネルの設定によってルーティングの設定方法が異なるため
ルーティングの自動追加が行われません。
			
									
									
						元のデフォルトゲートウェイが隠蔽されて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が利用できない
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
と設定したのですが、やはりネットワークは不通でした。
-----------------------------------------------------------------------------------------------------------------
もし設定に何か間違いがあれば、コメント頂けると幸いです。
よろしくお願いいたします。
失礼致しました。
			
									
									
						早速のお返事ありがとうございます。
少し試してみたのですが、わからないことが出てきました。
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: 2308
 - Joined: Sat Mar 09, 2013 5:37 am
 
Re: Linux環境でSoftEther VPN Clientが利用できない
1. 通常の LAN と同様にネットワーク管理者に確認するか、DHCP で取得するのが良いと思います。
2. 仮想 LAN のアドレスではなく、接続設定で接続先として指定している VPN サーバーのアドレスです。
			
									
									
						2. 仮想 LAN のアドレスではなく、接続設定で接続先として指定している VPN サーバーのアドレスです。
- 
				lazmond3
 - Posts: 4
 - Joined: Sun Dec 03, 2017 11:53 am
 
Re: Linux環境でSoftEther VPN Clientが利用できない
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アドレスの候補としては以上で出切っていると思いますが、
ルーティングテーブルをどのように設定するか、全体的な説明をいただけると非常に助かります。
失礼致しました。
			
									
									
						ありがとうございます。
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: 2308
 - Joined: Sat Mar 09, 2013 5:37 am
 
Re: Linux環境でSoftEther VPN Clientが利用できない
接続前に追加すべき経路は、VPNトンネル自身のための経路なので、仮想 LAN のネットワークは関係ありません。
接続後に新しいデフォルトゲートウェイが設定され、既存のデフォルトゲートウェイが無効になって、
VPN 接続に使用する経路が失われることを防ぐために、既存のデフォルトゲートウェイを VPN 接続用に
使用し続けられるようにするためのものです。
route add -host [VPNサーバーのアドレス] gw [既存のデフォルトゲートウェイのIPアドレス]
のようになっているでしょうか。
			
									
									
						接続後に新しいデフォルトゲートウェイが設定され、既存のデフォルトゲートウェイが無効になって、
VPN 接続に使用する経路が失われることを防ぐために、既存のデフォルトゲートウェイを VPN 接続用に
使用し続けられるようにするためのものです。
route add -host [VPNサーバーのアドレス] gw [既存のデフォルトゲートウェイのIPアドレス]
のようになっているでしょうか。
- 
				lazmond3
 - Posts: 4
 - Joined: Sun Dec 03, 2017 11:53 am
 
Re: Linux環境でSoftEther VPN Clientが利用できない
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に対する、通常のインターネット接続に用いるゲートウェイです。
------------------------------------------------------------------------------------------------------------------------------------------------------------
以上です。お世話になりました。ありがとうございました。
			
									
									
						接続することに成功しました。ありがとうございました。
記録として残しておきます。
設定したルーティングテーブルは以下の通りです。
------------------------------------------------------------------------------------------------------------------------------------------------------------
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に対する、通常のインターネット接続に用いるゲートウェイです。
------------------------------------------------------------------------------------------------------------------------------------------------------------
以上です。お世話になりました。ありがとうございました。
