VPN 클라이언트가 인터넷에 액세스할 수 없습니다

VPN 클라이언트가 인터넷에 액세스할 수 없습니다

최근 VPN 서버 구성 과정에서 제가 겪은 문제 중 하나는 VPN 서버를 통해 인터넷에 연결할 수 없다는 것이었습니다. 실제로 저는 VPS(Debian 8)를 사용하고 거기에 VPN이 설치되어 있습니다. 클라이언트가 잘 연결됩니다. Traceroute 명령을 사용하여 트래픽이 중지되는 위치를 감지했는데 VPN 서버에서 트래픽이 중지된 것 같습니다. 나는 이것을 처리하는 방법을 정말로 모른다. 누구든지 도와주세요 :) 이것은 내 서버 구성과 클라이언트 구성입니다. 예, 제 클라이언트는 Windows 7 및 10입니다.

서버 구성.

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key  # This file should be kept secret
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3

클라이언트 구성. 참고: 서버의 IP는 숨겨져 있습니다.

client
dev tun
proto udp
remote 107.155.1x4.1x2 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca "C:\\OVPN\\ca.crt"
cert "C:\\OVPN\\client1.crt"
key "C:\\OVPN\\client1.key"
ns-cert-type server
comp-lzo
verb 3

클라이언트에서 Google의 DNS 서버 8.8.8.8을 테스트해 보았지만 여전히 작동하지 않습니다. 문제는 인터넷에서 벗어나는 서버 측의 일부 인터페이스에 있는 것 같습니다. 그러니 제안이 있으신 분은 도움이 되는 제안을 해주시기 바랍니다.

"다음 명령의 출력을 추가하십시오: sysctl net.ipv4.ip_forward, iptables-save, ip Route show. 클라이언트에서는 다음과 같을 수 있습니다: Route print. -rda"

1)의 출력은 sysctl net.ipv4.ip_forward다음과 같습니다.

net.ipv4.ip_forward = 1

2)의 출력은 ip route show다음과 같습니다

10.8.0.2 dev tun0 proto kernel scope link src 10.8.0.1
10.8.0.0/24 via 10.8.02 dev tun0
default dev venet0 scope link

3) 출력은 다음 iptables-save과 같습니다

*mangle
:PREROUTING ACCEPT [241673:29858781]
:INPUT ACCEPT [232866:29385621]
:FORWARD ACCEPT [8803:472884]
:OUTPUT ACCEPT [250884:4018010]
:POSTROUTING ACCEPT [259688:40653794]
COMMIT
*filter
:INPUT ACCEPT [232866:29385621]
:FORWARD ACCEPT [8804:472884]
:OUTUPUT ACCEPT [250884:40180910]
COMMIT
*nat
:PREROUTING ACCEPT [20668:1262348]
:POSTROUTING ACCEPT [14826:1006759]
:OUTPUT ACCEPT [10970:791257]
COMMIT
*raw
:PREROUTING ACCEPT [241673:29858781]
:OUTPUT ACCEPT [250884:40180910]
COMMIT

6월 11일

문제가 라우팅 테이블에 있다고 믿고 - 명령을 실행했는데 netstat -nr놀랍게도 라우팅 테이블에 VPN용으로만 할당된 이상한 IP 주소가 있다는 것을 발견했습니다. **

여기를 살펴보세요:

