Windows 10의 OpenVPN LAN 액세스

Windows 10의 OpenVPN LAN 액세스

나는 간단한 홈 네트워크(10.1.1.0/24)를 가지고 있는데, Windows 10 시스템이 무선 라우터에 연결되어 있고 그 중 하나가 OpenVPN 서버(예: PC1)를 실행하고 있습니다.

VPN 서버와 기타 장치가 동일한 서브넷에 있더라도 원격 클라이언트는 PC1(10.1.1.8)을 ping할 수 있지만 다른 장치로는 ping할 수 없습니다. 거의 비슷해요이것대본. 레지스트리 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

기사 작성 방법Community.openvpn.net상태:

다음으로 VPN 클라이언트 서브넷(10.8.0.0/24)을 OpenVPN 서버로 라우팅하기 위해 서버 측 LAN 게이트웨이에 경로를 설정해야 합니다(이는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(오버로드)를 활성화하는 것으로 보입니다.

주로 제공되는 Hyper-V와 같은 Windows 10 Pro/Enterprise에서만 사용할 수 있습니다.

도움이 되지 않는다면 다음과 같이 하세요.

Remove-NetNat -Name "VpnMasq"

하지만 그 전에 터널을 통해 서버에서 클라이언트로 핑(또는 연결)할 수 있는지 확인해야 합니다. 저는 net30작동 방식(OpenVPN의 기본 토폴로지)에 대해 잘 알지 못하며 , subnet토폴로지는 어쨌든 더 간단하고 귀하의 사용 사례에 더 적합할 수 있습니다. 따라서 다음 줄을 추가하십시오.

topology subnet

줄 앞에 server. 그러면 양쪽 POV의 클라이언트 IP가 동일해야 합니다.

사용되는 토폴로지 에서 subnet클라이언트가 서로 연결할 수 있는지 여부(서로의 LAN은 아님)는 client-to-client서버 구성에서 사용되지 않을 때 서버가 터널의 패킷을 터널로 다시 전달할 수 있는지 여부에 따라 달라집니다.

관련 정보