OpenVPN 서버에 연결되어 있으면 인터넷에 액세스할 수 없습니다

OpenVPN 서버에 연결되어 있으면 인터넷에 액세스할 수 없습니다

최근 Windows 2003 서버에 OpenVPN을 설치했습니다. 누군가 서버에 연결되면 인터넷에 액세스할 수 없습니다.

  • 내 네트워크는 192.168.1.1에 있습니다.
  • 내 서버는 192.168.1.110에 있습니다
  • dd-wrt 펌웨어를 사용하고 있습니다
  • 라우터의 192.168.1.110에 대해 포트 1194를 활성화했습니다.
  • 라우팅 및 원격 액세스가 비활성화되었습니다.
  • 내 Windows 2003 서버에 2개의 Tap-Win32 어댑터 V8이 있습니다.
  • 이 줄을 192.168.1.1로 설정하려고 시도했고 내 isp의 DNS 서버도 "dhcp-option DNS 192.168.1.1"을 푸시합니다. # X를 홈 네트워크의 DNS IP 주소(보통 ISP의 DNS)로 바꿉니다.
  • dd-wrt에 고급 라우팅 게이트웨이를 만들었습니다.

     Destination LAN NET: 192.168.10.0
     Subnet Mask: 255.255.255.252
     Gateway: 192.168.1.110
     Interface: Lan & WLAN
    

나는 이 웹사이트를 정확히 따라갔습니다: http://www.itsatechworld.com/2006/01/29/how-to-configure-openvpn/

편집: 방금 cmd 프롬프트를 통해 연결을 시도했는데 다음 서브넷 오류가 발생했습니다. 로컬 LAN [192.168.1.0/255.255.255.0]과 원격 VPN [192.168.1.0/255.255.255.0] 간의 잠재적 경로 서브넷 충돌이 발생했습니다.

내 서버 파일은 다음과 같습니다.

local 192.168.1.110 # This is the IP address of the real network interface on the server connected to the router

port 1194 # This is the port OpenVPN is running on - make sure the router is port forwarding this port to the above IP

proto udp # UDP tends to perform better than TCP for VPN

mssfix 1400 # This setting fixed problems I was having with apps like Remote Desktop

push "dhcp-option DNS 192.168.1.1"  # Replace the Xs with the IP address of the DNS for your home network (usually your ISP's DNS)

#push "dhcp-option DNS X.X.X.X"  # A second DNS server if you have one

dev tap

#dev-node MyTAP  #If you renamed your TAP interface or have more than one TAP interface then remove the # at the beginning and change "MyTAP" to its name

ca "ca.crt"  

cert "server.crt"

key "server.key"  # This file should be kept secret

dh "dh1024.pem"

server 192.168.10.0 255.255.255.128  # This assigns the virtual IP address and subent to the server's OpenVPN connection.  Make sure the Routing Table entry matches this.

ifconfig-pool-persist ipp.txt

push "redirect-gateway def1"  # This will force the clients to use the home network's internet connection

keepalive 10 120

cipher BF-CBC        # Blowfish (default) encryption

comp-lzo

max-clients 100 # Assign the maximum number of clients here

persist-key

persist-tun

status openvpn-status.log

verb 1 # This sets how detailed the log file will be.  0 causes problems and higher numbers can give you more detail for troubleshooting

내 client1 파일은 다음과 같습니다.

client

dev tap

#dev-node MyTAP  #If you renamed your TAP interface or have more than one TAP interface then remove the # at the beginning and change "MyTAP" to its name

proto udp

remote my-dyna-dns.com 1194  #You will need to enter you dyndns account or static IP address here. The number following it is the port you set in the server's config

route 192.168.1.0 255.255.255.0 vpn_gateway 3  #This it the IP address scheme and subnet of your normal network your server is on.  Your router would usually be 192.168.1.1

resolv-retry infinite

nobind

persist-key

persist-tun

ca "ca.crt"

cert "client1.crt" # Change the next two lines to match the files in the keys directory.  This should be be different for each client.

key "client1.key"  # This file should be kept secret

ns-cert-type server

cipher BF-CBC        # Blowfish (default) encrytion

