拠点間をVPN Server(拠点A)とVPN Server(拠点B)で構築時、VPN Server(拠点A)用PC1を物理LANへつないだ場合デフォルトGWとDNSサーバのIPアドレスが設定されない

SoftEther VPN に関するご質問はこのフォーラムにお気軽にご投稿ください。
Post Reply
hiura
Posts: 143
Joined: Wed Mar 10, 2021 1:56 am

拠点間をVPN Server(拠点A)とVPN Server(拠点B)で構築時、VPN Server(拠点A)用PC1を物理LANへつないだ場合デフォルトGWとDNSサーバのIPアドレスが設定されない

Post by hiura » Tue May 25, 2021 1:52 pm

拠点間をVPN Server(拠点A)とVPN Server(拠点B)で構築時、VPN Server(拠点A)用PC1を物理LANへつないだ場合デフォルトGWとDNSサーバのIPアドレスが設定されない

VPN SERVER(拠点A)用PC1を物理LANに参加させるためUSB ETHERNET ADAPTER 2で物理LANに接続してみたらIPV4のアドレス(デフォルトGW,DNS サーバ)が設定されない!。

拠点Aの物理LAN上PC1(USB ETHERNET ADAPTER 2)のIPCONFIG:

IPV4設定:IPV4アドレス、DHCPサーバは設定されるが、デフォルトゲートウエイ、DNSサーバが空欄のまま設定されない。
IPV6設定:IPV6アドレス、一時IPV6アドレス、リンクローカルIPV6アドレス、デフォルトゲートウエイ、DNSサーバすべて設定され正常である。

拠点間VPN内部でDHCPメッセージのデフォルトGWとDNSサーバ情報が削除されている。なぜ?どこで削除?

Code: Select all

テスト用物理ネットワーク構成図
		    |  
ONU-----BL900HW-----|-----PC1:VPN SERVER /WIN10 PRO
                    |          |  |LOCAL BRIDGE         物理LAN(リピータHUB)
                    |          |  |USB ETHERNET ADAPTER 1   |
                    |          |  --------------------------|-----PC3:VISTA
                    |          -----------------------------|
                    |              USB ETHERNET ADAPTER 2   |
                    |
                    |                                   物理LAN
                    |                                   |
                    |-----WX3000HP(ルータ、DHCPサーバ)------|-----------------PC2:VPN SERVER /WIN10 HOME
                    |                                      |    LOCAL BRIDGE

Code: Select all

テスト用論理ネットワーク構成図
                        拠点A                                         拠点B
                        PC1:VPN SERVER                                PC2:VPN SERVER 

			仮想HUB  IPV6 CASCADE接続 +++++++++++++++++++++> 仮想HUB
	               	    |                                                |
            物理LAN    	    |ローカルブリッジ                                 |ローカルブリッジ
                |           |                                                |
      PC3-------|-----	USB ETHERNET ADAPTER 1             	       ETHERNET ADAPTER
                |                                                            |
		|-----	USB ETHERNET ADAPTER 2                        -------------物理LAN
                |      (IPV4デフォルトGW,DNS サーバ設定されず!)              |
                |                                                      WX3000HP(ルータ、DHCPサーバ)
拠点A:
PC1:VPN Server (VER4.34 BUILD9745)in WIN10 PRO
ローカルブリッジ設定(ブリッジ先ETHERNET デバイスは別のUSB ETHERNET ADAPTER 1)
拠点A-->拠点BのVPN ServerにIPV6でカスケード接続
物理LAN上にPC3:VISTA有
PC1:USB ETHERNET ADAPTER 1 をWIRESHARKでキャプチャー

拠点B:
PC2:VPN Server (VER4.34 BUILD9745)in WIN10 HOME
ローカルブリッジ設定(ブリッジ先ETHERNET デバイスは同一のETHERNET ADAPTER)
物理LAN上にDHCPサーバ有
PC2:ETHERNET ADAPTER をWIRESHARKでキャプチャー

USB ETHERNET ADAPTER 1(BUFFALO:LUA4-U3-AGTE-WH)
USB ETHERNET ADAPTER 2(BUFFALO:LUA3-U2-ATX)

BL900HW設定:
BL900HW/IPV6アドレス配布[RA:プレフィックス配布 DHCPv6:プレフィックス/IPv6アドレス配布]
BL900HW/IPV4アドレス配布[DHCPサーバ機能:使用する,IPアドレス/ネットマスク:192.168.0.1/ 24]

