SSH接続が安定しない

SoftEther VPN に関するご質問はこのフォーラムにお気軽にご投稿ください。
Post Reply
ota
Posts: 11
Joined: Tue Feb 02, 2021 9:11 am

SSH接続が安定しない

Post by ota » Tue Feb 02, 2021 10:19 am

お世話になっております。

この度Oracle Cloud上にSoftEther VPN Serverを利用し、
L2TP/IPSecで接続出来るVPNサーバーを構築させて頂きました。
参考にさせていただいたサイトは以下の通りになります。
https://hacknote.jp/archives/56888/

運用して数ヶ月、特に問題なく使用出来ていたのですが、
特定の操作で接続が不安定になることが確認されました。
その操作がタイトルにも挙げさせて頂きました、SSH接続になります。
特に"sudo tail -f /var/log/messages"やバッチ処理等を実行した際に、暫くすると

Code: Select all

Timeout, server ***.***.***.*** not responding.
というメッセージと共に接続が切断されてしまいます。
感覚的であり大変恐縮ではございますが、ログが流れない時に頻繁に発生している気がしております。
ちなみに、このメッセージが出た際にVPN接続自体は切断されておりません。

別のWindows Serverで構築したL2TP/IPSecで接続出来るVPNサーバーでは同様の問題は発生しませんので、
恐らくSoftEther VPN Server上の設定に何か問題があると判断しているのですが、今のところこれといった要因が掴めておりません。

本現象についての調査方法等ございましたら、ご教授願えませんでしょうか。
なお、私の方で確認・試した事柄は以下の通りになります。

・MTUの調整
 →通信速度は上がったものの、現象は解決せず

・SSHのキープアライブ設定が抜けていないか
 →~/.ssh/configに"ServerAliveInterval 60"が入っていることを確認

また、以下にテンプレートを記載致します。

1. オペレーティングシステムの名前および CPU ビット
Oracle Linux 8.3 x64

2. "ifconfig -a" (UNIX) または "ipconfig /all" (Windows) の結果

Code: Select all

