Windows 10 中的 OpenVPN LAN 访问

Windows 10 中的 OpenVPN LAN 访问

我有一个简单的家庭网络(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
===========================================================================
  • 客户端的路由表
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 访问路由选项,这就是为什么我总是建议花时间阅读

  • OpenVPN如何(约15分钟)
  • OpenVPN手册页(约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 Pro/Enterprise,例如 Hyper-V,它主要服务于 Hyper-V。

如果没有帮助的话:

Remove-NetNat -Name "VpnMasq"

但在此之前,您应该确保可以通过隧道从服务器 ping 通(或者说到达)客户端。我不清楚它是如何net30工作的(OpenVPN 的默认拓扑),而且subnet拓扑可能更简单,更适合您的用例。因此,添加以下行:

topology subnet

在该server行之前。那么从双方的 POV 来看,客户端 IP 应该相同。

请注意,使用拓扑时,客户端是否可以相互访问(但不能访问彼此的 LAN)取决于服务器是否允许在服务器配置中未使用subnet隧道时将隧道中的数据包转发回隧道。client-to-client

相关内容