WX3000HP設定:
WX3000HP/動作モード[ローカルルータ]
WX3000HP/IPV6アドレス配布[DHCPv6サーバ機能:使用する(Stateless)]
WX3000HP/IPV4アドレス配布[DHCPサーバ機能:ON,リースタイム(時間):0,DHCP割当アドレス:192.168.10.101 - 192.168.10.200]
WX3000HP/ポート開放[IPV4:NAT/TCP443ポート,IPV6:パケットフィルタ/TCP443ポート通過]
Last edited by hiura on Sat Sep 11, 2021 1:17 am, edited 5 times in total.

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

Re: 拠点間をVPN Server(拠点A)とVPN Server(拠点B)で構築時、VPN Server(拠点A)用PC1を物理LANへつないだ場合デフォルトGWとDNSサーバのIPアドレスが設定されない

Post by cedar » Wed May 26, 2021 10:39 am

VPN Client は、接続時にデフォルトゲートウェイが仮想 LAN カードに上書きされたときにセッションが切れないように VPN Server への経路を追加しますが、VPN Server のカスケード接続では経路の操作は行いません。

相手拠点から DHCP パケットが届くのを禁止したい場合は、カスケード接続のセキュリティポリシーでDHCPパケットをフィルタリングしてみてください。

hiura
Posts: 143
Joined: Wed Mar 10, 2021 1:56 am

Re: 拠点間をVPN Server(拠点A)とVPN Server(拠点B)で構築時、VPN Server(拠点A)用PC1を物理LANへつないだ場合デフォルトGWとDNSサーバのIPアドレスが設定されない

Post by hiura » Wed Jun 09, 2021 9:58 am

お世話になります。

>VPN Client は、接続時にデフォルトゲートウェイが仮想 LAN カードに上書きされたときにセッションが切れないように VPN Server への経路を追加しますが、VPN Server のカスケード接続では経路の操作は行いません。
VPN Client、VPN Server 間VPNの場合は上記理解しました。

>相手拠点から DHCP パケットが届くのを禁止したい場合は、カスケード接続のセキュリティポリシーでDHCPパケットをフィルタリングしてみてください。
フィルタリングはカスケード接続元(受信側)で行われるのですか、それともカスケード接続先(送信側)で行われるのですか?

本件で問題にしているのは
DHCPパケットのシーケンスは正常です。パケットの欠落はありません。
しかし、DHCPサーバが送信したDHCP OFFER, DHCP ACKパケットのデータの一部が、受信側のDHCP クライアントでは欠落(転送中に削除された)している。
送信側データと受信側データは同一でないといけないのに。
転送しているのはSOFTETHER VPNなので、SOFTETHER VPNがパケットを書き換えていると思われます。なぜ?。

です。


欠落データはルータとDNS SERVERのIPV4 アドレスです。

Option: (3) Router
Length: 4
Router: 192.168.10.1
Option: (6) Domain Name Server
Length: 4
Domain Name Server: 192.168.10.1


DHCPシーケンス

①DHCP DISCOVER
②DHCP OFFER <---DHCPクライアント受信パケットに欠落データあり。SOFTETHER VPNが削除した?。
③DHCP REQUEST
④DHCP ACK <---DHCPクライアント受信パケットに欠落データあり。SOFTETHER VPNが削除した?。


