OpenVPN을 통해 모든 트래픽 라우팅 21:38:41 2014 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0 Wed May

그렇습니다.이 질문은 백 번 요청되었으며 아무 소용이 없습니다.

제목은 정말 모든 것을 말합니다.

OpenVPN 서버 (ubuntu)가 있으며 클라이언트 (Windows 8)를 통해 서버에 연결할 수 있습니다 …

VPN을 통해 모든 트래픽을 라우팅하려고하면 문제가 시작됩니다.

pushserver.conf에 플래그를 추가했습니다 .

push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"

클라이언트에서 연결하면 클라이언트가 다음을 출력합니다.

Wed May 07 21:38:40 2014 SENT CONTROL [StretchVPN-CA]: 'PUSH_REQUEST' (status=1)
Wed May 07 21:38:41 2014 PUSH: Received control message: 'PUSH_REPLY,redirect-gateway def1,dhcp-option DNS 8.8.8.8,route-gateway <Remote Router IP>,ping 10,ping-restart 120,ifconfig 192.168.0.201 255.255.255.0'
Wed May 07 21:38:41 2014 OPTIONS IMPORT: timers and/or timeouts modified
Wed May 07 21:38:41 2014 OPTIONS IMPORT: --ifconfig/up options modified
Wed May 07 21:38:41 2014 OPTIONS IMPORT: route options modified
Wed May 07 21:38:41 2014 OPTIONS IMPORT: route-related options modified
Wed May 07 21:38:41 2014 OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified
Wed May 07 21:38:41 2014 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Wed May 07 21:38:41 2014 open_tun, tt->ipv6=0
Wed May 07 21:38:41 2014 TAP-WIN32 device [Local Area Connection 4] opened: \\.\Global\{1F145805-92FC-454E-8FD9-0A6017DD4AD1}.tap
Wed May 07 21:38:41 2014 TAP-Windows Driver Version 9.9
Wed May 07 21:38:41 2014 Notified TAP-Windows driver to set a DHCP IP/netmask of 192.168.0.201/255.255.255.0 on interface {1F145805-92FC-454E-8FD9-0A6017DD4AD1} [DHCP-serv: 192.168.0.0, lease-time: 31536000]
Wed May 07 21:38:41 2014 Successful ARP Flush on interface [35] {1F145805-92FC-454E-8FD9-0A6017DD4AD1}
Wed May 07 21:38:46 2014 TEST ROUTES: 1/1 succeeded len=0 ret=1 a=0 u/d=up
Wed May 07 21:38:46 2014 C:\WINDOWS\system32\route.exe ADD <Remote Router IP> MASK 255.255.255.255 172.20.10.1
Wed May 07 21:38:46 2014 ROUTE: CreateIpForwardEntry succeeded with dwForwardMetric1=25 and dwForwardType=4
Wed May 07 21:38:46 2014 Route addition via IPAPI succeeded [adaptive]
Wed May 07 21:38:46 2014 C:\WINDOWS\system32\route.exe ADD 0.0.0.0 MASK 128.0.0.0 192.168.0.3
Wed May 07 21:38:46 2014 ROUTE: CreateIpForwardEntry succeeded with dwForwardMetric1=30 and dwForwardType=4
Wed May 07 21:38:46 2014 Route addition via IPAPI succeeded [adaptive]
Wed May 07 21:38:46 2014 C:\WINDOWS\system32\route.exe ADD 128.0.0.0 MASK 128.0.0.0 192.168.0.3
Wed May 07 21:38:46 2014 ROUTE: CreateIpForwardEntry succeeded with dwForwardMetric1=30 and dwForwardType=4
Wed May 07 21:38:46 2014 Route addition via IPAPI succeeded [adaptive]
Wed May 07 21:38:46 2014 Initialization Sequence Completed

연결을 열 때 클라이언트 측에서 플래그를 사용해 보았습니다.

openvpn --config "C:\Program Files\OpenVPN\config\client.ovpn" --redirect-gateway def1 --route-method exe

그러나 여전히 whatsmyip.org에 갈 때 여전히 내 고객 IP를 말합니다.

누구 든지이 문제가 발생하여 해결할 수 있습니까?

많은 감사



답변

OpenVPN 서버를 사용하여 이것을 테스트했으며 클라이언트 및 서버 구성에서 redirect-gateway def1 옵션을 설정하면 정상적으로 작동합니다. whatismyip.org에 액세스하면 OpenVPN 서버의 IP가 표시됩니다. 아래는 내가 사용하는 클라이언트 구성입니다.

client
dev tun
proto udp
# THE IP OF THE REMOTE OPENVPN SERVER:
remote ip_address port
resolv-retry infinite
nobind
persist-key
persist-tun
# THE CSR FILE:
pkcs12 certificate.p12
ns-cert-type server
cipher AES-256-CBC
comp-lzo
redirect-gateway def1
verb 3

openvpn 명령에 redirect-gateway def1 옵션을 추가하여 테스트했으며 동일한 결과를 얻었습니다. 서버 구성은 다음과 같습니다.

port 1194
proto udp
dev tun

dh /etc/openvpn/easy-rsa/keys/dh1024.pem
ca /etc/openvpn/easy-rsa/keys/ca.crt
# ENSURE THE DOMAIN NAME/FILENAME IS CORRECT:
cert /etc/openvpn/easy-rsa/keys/cert.crt
key /etc/openvpn/easy-rsa/keys/cert.key

server 10.5.3.0  255.255.255.0
# YOUR LOCAL SERVER IP HERE:
client-config-dir ccd
route 10.5.3.0 255.255.255.0
ifconfig-pool-persist ipp.txt
cipher AES-256-CBC
comp-lzo
persist-key
persist-tun

