Доступ к локальной сети OpenVPN в Windows 10

Доступ к локальной сети OpenVPN в Windows 10

У меня есть простая домашняя сеть (10.1.1.0/24), в которой несколько компьютеров с Windows 10 подключены к беспроводному маршрутизатору, и на одном из них запущен сервер OpenVPN (скажем, ПК1).

Удаленные клиенты могут пинговать PC1(10.1.1.8), но не любое другое устройство, даже если 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****
  • Таблица маршрутов ПК1
    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состояния:

Далее необходимо настроить маршрут на шлюзе локальной сети на стороне сервера для маршрутизации подсети VPN-клиента (10.8.0.0/24) к серверу OpenVPN (это необходимо только в том случае, еслиСервер OpenVPN и шлюз локальной сети — это разные машины.).

Я считаю, что это решение, но, к сожалению, я не могу его протестировать, так как мой шлюз локальной сети (беспроводной маршрутизатор) не имеет функции включения статических маршрутов на стороне локальной сети.

Думаю, мне придется купить маршрутизатор получше, желательно тот, который оснащен интегрированным OpenVPN. ;)

решение2

Ваша проблема заключается в том, что в конфигурации сервера отсутствуют правильные параметры маршрутизации доступа к локальной сети, поэтому я всегда рекомендую уделить время прочтению

  • 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находится DNS- и DHCP-сервер, стоящий за VPN, к которому вы хотите получить доступ?

  • Кроме того, 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 (не путать с командной строкой):

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

что, по-видимому, включит NAT (перегрузку) для пакетов указанного исходного префикса.

Он может быть доступен только в Windows 10 Pro/Enterprise, как и Hyper-V, для которого он в основном и предназначен.

Если это не поможет, просто:

Remove-NetNat -Name "VpnMasq"

Но перед этим вы должны убедиться, что можете пинговать (или, скорее, достучаться) от сервера к клиентам через туннель. Я не знаю, как это net30работает (топология OpenVPN по умолчанию), и subnetтопология может быть проще и в любом случае больше подходить для вашего варианта использования. Поэтому добавьте строку:

topology subnet

перед serverстрокой. Тогда клиентский IP с обеих сторон POV должен быть одинаковым.

Обратите внимание, что при subnetиспользовании топологии возможность доступа клиентов друг к другу (но не к локальной сети друг друга) зависит от того, разрешает ли сервер пересылать пакеты из туннеля обратно в туннель, если , client-to-clientне используется в конфигурации сервера.

Связанный контент