--------------------------------------------------------------
DHCPクライアント受信パケット(④DHCP ACK)
--------------------------------------------------------------
No. Time Source Destination Protocol Length Source Port Info
10 2021-05-27 11:06:45.451921 192.168.10.1 255.255.255.255 DHCP 342 DHCP ACK
- Transaction ID 0xb970d212
Frame 10: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) on interface \Device\NPF_{F5186F81-FD14-4B24-
B5BD-1B040C084DB7}, id 0
Interface id: 0 (\Device\NPF_{F5186F81-FD14-4B24-B5BD-1B040C084DB7})
Interface name: \Device\NPF_{F5186F81-FD14-4B24-B5BD-1B040C084DB7}
Interface description: イーサネット 3
Encapsulation type: Ethernet (1)
Arrival Time: May 27, 2021 11:06:45.451921000 東京 (標準時)
[Time shift for this packet: 0.000000000 seconds]
Epoch Time: 1622081205.451921000 seconds
[Time delta from previous captured frame: 0.000035000 seconds]
[Time delta from previous displayed frame: 0.000035000 seconds]
[Time since reference or first frame: 0.175462000 seconds]
Frame Number: 10
Frame Length: 342 bytes (2736 bits)
Capture Length: 342 bytes (2736 bits)
[Frame is marked: False]
[Frame is ignored: False]
[Protocols in frame: eth:ethertype:ip:udp:dhcp]
[Coloring Rule Name: UDP]
[Coloring Rule String: udp]
Ethernet II, Src: NECPlatf_e7:ad:88 (f8:b7:97:e7:ad:88), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Destination: Broadcast (ff:ff:ff:ff:ff:ff)
Address: Broadcast (ff:ff:ff:ff:ff:ff)
.... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default)
.... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast)
Source: NECPlatf_e7:ad:88 (f8:b7:97:e7:ad:88)
Address: NECPlatf_e7:ad:88 (f8:b7:97:e7:ad:88)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 192.168.10.1, Dst: 255.255.255.255
0100 .... = Version: 4
.... 0101 = Header Length: 20 bytes (5)
Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
0000 00.. = Differentiated Services Codepoint: Default (0)
.... ..00 = Explicit Congestion Notification: Not ECN-Capable Transport (0)
Total Length: 328
Identification: 0x0000 (0)
Flags: 0x00
0... .... = Reserved bit: Not set
.0.. .... = Don't fragment: Not set
..0. .... = More fragments: Not set
Fragment Offset: 0
Time to Live: 64
Protocol: UDP (17)
Header Checksum: 0xaefc [validation disabled]
[Header checksum status: Unverified]
Source Address: 192.168.10.1
Destination Address: 255.255.255.255
User Datagram Protocol, Src Port: 67, Dst Port: 68
Source Port: 67
Destination Port: 68
Length: 308
Checksum: 0x06f8 [unverified]
[Checksum Status: Unverified]
[Stream index: 3]
[Timestamps]
[Time since first frame: 0.081448000 seconds]
[Time since previous frame: 0.000035000 seconds]
UDP payload (300 bytes)
Dynamic Host Configuration Protocol (ACK)
Message type: Boot Reply (2)
Hardware type: Ethernet (0x01)
Hardware address length: 6
Hops: 0
Transaction ID: 0xb970d212
Seconds elapsed: 0
Bootp flags: 0x8000, Broadcast flag (Broadcast)
1... .... .... .... = Broadcast flag: Broadcast
.000 0000 0000 0000 = Reserved flags: 0x0000
Client IP address: 0.0.0.0
Your (client) IP address: 192.168.10.105
Next server IP address: 0.0.0.0
Relay agent IP address: 0.0.0.0E:\拠点A_DHCP_AT_LBRIDGE_LUA4U3AGTE_WIN10PRO.pcapng 743 total packets, 6 shown
Client MAC address: Buffalo_e6:2f:aa (00:1d:73:e6:2f:aa)
Client hardware address padding: 00000000000000000000
Server host name not given
Boot file name not given
Magic cookie: DHCP
Option: (53) DHCP Message Type (ACK)
Length: 1
DHCP: ACK (5)
Option: (54) DHCP Server Identifier (192.168.10.1)
Length: 4
DHCP Server Identifier: 192.168.10.1
Option: (51) IP Address Lease Time
Length: 4
IP Address Lease Time: (4294967295s) infinity
Option: (1) Subnet Mask (255.255.255.0)
Length: 4
Subnet Mask: 255.255.255.0
このパケット(受信データ)はDHCPサーバ送信パケットと同じでないといけないのに、同じでない。
DHCPサーバが送信したパケットはデフォルトGW,DNS SERVER IPアドレスも含んでいるが、このパケットにはそれがない(削除されている)!
Option: (255) End
Option End: 255
Padding: 000000000000000000000000000000000000000000000000000000000000000000000000