comp-lzo

verb 1

미리 감사드립니다!

답변1

서버가 "리디렉션 게이트웨이" 옵션을 클라이언트로 푸시하는 것 같습니다. 이로 인해 클라이언트는 VPN을 기본 게이트웨이로 사용하게 됩니다. 서버 구성 'push "redirect-gateway def1"' 행을 주석 처리합니다.

와, 방금 수정사항을 봤습니다. 클라이언트는 연결 중인 LAN과 동일한 IP 주소를 사용할 수 없습니다. 그것은 작동하지 않을 것입니다. 한쪽 끝은 다른 IP 주소를 사용해야 합니다.

편집하다:

Windows Server 2003 시스템에서 라우팅이 올바르게 구성되었다고 가정하면(참조한 www.itsatechworld.com 페이지에 따라) VPN을 통해 LAN IP로 Windows Server 2003 시스템과 Windows Vista 시스템을 PING할 수 있습니다. 가능하다면 Windows Server 2003 및 DD-WRT 시스템에서 바로 라우팅이 가능하므로 계속 진행할 수 있습니다. 그렇지 않다면 (1) OpenVPN 터널에서 나오는 PING 트래픽이 대상에 도달하지 못하는 이유 또는 (b) 대상 호스트에서 PING 응답이 돌아오지 않는 이유를 추적해야 합니다. PING 요청이 도착하는지 확인하기 위해 Windows Vista 시스템에 Wireshark와 같은 장치를 설치하게 될 수도 있습니다(PING은 요청이 수신되었는지 응답이 손실되었는지 알 수 없기 때문입니다).

VPN을 통해 IP 연결이 제대로 작동하면. Windows Server 2003 VPN 서버 컴퓨터에 DNS 및 WINS 서비스를 설치하고 해당 시스템을 WINS 및 DNS에 사용하도록 서버 컴퓨터와 Windows Vista 가정용 컴퓨터를 구성하는 것이 좋습니다. ISP의 DNS를 Windows Server 2003 시스템에 "전달"로 추가하거나 인터넷 이름을 확인할 수 있도록 구성된 기본 "루트 힌트"를 그대로 둘 수 있습니다. OpenVPN 서버 구성에서 'push "dhcp-option DNS 192.168.1.1" 줄 바로 뒤에 다음 줄을 추가합니다.

push "dhcp-option WINS 192.168.1.1"

이렇게 하면 원격 클라이언트가 Windows Server 2003 시스템의 WINS 및 DNS 서버로 이동하게 되며 DNS 및 NetBIOS 이름 확인이 모두 가능해집니다.

집에서 Active Directory 도메인을 사용하지 않는 경우 Windows Server 2003 및 Windows Vista 컴퓨터에 등록할 표준 정방향 조회 영역을 Windows Server 2003 DNS 서버에 설정하고 싶을 것입니다. 이 영역을 생성할 때 클라이언트에게 기록을 동적으로 업데이트할 수 있는 권한(비록 안전하지는 않지만)을 부여하고 싶을 것입니다. 클라이언트 컴퓨터가 올바른 DNS 도메인 이름 접미사를 선택할 수 있도록 집에 있는 DHCP 범위에 "DNS 도메인 이름" 옵션(옵션 15)을 추가해야 합니다. (DNS용 DD-WRT를 사용하는 경우 어떻게 해야 하는지 알려드릴 수 없습니다. 저는 OpenWRT 사용자이고 명령줄에서 WRT54G를 관리합니다. Windows Server에서 DHCP를 실행하는 것이 좋습니다. 어쨌든 2003 머신이지만 저는 그 DHCP 서버를 더 좋아합니다.)

Active Directory 도메인을 사용하는 경우 DNS에 정방향 조회 영역이 이미 생성되어 있을 것입니다. 그러나 원격 VPN 클라이언트는 도메인의 구성원이 아니기 때문에 Windows Server가 DNS 영역에 설정한 기본 보안 설정에 따라 DNS에 등록할 수 없습니다(적어도 도중에 영역을 생성하도록 허용한 경우). DCPROMO). 안전하지 않지만 등록을 허용하려면 (a - 덜 안전함) 영역에 대한 권한을 변경하여 안전하지 않은 등록을 허용하거나 (b - 더 안전하지만 여전히 안전하지 않음) A 및 PTR 레코드를 생성하고 누구든지 업데이트할 수 있도록 각 레코드에 대한 권한을 수정하세요.