커널 IP 라우팅 테이블(참고: 라우팅 테이블 매개변수는 다음과 같습니다(!). 예: 라우팅 테이블의 IP는 첫 번째 열의 첫 번째 매개변수를 모두 사용합니다. 마지막 세 매개변수는 MSS Window irtt라우팅 테이블의 모든 값에 대해 동일합니다 . .

Destination face 10.8.0.2 un0 10.8.0.0 un0 0.0.0.0 enet0 

Gateway face 0.0.0.0 un0 10.8.0.2 un0 0.0.0.0 enet0 

Genmask face 255.255.255.255 un0 255.255.255.0 un0 0.0.0.0 enet0 

Flags face UH un0 UG un0 U enet0 

MSS Window irtt face 0 0 0 un0 0 0 0 un0 0 0 0 enet0

6월 15일

안녕, 친구! 답장을 보내주셔서 다시 한번 감사드립니다!

출력은 ip route show다음과 같습니다

10.8.0.2 dev tun0 proto kernel scope link src 10.8.0.1 10.8.0.0/24 via 
10.8.0.2 dev tun0 default dev venet0 scope link 

VPS에서 다음 명령의 출력은 ip route get 8.8.8.8다음과 같습니다(참고: IP 주소는 숨겨져 있습니다).

8.8.8.8 dev venet0 src 107.155.1x4.1x2 
    cache mtu 1500 advmss 1460 hoplimit 64

클라이언트 측에서 - 이 명령을 사용했습니다 route print- IP 주소를 많이 얻었지만 이 문제를 해결하기 위해 가장 중요한 것이 무엇인지 모르겠습니다...

다음 단계는 무엇입니까?

도움을 주셔서 다시 한번 진심으로 감사드립니다.

6월 15일 업데이트됨

route print다음은 Windows 클라이언트의 명령 출력입니다.

IPv4 Route Table
===========================================================================
Active routes:
Network address        Subnet mask        Gateway          Interface   Metric
          0.0.0.0          0.0.0.0     192.168.88.1   192.168.88.208     20
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306
     192.168.50.0    255.255.255.0         On-link      192.168.50.1    276
     192.168.50.1  255.255.255.255         On-link      192.168.50.1    276
   192.168.50.255  255.255.255.255         On-link      192.168.50.1    276
     192.168.56.0    255.255.255.0         On-link      192.168.56.1    266
     192.168.56.1  255.255.255.255         On-link      192.168.56.1    266
   192.168.56.255  255.255.255.255         On-link      192.168.56.1    266
     192.168.88.0    255.255.255.0         On-link    192.168.88.208    276
   192.168.88.208  255.255.255.255         On-link    192.168.88.208    276
   192.168.88.255  255.255.255.255         On-link    192.168.88.208    276
    192.168.100.0    255.255.255.0         On-link     192.168.100.1    276
    192.168.100.1  255.255.255.255         On-link     192.168.100.1    276
  192.168.100.255  255.255.255.255         On-link     192.168.100.1    276
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link    192.168.88.208    276
        224.0.0.0        240.0.0.0         On-link     192.168.100.1    276
        224.0.0.0        240.0.0.0         On-link      192.168.50.1    276
        224.0.0.0        240.0.0.0         On-link      192.168.56.1    266
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  255.255.255.255  255.255.255.255         On-link    192.168.88.208    276
  255.255.255.255  255.255.255.255         On-link     192.168.100.1    276
  255.255.255.255  255.255.255.255         On-link      192.168.50.1    276
  255.255.255.255  255.255.255.255         On-link      192.168.56.1    266
===========================================================================
Permanent routes:

6월 17일 업데이트됨

안녕하세요, 해당 명령을 사용하여 서버에서 NAT를 활성화하려고 시도했지만 불행히도 다시 작동하지 않았습니다. 의 출력은 ip route show이전과 동일합니다.

10.8.0.2 dev tun0 proto kernel scope link src 10.8.0.1
10.8.0.0/24 via 10.8.0.2 dev tun0
default dev venet0 scope link

당신이 나에게 준 명령은 원활하게 실행되었지만 아무런 결과도 얻지 못했습니다. 따라서 새 IP 경로가 출력에 나타나지 않습니다! 마스크를 /16에서 /24로 변경하는 등 다양한 방법으로 동일한 경로를 추가해 보았지만 여전히 결과가 없습니다.

오직중요한나를 궁금하게 만드는 것은 클라이언트 측에서 OVPN Gui를 실행했는데 인터넷이 작동하지 않는다는 것을 알고 있으며 처음부터 내 Facebook 페이지가 로드되기 시작하지만 Google과 같은 다른 페이지가 표시된다는 것입니다. com이나 linkedin.com 또는 기타 웹사이트는 열리지 않습니다...

내 VPS 제공업체에 대해 FAQ 페이지에서 다음과 같이 말합니다.

**22
    Do you support TUN/TAP? IPSEC?

    Yes, TUN/TAP and IPSEC are enabled on all VPS by default.**


**2
What kind of virtualization is offered/used?

We utilize OpenVZ on our infrastructure. If you require KVM virtualization we recommend SpeedyKVM.**

이 문제는 무엇입니까? 이 문제를 어떻게 극복합니까?

다시 한번 감사드립니다!

답변1

서버에서 NAT를 활성화해야 합니다.

고정 IP 주소용 SNAT:

iptables -t nat -A POSTROUTING -s 10.8.0.0/16 -o <if> -j SNAT --to <ip>

또는 동적으로 할당된 IP 주소가 있는 경우 다음을 사용합니다 MASQUERADE(느리게).

iptables -t nat -A POSTROUTING -s 10.8.0.0/16 -o <if> -j MASQUERADE

하지만

  • <if>외부 인터페이스의 이름입니다(예 venet0: ).
  • <ip>외부 인터페이스의 IP 주소입니다.

관련 정보