Windows 10 中的 OpenVPN 區域網路存取

Windows 10 中的 OpenVPN 區域網路存取

我有一個簡單的家庭網路(10.1.1.0/24),其中很少 Windows 10 電腦連接到無線路由器,其中一台正在運行 OpenVPN 伺服器(例如 PC1)。

遠端用戶端可以 ping PC1(10.1.1.8),但不能 ping 通任何其他設備,即使 VPN 伺服器和其他設備位於同一子網路中。非常類似設想。我嘗試添加10.1.1.0 mask 255.255.255.0 10.1.1.1到路由表並IPEnableRouter在註冊表中啟用,但沒有成功。

我是 VPN 技巧的新手,所以我覺得我在這裡遺漏了一些東西,大家有什麼想法嗎? (橋接除外)。

  • 伺服器.ovpn
port 1194
proto udp
dev tun
****ca/cert/key/dh/tls-auth omitted****
server 10.8.0.0 255.255.255.0
push "route 10.1.1.0 255.255.255.0"
ifconfig-pool-persist ipp.txt
client-to-client
keepalive 10 120
cipher AES-256-CBC
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
explicit-exit-notify 1
  • 客戶端.ovpn
dev tun
proto udp
remote myddns.com 443
resolv-retry infinite
nobind
comp-lzo
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-CBC
verb 3
****ca/cert/key/tls-auth omitted****
  • PC1的路由表
    Interface List
 21...00 ff a0 50 2d 1b ......TAP-Windows Adapter V9
  7...ea 4e 06 6b 4f 39 ......Microsoft Wi-Fi Direct Virtual Adapter #13
 58...e8 4e 06 6b 4f 39 ......Microsoft Wi-Fi Direct Virtual Adapter #14
 14...e8 4e 06 6b 4f 39 ......Realtek RTL8192EU Wireless LAN 802.11n USB 2.0 Network Adapter
  1...........................Software Loopback Interface 1
===========================================================================

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0         10.1.1.1         10.1.1.8     45
         10.1.1.0    255.255.255.0         On-link          10.1.1.8    301
         10.1.1.8  255.255.255.255         On-link          10.1.1.8    301
       10.1.1.255  255.255.255.255         On-link          10.1.1.8    301
         10.8.0.0    255.255.255.0         10.8.0.2         10.8.0.1     25
         10.8.0.0  255.255.255.252         On-link          10.8.0.1    281
         10.8.0.1  255.255.255.255         On-link          10.8.0.1    281
         10.8.0.3  255.255.255.255         On-link          10.8.0.1    281
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    331
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    331
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    331
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    331
        224.0.0.0        240.0.0.0         On-link          10.8.0.1    281
        224.0.0.0        240.0.0.0         On-link          10.1.1.8    301
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    331
  255.255.255.255  255.255.255.255         On-link          10.8.0.1    281
  255.255.255.255  255.255.255.255         On-link          10.1.1.8    301
===========================================================================
  • Client的路由表
Interface List
  2...f8 a9 63 e0 26 bc ......Realtek PCIe GbE Family Controller
 20...00 ff d5 aa e2 9e ......TAP-Windows Adapter V9
 10...1e 0e c4 42 55 73 ......Microsoft Wi-Fi Direct Virtual Adapter
  4...2e 0e c4 42 55 73 ......Microsoft Wi-Fi Direct Virtual Adapter #2
  7...ec 0e c4 42 55 73 ......Qualcomm Atheros AR956x Wireless Network Adapter
  1...........................Software Loopback Interface 1
===========================================================================

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0   192.168.43.129   192.168.43.150     55
         10.1.1.0    255.255.255.0         10.8.0.5         10.8.0.6     25
         10.8.0.1  255.255.255.255         10.8.0.5         10.8.0.6     25
         10.8.0.4  255.255.255.252         On-link          10.8.0.6    281
         10.8.0.6  255.255.255.255         On-link          10.8.0.6    281
         10.8.0.7  255.255.255.255         On-link          10.8.0.6    281
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    331
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    331
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    331
     192.168.43.0    255.255.255.0         On-link    192.168.43.150    311
   192.168.43.150  255.255.255.255         On-link    192.168.43.150    311
   192.168.43.255  255.255.255.255         On-link    192.168.43.150    311
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    331
        224.0.0.0        240.0.0.0         On-link    192.168.43.150    311
        224.0.0.0        240.0.0.0         On-link          10.8.0.6    281
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    331
  255.255.255.255  255.255.255.255         On-link    192.168.43.150    311
  255.255.255.255  255.255.255.255         On-link          10.8.0.6    281
===========================================================================

請一點幫助!

答案1

如何發表文章社區.openvpn.net狀態:

接下來,您必須在伺服器端 LAN 閘道器上設定一條路由,將 VPN 用戶端端子網路 (10.8.0.0/24) 路由至 OpenVPN 伺服器(僅當OpenVPN 伺服器和 LAN 閘道是不同的機器)。

我相信這是解決方案,但不幸的是我無法測試它,因為我的 LAN 網關(無線路由器)沒有啟用 LAN 端靜態路由的功能。

我想我必須買一台更好的路由器,最好是整合了 OpenVPN 的路由器。 ;)