이것은 홈 네트워킹에 관한 것처럼 들리며 IP 라우팅, VPN, 이름 확인 등 많은 것에 대한 정말 좋은 학습 기회입니다. 아마도 여러분은 학습 기회가 아닌 "그냥 작동"하기를 원할 것입니다. 이 경우 저는 사과드리고 이러한 것들이 아직 "턴키"가 아니라고 말씀드릴 수 있습니다.

답변2

Evan의 의견은 옳습니다. 단, 적어도 콘텐츠 필터링을 수행하는 경우 "redire-gateway"를 활성화하고 모든 인터넷 바인딩 트래픽을 허용하도록 서버를 구성하는 것을 고려해 보시기 바랍니다. 그렇지 않으면 랩탑이 네트워크에 (더욱) 취약해질 것입니다.

분할 터널 VPN은 일반적으로 고려됩니다.불안정한이는 본질적으로 랩톱을 손상시키는 공격자에게 네트워크의 중심에 대한 단락을 제공하기 때문입니다.

답변3

Windows OpenVPN 서버에 라우팅 서비스가 설치되어 있는지 확인하고 싶을 것입니다.

이는 이전에 언급되었지만 LAN 네트워크 주소를 192.168.1.X가 아닌 다른 주소로 변경하는 것이 좋습니다. 대부분의 Linksys 등은 해당 네트워크와 함께 기본으로 제공되므로 원격 호스트가 네트워크 내부의 호스트에 접근할 수 없습니다. 귀하의 VPN 네트워크가 192.168.10.X로 설정되어 있는 것을 확인했습니다. 이는 양호한 것입니다. 이제 LAN을 192.168.5.X와 같은 것으로 설정하십시오. 더 잘 작동할 거예요. 저를 믿으세요.

그러면 리디렉션 게이트웨이를 켤 수 있지만 대역폭을 소모하므로 권장하지 않습니다. 네트워크에 IDS/IPS 장치 등이 있으면 도움이 될 수 있습니다.

나는 동사를 1보다 높게 설정할 것입니다. 무슨 일이 일어나고 있는지 확인하기 위해 4로 유지합니다.

도움이 되었기를 바랍니다!

답변4

이 문제를 심각하게 파헤쳐서 미안하지만 Ubuntu OpenVPN 서버에 연결된 Windows 시스템의 인터넷 액세스를 복원하기 위해 2시간 동안 싸운 끝에 방금 나에게 맞는 방법을 찾았습니다(다른 사람들에게도 도움이 되기를 바랍니다).

[윈도우 8.1 x64 및 우분투 서버 20.04]

  1. Windows 시스템에서 먼저 로 이동하여 Network and Sharing Center기본 NIC(제 경우에는 WiFi USB)를 마우스 오른쪽 버튼으로 클릭한 다음 Properties-> Internet Protocol Version 4-> Properties-> Advanced-> 선택 취소 Automatic metric-> Interface metric10과 같은 작은 숫자로 설정 -> OK-> OK->OK
  2. 이제 물을 마시고 Linux 상자로 이동 -> 터미널에 쓰기 nano /etc/openvpn/server/server.conf-> 이 줄(1000 또는 유사한 숫자) 추가 -> Y를 push "route-metric 1000"사용하여 파일 저장 -> OpenVPN 서버를 다시 시작하면 인터넷에 액세스할 수 있을 것입니다. Windows 컴퓨터에서 다시Ctrl+Xsystemctl restart [email protected]

이제 완전히 작동하는 두 가지 다른 설정이 있습니다.

인터넷 액세스가 가능하고 OpenVPN을 통해 Linux 시스템에 연결된 Windows 시스템 인터넷 액세스가 가능하며 OpenVPN을 통해 Vbox'd Linux 시스템에 연결된 Windows 시스템

관련 정보