$ ifconfig -a
ens3: flags=4419<UP,BROADCAST,RUNNING,PROMISC,MULTICAST>  mtu 9000
        inet 10.10.1.2  netmask 255.255.255.0  broadcast 10.10.1.255
        inet6 fe80::17ff:fe01:d430  prefixlen 64  scopeid 0x20<link>
        ether **:**:**:**:**:**  txqueuelen 1000  (Ethernet)
        RX packets 1105090159  bytes 743424192494 (692.3 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1136211448  bytes 760933356425 (708.6 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 69867  bytes 22510529 (21.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 69867  bytes 22510529 (21.4 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
3. "uname -a" (UNIX) または "systeminfo" (Windows) の結果

Code: Select all

$ uname -a
Linux ホスト名 5.4.17-2036.100.6.1.el8uek.x86_64 #2 SMP Thu Oct 29 17:06:00 PDT 2020 x86_64 x86_64 x86_64 GNU/Linux
4. SoftEther VPN のビルド番号
Ver 4.34, Build 9744

5. どの SoftEther VPN のコンポーネントを使用していますか?
VPN Server

6. VPN サーバーとインターネットとの間に NAT やファイアウォールデバイスはありますか?
Oracle Cloud上に構築した為、存在します。
現在500番、4500番がそれぞれUDPで開かれております。

7. SecureNAT 機能を使用していますか?
使用しております。以下、SecureNatStatusGetで出た内容となります。

Code: Select all

VPN Server/仮想HUB名>SecureNatStatusGet
SecureNatStatusGet command - Get the Operating Status of the Virtual NAT and DHCP Server Function (SecureNat Function)
Item                     |Value
-------------------------+--------------
Virtual Hub Name         |仮想HUB名
NAT TCP/IP Sessions      |280 Session
NAT UDP/IP Sessions      |77 Session
NAT ICMP Sessions        |0 Session
NAT DNS Sessions         |0 Session
Allocated DHCP Clients   |12 Client
Kernel-mode NAT is Active|Yes
Raw IP mode NAT is Active|Yes
The command completed successfully.
8. 現在の vpn_server.config または vpn_bridge.config ファイルの内容を投稿に添付してください。
添付しようとしましたが、「Invalid file extension: vpn_server.config」と表示され、添付できませんでした。
長々とし申し訳ございませんが、貼り付けさせて頂きます。

Code: Select all

# Software Configuration File
# ---------------------------
# 
# You may edit this file when the VPN Server / Client / Bridge program is not running.
# 
# In prior to edit this file manually by your text editor,
# shutdown the VPN Server / Client / Bridge background service.
# Otherwise, all changes will be lost.
# 
declare root
{
	uint ConfigRevision 151
	bool IPsecMessageDisplayed false
	string Region US

	declare DDnsClient
	{
		bool Disabled false
		byte Key ****************************
		string LocalHostname ****************
		string ProxyHostName $
		uint ProxyPort 0
		uint ProxyType 0
		string ProxyUsername $
	}
	declare IPsec
	{
		bool EtherIP_IPsec false
		string IPsec_Secret **************
		string L2TP_DefaultHub **************
		bool L2TP_IPsec true
		bool L2TP_Raw false

		declare EtherIP_IDSettingsList
		{
		}
	}
	declare ListenerList
	{
		declare Listener0
		{
			bool DisableDos false
			bool Enabled true
			uint Port 443
		}
		declare Listener1
		{
			bool DisableDos false
			bool Enabled true
			uint Port 992
		}
		declare Listener2
		{
			bool DisableDos false
			bool Enabled true
			uint Port 1194
		}
		declare Listener3
		{
			bool DisableDos false
			bool Enabled true
			uint Port 5555
		}
	}
	declare LocalBridgeList
	{
		bool DoNotDisableOffloading false
	}
	declare ServerConfiguration
	{
		bool AcceptOnlyTls true
		uint64 AutoDeleteCheckDiskFreeSpaceMin 104857600
		uint AutoDeleteCheckIntervalSecs 300
		uint AutoSaveConfigSpan 300
		bool BackupConfigOnlyWhenModified true
		string CipherName AES128-SHA
		uint CurrentBuild 9744
		bool DisableCoreDumpOnUnix false
		bool DisableDeadLockCheck false
		bool DisableDosProction false
		bool DisableGetHostNameWhenAcceptTcp false
		bool DisableIntelAesAcceleration false
		bool DisableIPsecAggressiveMode false
		bool DisableIPv6Listener false
		bool DisableJsonRpcWebApi false
		bool DisableNatTraversal false
		bool DisableOpenVPNServer false
		bool DisableSessionReconnect false
		bool DisableSSTPServer false
		bool DontBackupConfig false
		bool EnableVpnAzure false
		bool EnableVpnOverDns false
		bool EnableVpnOverIcmp false
		byte HashedPassword ****************************
		string KeepConnectHost keepalive.softether.org
		uint KeepConnectInterval 50
		uint KeepConnectPort 80
		uint KeepConnectProtocol 1
		uint64 LoggerMaxLogSize 1073741823
		uint MaxConcurrentDnsClientThreads 512
		uint MaxConnectionsPerIP 256
		uint MaxUnestablishedConnections 1000
		bool NoHighPriorityProcess false
		bool NoLinuxArpFilter false
		bool NoSendSignature false
		string OpenVPNDefaultClientOption dev-type$20tun,link-mtu$201500,tun-mtu$201500,cipher$20AES-128-CBC,auth$20SHA1,keysize$20128,key-method$202,tls-client
		string OpenVPN_UdpPortList 1194
		bool SaveDebugLog false
		byte ServerCert ************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
		byte ServerKey ********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
		uint ServerLogSwitchType 4
		uint ServerType 0
		bool StrictSyslogDatetimeFormat false
		bool Tls_Disable1_0 false
		bool Tls_Disable1_1 false
		bool Tls_Disable1_2 false
		bool Tls_Disable1_3 false
		bool UseKeepConnect true
		bool UseWebTimePage false
		bool UseWebUI false

		declare GlobalParams
		{
			uint FIFO_BUDGET 10240000
			uint HUB_ARP_SEND_INTERVAL 5000
			uint IP_TABLE_EXPIRE_TIME 60000
			uint IP_TABLE_EXPIRE_TIME_DHCP 300000
			uint MAC_TABLE_EXPIRE_TIME 600000
			uint MAX_BUFFERING_PACKET_SIZE 2560000
			uint MAX_HUB_LINKS 1024
			uint MAX_IP_TABLES 65536
			uint MAX_MAC_TABLES 65536
			uint MAX_SEND_SOCKET_QUEUE_NUM 128
			uint MAX_SEND_SOCKET_QUEUE_SIZE 2560000
			uint MAX_STORED_QUEUE_NUM 1024
			uint MEM_FIFO_REALLOC_MEM_SIZE 655360
			uint MIN_SEND_SOCKET_QUEUE_SIZE 320000
			uint QUEUE_BUDGET 2048
			uint SELECT_TIME 256
			uint SELECT_TIME_FOR_NAT 30
			uint STORM_CHECK_SPAN 500
			uint STORM_DISCARD_VALUE_END 1024
			uint STORM_DISCARD_VALUE_START 3
		}
		declare ServerTraffic
		{
			declare RecvTraffic
			{
				uint64 BroadcastBytes 303214333
				uint64 BroadcastCount 3412462
				uint64 UnicastBytes 688308288934
				uint64 UnicastCount 1008661423
			}
			declare SendTraffic
			{
				uint64 BroadcastBytes 1427129916
				uint64 BroadcastCount 12394054
				uint64 UnicastBytes 688339418656
				uint64 UnicastCount 1008883706
			}
		}
		declare SyslogSettings
		{
			string HostName $
			uint Port 0
			uint SaveType 0
		}
	}
	declare VirtualHUB
	{
		declare **************
		{
			uint64 CreatedTime 1605745717840
			byte HashedPassword ****************************
			uint64 LastCommTime 1612227214955
			uint64 LastLoginTime 1612224564759
			uint NumLogin 856
			bool Online true
			bool RadiusConvertAllMsChapv2AuthRequestToEap false
			string RadiusRealm $
			uint RadiusRetryInterval 0
			uint RadiusServerPort 1812
			string RadiusSuffixFilter $
			bool RadiusUsePeapInsteadOfEap false
			byte SecurePassword ****************************
			uint Type 0

			declare AccessList
			{
			}
			declare AdminOption
			{
				uint allow_hub_admin_change_option 0
				uint deny_bridge 0
				uint deny_change_user_password 0
				uint deny_empty_password 0
				uint deny_hub_admin_change_ext_option 0
				uint deny_qos 0
				uint deny_routing 0
				uint max_accesslists 0
				uint max_bitrates_download 0
				uint max_bitrates_upload 0
				uint max_groups 0
				uint max_multilogins_per_user 0
				uint max_sessions 0
				uint max_sessions_bridge 0
				uint max_sessions_client 0
				uint max_sessions_client_bridge_apply 0
				uint max_users 0
				uint no_access_list_include_file 0
				uint no_cascade 0
				uint no_change_access_control_list 0
				uint no_change_access_list 0
				uint no_change_admin_password 0
				uint no_change_cert_list 0
				uint no_change_crl_list 0
				uint no_change_groups 0
				uint no_change_log_config 0
				uint no_change_log_switch_type 0
				uint no_change_msg 0
				uint no_change_users 0
				uint no_delay_jitter_packet_loss 0
				uint no_delete_iptable 0
				uint no_delete_mactable 0
				uint no_disconnect_session 0
				uint no_enum_session 0
				uint no_offline 0
				uint no_online 0
				uint no_query_session 0
				uint no_read_log_file 0
				uint no_securenat 0
				uint no_securenat_enabledhcp 0
				uint no_securenat_enablenat 0
			}
			declare CascadeList
			{
			}
			declare LogSetting
			{
				uint PacketLogSwitchType 4
				uint PACKET_LOG_ARP 0
				uint PACKET_LOG_DHCP 1
				uint PACKET_LOG_ETHERNET 0
				uint PACKET_LOG_ICMP 0
				uint PACKET_LOG_IP 0
				uint PACKET_LOG_TCP 0
				uint PACKET_LOG_TCP_CONN 1
				uint PACKET_LOG_UDP 0
				bool SavePacketLog true
				bool SaveSecurityLog true
				uint SecurityLogSwitchType 4
			}
			declare Message
			{
			}
			declare Option
			{
				uint AccessListIncludeFileCacheLifetime 30
				uint AdjustTcpMssValue 0
				bool ApplyIPv4AccessListOnArpPacket false
				bool AssignVLanIdByRadiusAttribute false
				bool BroadcastLimiterStrictMode false
				uint BroadcastStormDetectionThreshold 0
				uint ClientMinimumRequiredBuild 0
				bool DenyAllRadiusLoginWithNoVlanAssign false
				uint DetectDormantSessionInterval 0
				bool DisableAdjustTcpMss false
				bool DisableCheckMacOnLocalBridge false
				bool DisableCorrectIpOffloadChecksum false
				bool DisableHttpParsing false
				bool DisableIPParsing false
				bool DisableIpRawModeSecureNAT false
				bool DisableKernelModeSecureNAT false
				bool DisableUdpAcceleration false
				bool DisableUdpFilterForLocalBridgeNic false
				bool DisableUserModeSecureNAT false
				bool DoNotSaveHeavySecurityLogs false
				bool DropArpInPrivacyFilterMode true
				bool DropBroadcastsInPrivacyFilterMode true
				bool FilterBPDU false
				bool FilterIPv4 false
				bool FilterIPv6 false
				bool FilterNonIP false
				bool FilterOSPF false
				bool FilterPPPoE false
				uint FloodingSendQueueBufferQuota 33554432
				bool ManageOnlyLocalUnicastIPv6 true
				bool ManageOnlyPrivateIP true
				uint MaxLoggedPacketsPerMinute 0
				uint MaxSession 0
				bool NoArpPolling false
				bool NoDhcpPacketLogOutsideHub true
				bool NoEnum false
				bool NoIpTable false
				bool NoIPv4PacketLog false
				bool NoIPv6AddrPolling false
				bool NoIPv6DefaultRouterInRAWhenIPv6 true
				bool NoIPv6PacketLog false
				bool NoLookBPDUBridgeId false
				bool NoMacAddressLog true
				bool NoManageVlanId false
				bool NoPhysicalIPOnPacketLog false
				bool NoSpinLockForPacketDelay false
				bool RemoveDefGwOnDhcpForLocalhost true
				uint RequiredClientId 0
				uint SecureNAT_MaxDnsSessionsPerIp 0
				uint SecureNAT_MaxIcmpSessionsPerIp 0
				uint SecureNAT_MaxTcpSessionsPerIp 0
				uint SecureNAT_MaxTcpSynSentPerIp 0
				uint SecureNAT_MaxUdpSessionsPerIp 0
				bool SecureNAT_RandomizeAssignIp false
				bool SuppressClientUpdateNotification false
				bool UseHubNameAsDhcpUserClassOption false
				bool UseHubNameAsRadiusNasId false
				string VlanTypeId 0x8100
				bool YieldAfterStorePacket false
			}
			declare SecureNAT
			{
				bool Disabled false
				bool SaveLog true

				declare VirtualDhcpServer
				{
					string DhcpDnsServerAddress 192.168.30.1
					string DhcpDnsServerAddress2 0.0.0.0
					string DhcpDomainName $
					bool DhcpEnabled true
					uint DhcpExpireTimeSpan 7200
					string DhcpGatewayAddress 192.168.30.1
					string DhcpLeaseIPEnd 192.168.30.254
					string DhcpLeaseIPStart 192.168.30.2
					string DhcpPushRoutes 10.10.0.0/255.255.0.0/192.168.30.1
					string DhcpSubnetMask 255.255.255.0
				}
				declare VirtualHost
				{
					string VirtualHostIp 192.168.30.1
					string VirtualHostIpSubnetMask 255.255.255.0
					string VirtualHostMacAddress **-**-**-**-**-**
				}
				declare VirtualRouter
				{
					bool NatEnabled true
					uint NatMtu 1500
					uint NatTcpTimeout 1800
					uint NatUdpTimeout 60
				}
			}
			declare SecurityAccountDatabase
			{
				declare CertList
				{
				}
				declare CrlList
				{
				}
				declare GroupList
				{
				}
				declare IPAccessControlList
				{
				}
				declare UserList
				{
					declare ota
					{
						byte AuthNtLmSecureHash ************************
						byte AuthPassword ****************************
						uint AuthType 1
						uint64 CreatedTime 1605746526904
						uint64 ExpireTime 0
						uint64 LastLoginTime 1612211087868
						string Note $
						uint NumLogin 44
						string RealName $
						uint64 UpdatedTime 1607475966098

						declare Traffic
						{
							declare RecvTraffic
							{
								uint64 BroadcastBytes 25466539
								uint64 BroadcastCount 241310
								uint64 UnicastBytes 12220592609
								uint64 UnicastCount 12025168
							}
							declare SendTraffic
							{
								uint64 BroadcastBytes 5228730
								uint64 BroadcastCount 38395
								uint64 UnicastBytes 2388769901
								uint64 UnicastCount 10640100
							}
						}
					}
				}
			}
			declare Traffic
			{
				declare RecvTraffic
				{
					uint64 BroadcastBytes 303214333
					uint64 BroadcastCount 3412462
					uint64 UnicastBytes 688308288934
					uint64 UnicastCount 1008661423
				}
				declare SendTraffic
				{
					uint64 BroadcastBytes 1427129916
					uint64 BroadcastCount 12394054
					uint64 UnicastBytes 688339418656
					uint64 UnicastCount 1008883706
				}
			}
		}
	}
	declare VirtualLayer3SwitchList
	{
	}
}
大変お手数おかけするかと存じますが、御対応頂けますと幸いです。

ota
Posts: 11
Joined: Tue Feb 02, 2021 9:11 am

Re: SSH接続が安定しない

Post by ota » Wed Feb 03, 2021 1:26 am

>管理者様

操作ミスでこちらのスレッドに投稿してしまったようです。大変申し訳ございません。
大変お手数ではございますが削除して頂ければ再度上げますので、対応お願いしてもよろしいでしょうか。

It seems that I posted to this thread due to an operation error. sorry.
We apologize for any inconvenience, but could you please move or delete this post to the Japanese forums?
If you delete it, I will raise it again.
Best regards.

ota
Posts: 11
Joined: Tue Feb 02, 2021 9:11 am

Re: SSH接続が安定しない

Post by ota » Wed Feb 03, 2021 6:38 am

>管理者様
本ポストを日本語フォーラムへ移動して頂き、誠にありがとうございます。

引き続き、こちらにて調査方法等ご教授頂けますと幸いです。
何卒よろしくお願い致します。

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

Re: SSH接続が安定しない

Post by cedar » Wed Feb 03, 2021 12:42 pm

どこからどこにSSHした場合に問題が起きているでしょうか?

ota
Posts: 11
Joined: Tue Feb 02, 2021 9:11 am

Re: SSH接続が安定しない

Post by ota » Thu Feb 04, 2021 1:26 am

cedar様


ご返信頂き、誠にありがとうございます。

接続元については、自宅の光コラボ回線(MTU 1454)と会社のNURO Biz回線(MTU 1500)、
接続先はOracle Cloud上の別テナントに接続しております。
接続元のOSはWindows10の20H2で、接続先のOSはOracle Linuxの7と8両方で同様の現象でした。

他にも必要な情報がございましたら、お申し付け頂けますと幸いです。

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

Re: SSH接続が安定しない

Post by cedar » Thu Feb 04, 2021 2:09 am

すみません。聞き方が悪かったです。

SSHサーバーとSSHクライアントとVPNサーバーとVPNクライアントは、それぞれどのように接続されている関係にあるでしょうか?

ota
Posts: 11
Joined: Tue Feb 02, 2021 9:11 am

Re: SSH接続が安定しない

Post by ota » Thu Feb 04, 2021 2:43 am

cedar様


ご返信頂き、誠にありがとうございます。

まず、VPNサーバーとクライアントについてはWindows内蔵のVPNクライアントを使用しております。
設定につきましては、こちらのページと同様な手順で行っております。
https://www.seil.jp/doc/index.html#fn/p ... _l2tp.html

続いてSSHですが、上記手順でVPN接続したマシン上からWindows10内臓のSSHクライアント、
WSL上のUbuntu18.04にインストールされたSSHクライアント両方で発生を確認しております。
バージョン(ssh -Vで確認)はそれぞれ以下の通りになります。

Windows
OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.5

WSL上のUbuntu18.04
OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017

SSHのサーバー側については以下の通りになります。
こちらは"rpm -qa | grep openssh-server"で取得しました。

Oracle Linux 8
openssh-server-8.0p1-5.el8.x86_64

Oracle Linux 7
openssh-server-7.4p1-21.0.1.el7.x86_64

以上となります、よろしくお願い致します。

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

Re: SSH接続が安定しない

Post by cedar » Thu Feb 04, 2021 10:08 am

すみません。質問が伝わっていないようです。
SSH クライアントと VPN クライアントが同一ホストだということは分かったのですが、
SSHサーバーのホストとVPNサーバーは、どのように接続されている関係でしょうか。

ota
Posts: 11
Joined: Tue Feb 02, 2021 9:11 am

Re: SSH接続が安定しない

Post by ota » Thu Feb 04, 2021 10:55 am

cedar様


ご返信頂き、誠にありがとうございます。
私もcedar様の意図を汲み取れず、大変申し訳ございません。

VPNサーバーとSSHサーバーは両方ともOracle Cloudを利用しておりますが、
別のテナント(AWS用語だとアカウント)上に存在しており、ネットワーク的にも全く別で存在しております。
意図する回答であれば幸いです。

以上、よろしくお願い致します。

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

Re: SSH接続が安定しない

Post by cedar » Thu Feb 04, 2021 11:16 am

その場合、クライアント側で L2TP のインターフェイスにデフォルトゲートウェイが設定されていなければ、SSH の接続は VPN を通っていないと思われます。

ota
Posts: 11
Joined: Tue Feb 02, 2021 9:11 am

Re: SSH接続が安定しない

Post by ota » Fri Feb 05, 2021 1:15 am

cedar様


貴重なご回答を頂き、誠にありがとうございます。

SSH接続がVPNを通っているか否かですが、
只今私の方でVPNに繋いだ状態でSSHサーバーにログインし、secureログを見たところ
下記①のところにVPNサーバーのグローバルIPアドレスが表示されておりました。

Code: Select all

Feb  5 10:06:07 ホスト名 sshd[283638]: Accepted publickey for opc from ① port 61661 ssh2: RSA SHA256:*******************************************
上記の挙動からVPN経由でのアクセスはされていると判断しているのですが、そもそもこの認識に問題がありそうでしょうか。
低レベルなネットワークの知識にあまり精通しておらず、的外れな事を申してましたらすみません。

大変お手数おかけしておりますが、引き続き何卒よろしくお願い致します。

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

Re: SSH接続が安定しない

Post by cedar » Fri Feb 05, 2021 2:48 am

確かにVPNを経由してSSH接続されているようです。

仮想NATのセッションがタイムアウトで消えている可能性が考えられるので、SSH接続対象のホストからも同仮想 HUB にVPN接続して、仮想NATを使わずに通信できるようにすることで改善するかも知れません。

ota
Posts: 11
Joined: Tue Feb 02, 2021 9:11 am

Re: SSH接続が安定しない

Post by ota » Fri Feb 05, 2021 5:10 am

cedar様


ご確認頂き、誠にありがとうございます。
ひとまずVPN経由でSSHサーバーに接続出来ていることが分かり、安心しました。

> 仮想NATのセッションがタイムアウトで消えている可能性が考えられる
こちらが原因だった場合ですが、仮想NATのセッションをタイムアウトしないようにすることは出来ないでしょうか。
弊社が所有しているサーバーの場合であれば、今回ご教授頂いた手段で回避出来そうではございますが、
他社が所有しているSSHサーバーに今後接続するような状況が出てきた際に、同様の対応は難しいと考えております。

こちらについて、ご教授頂けますと幸いです。

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

Re: SSH接続が安定しない

Post by cedar » Fri Feb 05, 2021 5:25 am

同様の別の問題を引き起こす可能性があるため第一案としては提案しませんでしたが、仮想 NAT の代わりに、別のサードパーティー製のNATソフトウェアを使用するという方法が考えられます。

ota
Posts: 11
Joined: Tue Feb 02, 2021 9:11 am

Re: SSH接続が安定しない

Post by ota » Fri Feb 05, 2021 5:52 am

cedar様


ご返信頂き、誠にありがとうございます。

本件につきまして、仮想NATのセッションがタイムアウトしていた場合は、
SoftEther VPN Server側では対応出来ないという認識で問題ないでしょうか。
また、"仮想NATのセッションがタイムアウトで消えている"かどうかを調べる方法はございますでしょうか。

五月雨式で大変恐縮ではございますが、よろしくお願い致します。

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

Re: SSH接続が安定しない

Post by cedar » Fri Feb 05, 2021 5:58 am

タイムアウト時間の変更は設定では行なえません。
仮想NATが原因になっているかどうかも分かりませんので、切り分けのために仮想NATを使わない構成を試してみていただければと思います。

ota
Posts: 11
Joined: Tue Feb 02, 2021 9:11 am

Re: SSH接続が安定しない

Post by ota » Fri Feb 05, 2021 6:12 am

cedar様


ご返信頂き、誠にありがとうございます。
タイムアウト時間の変更が出来ない旨、承知しました。

切り分けの為、仮想NATを使わない構成についてですが、
現在動作中のVPNサーバーのサービスを止めないよう、別のインスタンスを構築して試させていただきます。
その為、返信には少々お時間を頂戴したく存じます。

何卒よろしくお願い致します。

ota
Posts: 11
Joined: Tue Feb 02, 2021 9:11 am

Re: SSH接続が安定しない

Post by ota » Fri Mar 05, 2021 6:10 am

cedar様


お世話になっております、返信が遅くなってしまい大変申し訳ございません。

あの後ブリッジ接続を試したのですが、ifconfigではPROMISCが表示されているのにも関わらずプロミスキャスモードが動作せず、
それについてクラウドベンダーに問い合わせる等しておりました。
結果、Oracle CloudはAWS同様プロミスキャスモードには対応していないとの返答を受け、
以前cedar様がご提案された別の方法でのNAT構築を行うプランで進めてみました。

構成としましてはtapデバイスで仮想HUBと接続させ、firewalldでIPマスカレードの設定を行うといった方法です。
合わせてベンダーの内部DNSにフォワードさせるDNSと、DHCPサーバーも構築も行うことで仮想NATと同様の機能を実装しました。
(当初DHCPサーバーのみSoftEtherに内包されているものを使おうと考えていたのですが、
何故か設定しても別途構築したDNSサーバーに向けられなかった事からDHCPサーバーも別途構築しました)
結果、以前報告したような症状は発生せず、快適なVPNサーバーの構築を行うことが出来ました。

この度はお忙しいところご相談頂き、誠にありがとうございました。
再度困り事が出てきた際には再びお力添えを頂けますと幸いです。
今後共、何卒よろしくお願い致します。

Post Reply