問題内容:
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が利用できない
-
- Site Admin
- Posts: 2197
- 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 では
ディストリビューションやカーネルの設定によってルーティングの設定方法が異なるため
ルーティングの自動追加が行われません。
-
- 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
と設定したのですが、やはりネットワークは不通でした。
-----------------------------------------------------------------------------------------------------------------
もし設定に何か間違いがあれば、コメント頂けると幸いです。
よろしくお願いいたします。
失礼致しました。
-
- Site Admin
- Posts: 2197
- Joined: Sat Mar 09, 2013 5:37 am
Re: Linux環境でSoftEther VPN Clientが利用できない
1. 通常の LAN と同様にネットワーク管理者に確認するか、DHCP で取得するのが良いと思います。
2. 仮想 LAN のアドレスではなく、接続設定で接続先として指定している VPN サーバーのアドレスです。
2. 仮想 LAN のアドレスではなく、接続設定で接続先として指定している VPN サーバーのアドレスです。
-
- 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アドレスの候補としては以上で出切っていると思いますが、
ルーティングテーブルをどのように設定するか、全体的な説明をいただけると非常に助かります。
失礼致しました。
-
- Site Admin
- Posts: 2197
- 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アドレス]
のようになっているでしょうか。
-
- 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に対する、通常のインターネット接続に用いるゲートウェイです。
------------------------------------------------------------------------------------------------------------------------------------------------------------
以上です。お世話になりました。ありがとうございました。