status log/openvpn-status.log 5
status-version 2
log-append log/openvpn.log
verb 3  # verbose mode
management localhost port /etc/openvpn/management-password

# ROUTE THE CLIENT'S INTERNET ACCESS THROUGH THIS SERVER:
push "redirect-gateway def1"
push "remote-gateway vpn_server_ip"
push "dhcp-option DNS 8.8.8.8"
keepalive 10 60


답변

NAT 수정을 잊었습니까? 이 3 가지 명령을 루트로 실행

명령 :

iptables -I FORWARD -i tun0 -o eth0 \
         -s 10.8.0.0/24 -m conntrack --ctstate NEW -j ACCEPT

iptables -I FORWARD -m conntrack --ctstate RELATED,ESTABLISHED \
         -j ACCEPT

iptables -t nat -I POSTROUTING -o eth0 \
          -s 10.8.0.0/24 -j MASQUERADE

표제:

  • tun0 : 가상 VPN 네트워크 카드
  • eth0 : 일반적인 네트워크 카드
  • 10.8.0.0 : VPN 네트워크 IP 블록

답변

답을 열심히 찾은 후에 나는 부분적 으로이 문제를 해결했지만 적어도 매우 간단하게 해결 한 것 같습니다.

주 소스에서 Xubuntu 14.04 및 OpenVPN 패키지를 사용합니다. 에서 설정> 시스템> 네트워크 , 나는 사전 설치된 DNS 주소 대신 127.0.1.1구글의과를 8.8.8.8, 그리고 지금은 VPN 서버를 통과하는 모든 트래픽을 볼 수 있습니다.

Wireshark의 테이블에는 DNS와 같은 문자열이 없습니다. 모든 데이터는 암호화 된 채널을 통해 TCP와 같습니다. tun0(노트북의 내부)를 볼 때 DHCP 및 DNS 트래픽을 볼 수 있습니다 . wlan0트래픽 (노트북과 WiFi 라우터 사이의 외부)을 탐색 할 때 회색 TCP 패키지 만 얻습니다.

DNS 쿼리가 문자 대 숫자 디코딩에 필요하지 않고 일반적인 데이터 패키지와 같은 공통 스트림으로 진행되기 때문에 이것이 일어나고 있다고 생각합니다.

나는 당신의 고려 사항을 알고 기뻐할 것입니다, 내가 완전히 틀렸다면 놀라지 않을 것입니다


답변

서버 구성 파일에 다음 지시문을 추가하십시오.

push "redirect-gateway def1"

VPN 설정이 무선 네트워크를 통해 모든 클라이언트와 서버가 동일한 무선 서브넷에있는 경우 로컬 플래그를 추가하십시오.

push "redirect-gateway local def1"

redirect-gateway 옵션을 클라이언트로 푸시하면 클라이언트 컴퓨터에서 발생하는 모든 IP 네트워크 트래픽이 OpenVPN 서버를 통과하게됩니다. 인터넷에 NAT를 연결하거나 서버 사이트의 HTTP 프록시를 통해 라우팅하는 등의 방법으로이 트래픽을 처리하도록 서버를 구성해야합니다.

Linux에서는 다음과 같은 명령을 사용하여 인터넷에 VPN 클라이언트 트래픽을 NAT 할 수 있습니다.

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

이 명령은 VPN 서브넷이 10.8.0.0/24(OpenVPN 서버 구성의 서버 지시문에서 가져옴)이고 로컬 이더넷 인터페이스가 eth0이라고 가정합니다.

리디렉션 게이트웨이를 사용하면 OpenVPN 클라이언트는 VPN 쿼리를 VPN을 통해 라우팅하므로 VPN 서버는이를 처리해야합니다. 이는 VPN 서버 주소를 연결 클라이언트로 푸시하여 VPN이 활성화되어있는 동안 정상적인 DNS 서버 설정을 대체합니다. 예를 들면 다음과 같습니다.

push "dhcp-option DNS 10.8.0.1"

10.8.0.1을 DNS 서버로 사용하도록 Windows 클라이언트 (또는 추가 클라이언트 측 스크립팅이있는 비 Windows 클라이언트)를 구성합니다. 클라이언트에서 도달 할 수있는 모든 주소는 DNS 서버 주소로 사용될 수 있습니다.


답변

OpenVPN 클라이언트가 Windows 10 (또는 이와 유사한)에있는 경우 NIC의 바인딩 순서에주의해야 할 또 다른 문제가 있습니다. LAN 또는 Wifi 어댑터의 기존 DNS 서버 설정이 터널 인터페이스의 DNS 서버 설정보다 우선 할 수 있으므로 모든 것이 OpenVPN 관점에서 완전히 설정되어 있어도 Windows는 원래 DNS 서버를 계속 사용합니다.

이 Microsoft 포럼 게시물에 설명 된대로이 문제를 해결할 수 있습니다.

https://social.technet.microsoft.com/Forums/windowsserver/en-US/1cc5b647-6e51-482b-8998-ac5c3900938c/how-to-force-vpn-clients-to-use-the-dnsserver-from- 그들의 vpn-adapter-not-the-dnsserver-from-their? forum = winserverNIS


답변

동일한 문제에 직면하여 Open VPN에 PiVPN 설정 스크립트를 사용할 때 서버 구성에 다음 줄이 포함되어 있습니다.

“redirect-gateway def1 bypass-dhcp”푸시

이미. IOS 클라이언트에서 모든 것은 터널을 통해 자동으로 라우팅됩니다 (로그가 말하는 것).

Tunnelblick 클라이언트에서는 client.ovpn에 다음 줄을 추가해야합니다.

리디렉션 게이트웨이 def1 바이 패스 -dhcp

완벽하게 작동합니다. 적어도 내 Mac에서는 그랬습니다.


답변