--------------------------------------------------------------
DHCPサーバ送信パケット(④DHCP ACK)
--------------------------------------------------------------
No. Time Source Destination Protocol Length Source Port Info
828 2021-05-27 11:06:44.836897 192.168.10.1 255.255.255.255 DHCP 342 DHCP ACK
- Transaction ID 0xb970d212
Frame 828: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) on interface \Device\NPF_{C43B2BF0-
DD18-44AA-9852-1B211CAEBD9C}, id 0
Interface id: 0 (\Device\NPF_{C43B2BF0-DD18-44AA-9852-1B211CAEBD9C})
Interface name: \Device\NPF_{C43B2BF0-DD18-44AA-9852-1B211CAEBD9C}
Interface description: イーサネット
Encapsulation type: Ethernet (1)
Arrival Time: May 27, 2021 11:06:44.836897000 東京 (標準時)
[Time shift for this packet: 0.000000000 seconds]
Epoch Time: 1622081204.836897000 seconds
[Time delta from previous captured frame: 0.077117000 seconds]
[Time delta from previous displayed frame: 0.077117000 seconds]
[Time since reference or first frame: 55.724037000 seconds]
Frame Number: 828
Frame Length: 342 bytes (2736 bits)
Capture Length: 342 bytes (2736 bits)
[Frame is marked: False]
[Frame is ignored: False]
[Protocols in frame: eth:ethertype:ip:udp:dhcp]
[Coloring Rule Name: UDP]
[Coloring Rule String: udp]
Ethernet II, Src: NECPlatf_e7:ad:88 (f8:b7:97:e7:ad:88), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Destination: Broadcast (ff:ff:ff:ff:ff:ff)
Address: Broadcast (ff:ff:ff:ff:ff:ff)
.... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default)
.... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast)
Source: NECPlatf_e7:ad:88 (f8:b7:97:e7:ad:88)
Address: NECPlatf_e7:ad:88 (f8:b7:97:e7:ad:88)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 192.168.10.1, Dst: 255.255.255.255
0100 .... = Version: 4
.... 0101 = Header Length: 20 bytes (5)
Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
0000 00.. = Differentiated Services Codepoint: Default (0)
.... ..00 = Explicit Congestion Notification: Not ECN-Capable Transport (0)
Total Length: 328
Identification: 0x0000 (0)
Flags: 0x00
0... .... = Reserved bit: Not set
.0.. .... = Don't fragment: Not set
..0. .... = More fragments: Not set
Fragment Offset: 0
Time to Live: 64
Protocol: UDP (17)
Header Checksum: 0xaefc [validation disabled]
[Header checksum status: Unverified]
Source Address: 192.168.10.1
Destination Address: 255.255.255.255
User Datagram Protocol, Src Port: 67, Dst Port: 68
Source Port: 67
Destination Port: 68
Length: 308
Checksum: 0xab59 [unverified]
[Checksum Status: Unverified]
[Stream index: 22]
[Timestamps]
[Time since first frame: 0.080159000 seconds]
[Time since previous frame: 0.080159000 seconds]
UDP payload (300 bytes)
Dynamic Host Configuration Protocol (ACK)
Message type: Boot Reply (2)
Hardware type: Ethernet (0x01)
Hardware address length: 6
Hops: 0
Transaction ID: 0xb970d212
Seconds elapsed: 0
Bootp flags: 0x8000, Broadcast flag (Broadcast)
1... .... .... .... = Broadcast flag: Broadcast
.000 0000 0000 0000 = Reserved flags: 0x0000
Client IP address: 0.0.0.0
Your (client) IP address: 192.168.10.105
Next server IP address: 0.0.0.0
Relay agent IP address: 0.0.0.0E:\拠点B_DHCP_AT_物理LAN_NETLINKTM_WIN10HOME.pcapng 4043 total packets, 6 shown
Client MAC address: Buffalo_e6:2f:aa (00:1d:73:e6:2f:aa)
Client hardware address padding: 00000000000000000000
Server host name not given
Boot file name not given
Magic cookie: DHCP
Option: (53) DHCP Message Type (ACK)
Length: 1
DHCP: ACK (5)
Option: (54) DHCP Server Identifier (192.168.10.1)
Length: 4
DHCP Server Identifier: 192.168.10.1
Option: (51) IP Address Lease Time
Length: 4
IP Address Lease Time: (4294967295s) infinity
Option: (1) Subnet Mask (255.255.255.0)
Length: 4
Subnet Mask: 255.255.255.0

Option: (3) Router
Length: 4
Router: 192.168.10.1
Option: (6) Domain Name Server
Length: 4
Domain Name Server: 192.168.10.1

Option: (255) End
Option End: 255
Padding: 000000000000000000000000000000000000000000000000000
Last edited by hiura on Wed Jun 16, 2021 12:18 am, edited 6 times in total.

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