答案2

您的問題是伺服器配置缺少 LAN 存取路由的正確選項,這就是為什麼我總是建議花時間閱讀

  • 開放VPN如何(約 15 分鐘)
  • 開放VPN手冊頁(約 45 分鐘)

  • openvpn-server.conf

    # Pushed Routes #
    #---------------------------------------------------
      push                'dhcp-option    DNS 10.1.1.1'
      push                'dhcp-option    WINS 10.1.1.1'
    
      client-to-client    '1'
        # Each OS deals with parameters differently, so the 1 may need to be specified
    
    • 10.1.1.1/24您要存取的 VPN 後面的 DNS 和 DHCP 伺服器在哪裡

  • 另外,AES-256-CBC也不是必需的,因為AES-128-CBC目前無法破解,並且將在幾年內保持如此......您所做的只是大大降低吞吐量,而沒有安全增益。
    • 如果需要的話,更好的選擇是更改rekey時間和大小值


一般僅供參考:

許多人只是使用在線找到的通用配置,但是,最大的好處和最好的安全性來自於調整配置。

  • 調整配置範例

    #
    
            ##::[[---  OpenVPN Server Config  ---]]::##
    
    #===========================================================
                  ##----- VPN Admin Server -----##
    #===========================================================
    
      # Protocol #
    #-----------------------------------------------------------
      dev                     'tun0'
      topology                'subnet'
      proto                   'udp'
      port                    '61194'
    
      # Routes #
    #-----------------------------------------------------------
      server                  '10.32.2.0 255.255.255.248'
      ifconfig                '10.32.2.1 255.255.255.248'
    
      # Client Config #
    #-----------------------------------------------------------
      ccd-exclusive           '1'
      ifconfig-pool-persist   '/etc/openvpn/clients/vpn/ipp.txt'
      client-config-dir       '/etc/openvpn/clients/vpn'
    
      # Pushed Routes #
    #-----------------------------------------------------------
      push                    'route 192.168.2.0 255.255.255.240'
      push                    'dhcp-option  DNS 192.168.2.1'
      push                    'dhcp-option  WINS 192.168.2.1'
      push                    'dhcp-option  DNS 208.67.222.222'
      push                    'dhcp-option  DNS 208.67.220.220'
      push                    'dhcp-option  NTP 129.6.15.30'
    
      # Encryption #
    #-----------------------------------------------------------
      # Diffie-Hellmann:
      dh                      '/etc/ssl/openvpn/dh2048.pem'
    
      # PKCS12:
      pkcs12                  '/etc/ssl/openvpn/vpn-server.p12'
    
      # SSL:
      cipher                  'AES-128-CBC'
      auth                    'SHA512'
      tls-crypt               '/etc/ssl/openvpn/tls-crypt.psk'
    
      # TLS:
      tls-version-min         '1.2'
      tls-cipher              'TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256:TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA256:TLS-DHE-RSA-WITH-AES-128-CBC-SHA256:TLS-ECDH-RSA-WITH-AES-128-GCM-SHA256:!aNULL:!eNULL:!LOW:!3DES:!MD5:!SHA:!EXP:!PSK:!SRP:!DSS:!RC4:!kRSA'
    
      # Logging #
    #-----------------------------------------------------------
      log                     '/tmp/vpn-server.log'
      status                  '/tmp/vpn-server-status.log'
      verb                    '4'
    
      # Connection Options #
    #-----------------------------------------------------------
      keepalive               '10 120'
      compress                'lz4'
    
      # Connection Reliability #
    #-----------------------------------------------------------
      client-to-client        '1'
      persist-key             '1'
      persist-tun             '1'
    
      # Connection Speed #
    #-----------------------------------------------------------
      sndbuf                  '393216'
      rcvbuf                  '393216'
      fragment                '0'
      mssfix                  '0'
      tun-mtu                 '48000'
    
      # Pushed Buffers #
    #-----------------------------------------------------------
      push                    'sndbuf 393216'
      push                    'rcvbuf 393216'
    
      # Permissions #
    #-----------------------------------------------------------
      user                    'nobody'
      group                   'nogroup'
    

答案3

也許您可以嘗試以下 PowerShell(不要與命令提示字元混淆)cmdlet:

New-NetNat -Name "VpnMasq" -InternalIPInterfaceAddressPrefix "10.8.0.0/24"

這顯然會為指定來源前綴的資料包啟用 NAT(過載)。

它可能僅在 Windows 10 專業版/企業版上可用,例如它主要服務的 Hyper-V。

如果這沒有幫助,只需:

Remove-NetNat -Name "VpnMasq"

但在此之前,您應該確保可以透過隧道從伺服器 ping(或更確切地說,到達)客戶端。我不熟悉如何net30工作(OpenVPN 的預設拓撲),並且subnet拓撲可能更簡單並且更適合您的用例。因此加入以下行:

topology subnet

行前server。那麼雙方 POV 的客戶端 IP 應該相同。

請注意,在使用的拓撲中,用戶端是否可以相互存取(儘管不是彼此的 LAN)取決於伺服器是否允許在伺服器設定中未使用subnet時將來自隧道的封包轉回隧道。client-to-client

相關內容