Re: 拠点間をVPN Server(拠点A)とVPN Server(拠点B)で構築時、VPN Server(拠点A)用PC1を物理LANへつないだ場合デフォルトGWとDNSサーバのIPアドレスが設定されない

Post by cedar » Wed Jun 09, 2021 11:12 am

フィルタリングは、カスケード接続の発信側と着信側でそれぞれ行うことができます。

パケットが一方しか記録されていないのは、使用する OS によってはローカルブリッジから送信されるパケットが OS で取得できないためと思われます。

hiura
Posts: 143
Joined: Wed Mar 10, 2021 1:56 am

Re: 拠点間をVPN Server(拠点A)とVPN Server(拠点B)で構築時、VPN Server(拠点A)用PC1を物理LANへつないだ場合デフォルトGWとDNSサーバのIPアドレスが設定されない

Post by hiura » Thu Jun 10, 2021 1:01 am

お世話になります。

前回のPOSTを更新しました。
表現も変えました。

DHCPパケットのシーケンスは正常です。パケットの欠落はありません。
しかし、DHCPサーバが送信したDHCP OFFER, DHCP ACKパケットのデータの一部が、受信側のDHCP クライアントでは欠落(転送中に削除された)している。
送信側データと受信側データは同一でないといけないのに。
転送しているのはSOFTETHER VPNなので、SOFTETHER VPNがパケットを書き換えていると思われます。なぜ?。

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

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

Re: 拠点間をVPN Server(拠点A)とVPN Server(拠点B)で構築時、VPN Server(拠点A)用PC1を物理LANへつないだ場合デフォルトGWとDNSサーバのIPアドレスが設定されない

Post by cedar » Fri Jun 11, 2021 8:02 am

VPN Server 自身が仮想 HUB を通して DHCP で IP アドレスを取得するときに、デフォルトゲートウェイが書き換えられてしまうと、IPv4 で行われている VPN 接続が切断されてしまうことを防ぐために DHCP パケットの書き換えを行っているようです。

仮想 HUB 拡張オプションの RemoveDefGwOnDhcpForLocalhost を 0 にすることで、この動作を抑止できます。

hiura
Posts: 143
Joined: Wed Mar 10, 2021 1:56 am

Re: 拠点間をVPN Server(拠点A)とVPN Server(拠点B)で構築時、VPN Server(拠点A)用PC1を物理LANへつないだ場合デフォルトGWとDNSサーバのIPアドレスが設定されない

Post by hiura » Sat Jun 12, 2021 7:33 am

>VPN Server 自身が仮想 HUB を通して DHCP で IP アドレスを取得するときに、デフォルトゲートウェイが書き換えられてしまうと、IPv4 で行われている VPN 接続が切断されてしまうことを防ぐために DHCP パケットの書き換えを行っているようです。

DHCP パケットの書き換えを行っているのは理解しました。

>仮想 HUB 拡張オプションの RemoveDefGwOnDhcpForLocalhost を 0 にすることで、この動作を抑止できます。

VPN SERVERのカスケード発信側(拠点A) の仮想 HUB 拡張オプションRemoveDefGwOnDhcpForLocalhost を 0にしても
DHCP パケットが書き換えられています。

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

Re: 拠点間をVPN Server(拠点A)とVPN Server(拠点B)で構築時、VPN Server(拠点A)用PC1を物理LANへつないだ場合デフォルトGWとDNSサーバのIPアドレスが設定されない

Post by cedar » Sat Jun 12, 2021 8:34 am

デフォルトゲートウェイ、DNS サーバーのオプションが削除されるという挙動としては全くこの機能の動作に一致するものなので、原因はこれだとは思いますが、仮想 HUB 拡張オプションが正しく反映されていない可能性は考えられます。
サーバー管理マネージャと VPN Server のバージョンが一致していないといったことはないでしょうか。

hiura
Posts: 143
Joined: Wed Mar 10, 2021 1:56 am

Re: 拠点間をVPN Server(拠点A)とVPN Server(拠点B)で構築時、VPN Server(拠点A)用PC1を物理LANへつないだ場合デフォルトGWとDNSサーバのIPアドレスが設定されない

Post by hiura » Sun Jun 13, 2021 2:06 am

>サーバー管理マネージャと VPN Server のバージョンが一致していないといったことはないでしょうか。
サーバー管理マネージャと VPN Server のバージョンは一致しています。

DHCPサーバが直接つながっている仮想HUB 拡張オプションが関係しているようです。
テスト結果は以下の通りです。

VPN SERVERのカスケード発信側(拠点A)の仮想 HUB 拡張オプションRemoveDefGwOnDhcpForLocalhost=0かつ
VPN SERVERのカスケード着信側(拠点B)の仮想 HUB 拡張オプションRemoveDefGwOnDhcpForLocalhost=0の時
VPN SERVERのカスケード発信側(拠点A)は書き換え無しのパケットを受信した。

VPN SERVERのカスケード発信側(拠点A)の仮想 HUB 拡張オプションRemoveDefGwOnDhcpForLocalhost=0かつ
VPN SERVERのカスケード着信側(拠点B)の仮想 HUB 拡張オプションRemoveDefGwOnDhcpForLocalhost=1の時
VPN SERVERのカスケード発信側(拠点A)は書き換えられたパケットを受信した。

VPN SERVERのカスケード発信側(拠点A)の仮想 HUB 拡張オプションRemoveDefGwOnDhcpForLocalhost=1かつ
VPN SERVERのカスケード着信側(拠点B)の仮想 HUB 拡張オプションRemoveDefGwOnDhcpForLocalhost=0の時
VPN SERVERのカスケード発信側(拠点A)は書き換えられたパケットを受信した。

VPN SERVERのカスケード発信側(拠点A)の仮想 HUB 拡張オプションRemoveDefGwOnDhcpForLocalhost=1かつ
VPN SERVERのカスケード着信側(拠点B)の仮想 HUB 拡張オプションRemoveDefGwOnDhcpForLocalhost=1の時
VPN SERVERのカスケード発信側(拠点A)は書き換えられたパケットを受信した。


もし、DHCPサーバが送信したパケットが直接つながっている仮想HUB 拡張オプションで処理され、
カスケードを通して、DHCPクライアント側へ送信されるのなら、拠点ごとに仮想HUB 拡張オプションがある意味がないのでは?。
DHCPクライアントがつながっている仮想HUBまでは、無加工で送信されるべきでは?。

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

Re: 拠点間をVPN Server(拠点A)とVPN Server(拠点B)で構築時、VPN Server(拠点A)用PC1を物理LANへつないだ場合デフォルトGWとDNSサーバのIPアドレスが設定されない

Post by cedar » Sun Jun 13, 2021 8:36 am

プログラム上では、VPN Server が動作するホストに接続されたネットワークカードの MAC アドレスが DHCP クライアントの MAC アドレスと一致しているときだけ削除の処理が動作するようになっているようです。
例えば、PC1 と PC2 で MAC アドレスが同じデバイスが接続されているといったことはないでしょうか。(使用されていないものも含めて)

hiura
Posts: 143
Joined: Wed Mar 10, 2021 1:56 am

Re: 拠点間をVPN Server(拠点A)とVPN Server(拠点B)で構築時、VPN Server(拠点A)用PC1を物理LANへつないだ場合デフォルトGWとDNSサーバのIPアドレスが設定されない

Post by hiura » Mon Jun 14, 2021 10:22 am

>例えば、PC1 と PC2 で MAC アドレスが同じデバイスが接続されているといったことはないでしょうか。(使用されていないものも含めて)

USB ETHERNET ADAPTER 2 はPC1でも、PC2でも使用しています。USB ETHERNET ADAPTER 1も同様です。
本テストではUSB ETHERNET ADAPTER 2はPC1を仮想HUBに接続するために使用しています。

PC2の「コントロール パネル\すべてのコントロール パネル項目\ネットワーク接続」画面にUSB ETHERNET ADAPTER 2は表示されませんが、MACアドレスは保存されているのでしょうか?。
PC2のデバイスマネージャでUSB ETHERNET ADAPTER 2のドライバをアンインストール後
PC2を再起動(シャットダウンでなく)したらPC1は欠落なしのパケットを受信し、デフォルトGW、DNSサーバのIPV4アドレスが設定されました。

DHCPクライアントのMACアドレスが重要であること理解しました。

追加
PC2にUSB ETHERNET ADAPTER 2 を挿入していない状態では

「コントロール パネル\すべてのコントロール パネル項目\ネットワーク接続」画面には表示されない。
デバイスマネージャ--->表示--->非表示のデバイスの表示(W)をチェックすればネットワークアダプタ一覧に表示されが、チェックしないと表示されない。

RemoveDefGwOnDhcpForLocalhost処理対象MACアドレスはPC2に物理的に接続されているデバイスのみに限られるべきでは。
Last edited by hiura on Wed Jun 16, 2021 12:13 am, edited 4 times in total.

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

Re: 拠点間をVPN Server(拠点A)とVPN Server(拠点B)で構築時、VPN Server(拠点A)用PC1を物理LANへつないだ場合デフォルトGWとDNSサーバのIPアドレスが設定されない

Post by cedar » Mon Jun 14, 2021 11:02 am

デバイスの列挙の際に、無効となっているデバイスについても MAC アドレスを取得してしまっているとしたら、それはバグと言えるかもしれません

hiura
Posts: 143
Joined: Wed Mar 10, 2021 1:56 am

Re: 拠点間をVPN Server(拠点A)とVPN Server(拠点B)で構築時、VPN Server(拠点A)用PC1を物理LANへつないだ場合デフォルトGWとDNSサーバのIPアドレスが設定されない

Post by hiura » Mon Jun 14, 2021 11:05 pm

PC2から USB ETHERNET ADAPTER 2 を抜いた場合、

①PC2に USB ETHERNET ADAPTER 2 を挿入すると、「コントロール パネル\すべてのコントロール パネル項目\ネットワーク接続」画面に現れるので、無効にする。
②PC2から USB ETHERNET ADAPTER 2 を抜くと、PC2の「コントロール パネル\すべてのコントロール パネル項目\ネットワーク接続」画面から消える。
③この消えた状態で、テストを行ったら、パケットは書き換えられた。
④PC2に USB ETHERNET ADAPTER 2 を挿入すると、「コントロール パネル\すべてのコントロール パネル項目\ネットワーク接続」画面に現れ、無効と表示。前回値のまま。

PC2から USB ETHERNET ADAPTER 2 を有効のまま抜く場合と、無効にして抜く場合があるので、抜いた状態のデバイスはRemoveDefGwOnDhcpForLocalhostの処理対象外にすべきでは?。
Last edited by hiura on Tue Jun 15, 2021 8:42 am, edited 1 time in total.

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

Re: 拠点間をVPN Server(拠点A)とVPN Server(拠点B)で構築時、VPN Server(拠点A)用PC1を物理LANへつないだ場合デフォルトGWとDNSサーバのIPアドレスが設定されない

Post by cedar » Mon Jun 14, 2021 11:32 pm

修正提案がある場合は、開発を行っているこちらの GitHub ページに報告するかパッチを投稿することをお勧めします。

https://github.com/SoftEtherVPN/SoftEtherVPN

hiura
Posts: 143
Joined: Wed Mar 10, 2021 1:56 am

Re: 拠点間をVPN Server(拠点A)とVPN Server(拠点B)で構築時、VPN Server(拠点A)用PC1を物理LANへつないだ場合デフォルトGWとDNSサーバのIPアドレスが設定されない

Post by hiura » Wed Jun 16, 2021 12:41 am

DEAR SECURITY EXPERTS 宛修正提案メールしました。

SoftEther VPNサーバー管理マネージャ仮想 HUB 拡張オプションRemoveDefGwOnDhcpForLocalhostの説明では

この項目が 1 (有効) の場合は、DHCP サーバーが仮想 HUB に接続された VPN クライアントに IP アドレスを割当てる際に、当該 VPN クライアントが VPN Server が動作しているコンピュータと同一である場合は DHCP 応答パケットからデフォルトゲートウェイの指定を削除します。これにより、意図しない無限ループを防止することができます。

とあります。

「VPN クライアント」と記述されている箇所、VPN クライアントの意味が解りません。
「DHCP クライアント」では?。

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

Re: 拠点間をVPN Server(拠点A)とVPN Server(拠点B)で構築時、VPN Server(拠点A)用PC1を物理LANへつないだ場合デフォルトGWとDNSサーバのIPアドレスが設定されない

Post by cedar » Wed Jun 16, 2021 1:08 am

この機能を作成した際に念頭に置いていたのが、VPN Server と VPN Client の両方をインストールした環境で、自分自身に接続した際に仮想 HUB 経由でデフォルトゲートウェイを取得してしまって、VPN Server がダウンする、という現象を回避することだったのではないかと思います。
記述として不正確だとは思います。

Post Reply