Como imitar o local da VPN escrava para a VPN principal?

1

Gostaria de imitar a localização da minha VPN principal pela segunda VPN ("escravo"). Minha internet móvel e meus dados vêm da Finlândia porque são baratos. Preciso me conectar ao servidor VPN da minha escola na Suécia. Minha escola só permite conexões com o servidor da Suécia com senha + nome de usuário (sem certificados). Eles têm um firewall que bloqueia conexões vindas de fora da Suécia.

  1. A Internet é obtida com uma conexão móvel da Telia-Sonera da Finlândia.
  2. A primeira conexão VPN permite o acesso a materiais institucionais ... mas exige IP local na Suécia. Dou a eles meu nome de usuário + senha, mas eles têm segurança extra com o IP local.
  3. A segunda VPN ("Escrava") é necessária para alterar o IP local da Finlândia para a Suécia, mas os provedores de VPN atuais fornecem apenas ppp0, nenhum IP dinâmico e nenhum tunelamento dividido.
    • (2-3) múltiplos porque existem várias instituições

Eu me conecto ao servidor VPN NordVPN sueco. No entanto, a conexão agora ao servidor VPN da escola não tem êxito e a conexão é rejeitada. As respostas do NordVPN sobre ter várias conexões VPN ao mesmo tempo, o que não acredito, porque acho que eles estão falando sobre o aplicativo NordVPN e porque sua proficiência técnica no atendimento ao cliente foi baixa

Infelizmente, não é possível ter várias conexões VPN ativas no mesmo computador ao mesmo tempo. - - Não, você não pode alterar os detalhes da sub-rede atribuídos a você. - - O NordVPN roteia todo o tráfego da Internet por meio da VPN, portanto, a única opção para duas conexões VPN é configurar uma conexão VPN em uma máquina virtual. - - Não, não suportamos tunelamento dividido.

mas estou pronto para alterar meu provedor de VPN, se necessário para a tarefa. Não tenho certeza se você pode fazer um túnel dividido. Com base nas perguntas frequentes sobre threads no OpenVPN , é possível ter várias conexões VPN ativas ao mesmo tempo

Verifique se cada adaptador TUN / TAP possui uma sub-rede exclusiva, sem sobreposição, usando servidor, ponte de servidor ou ifconfig.

Tentativas malsucedidas de obter acesso ao tunelamento dividido

  1. VPN - Tor (NordVPN Tor Suécia). Proposta de Daniel. Isso não funciona; A conexão uni é rejeitada.
  2. ...

Sistema

  1. Minha conexão NordVPN funciona com o aplicativo NordVPN encontrado em algum lugar no servidor da web NordVPN .
  2. Minha conexão VPN à minha escola não funciona com minha conexão NordVPN devido ao firewall e ao problema de ter duas conexões VPN com a "GUI da VPN de mercado de massa".

Configuração do OS X

Preferências do Sistema OS X > Rede> (+)> VPN> Tipo VPN PPTP para conectar-se ao servidor da escola.

  • Configuração: Padrão
  • Endereço do servidor: lorem.sweden.sv% ou Estônia, Letônia, Noruega; apenas algum país que não seja a Finlândia
  • Nome da conta: meu ID de usuário
  • Criptografia: Automática (128 bits ou 40 bits)

Ao conectar apenas à VPN da minha universidade na Suécia, as coisas funcionam

insira a descrição da imagem aqui

Se minha rede local não estiver na Suécia, a conexão não será aceita. Eu devo levar outra conexão VPN para a Suécia com o NordVPN. No entanto, não consigo manter duas conexões VPN ativas com dois programas VPN separados: OSX VPN GUI + NordVPN "mass market VPN GUI".

Meu exemplo ifconfig(não se preocupe se os endereços IP suecos forem Estônia / Letão / Norueguês /.../ eles são apenas diferentes da Finlândia, o que é aceitável)

lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    options=3<RXCSUM,TXCSUM>
    inet6 ::1 prefixlen 128 
    inet 127.0.0.1 netmask 0xff000000 
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
    nd6 options=1<PERFORMNUD>
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether b8:e8:56:07:a7:68 
    inet6 fe80::bae8:56ff:fe07:a768%en0 prefixlen 64 scopeid 0x4 
    inet 192.168.1.144 netmask 0xffffff00 broadcast 192.168.1.255
    nd6 options=1<PERFORMNUD>
    media: autoselect
    status: active
en1: flags=963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX> mtu 1500
    options=60<TSO4,TSO6>
    ether 32:00:1f:d8:20:00 
    media: autoselect <full-duplex>
    status: inactive
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
    ether 0a:e8:56:07:a7:68 
    media: autoselect
    status: inactive
awdl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1484
    ether de:1b:d1:61:05:9e 
    inet6 fe80::dc1b:d1ff:fe61:59e%awdl0 prefixlen 64 scopeid 0x7 
    nd6 options=1<PERFORMNUD>
    media: autoselect
    status: active
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=63<RXCSUM,TXCSUM,TSO4,TSO6>
    ether ba:e8:56:70:12:00 
    Configuration:
        id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
        maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
        root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
        ipfilter disabled flags 0x2
    member: en1 flags=3<LEARNING,DISCOVER>
            ifmaxaddr 0 port 5 priority 0 path cost 0
    nd6 options=1<PERFORMNUD>
    media: <unknown type>
    status: inactive
ppp0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1444
    inet6 fe80::bae8:56ff:fe07:a768%ppp0 prefixlen 64 scopeid 0x9 
    inet 10.250.250.88 --> 10.250.250.1 netmask 0xff000000 
    nd6 options=1<PERFORMNUD>

OS X El-Capitan Tunnelblick para ambas as conexões VPN?

Aqui está o arquivo de demonstração do Tunnelblick config.ovpnsem nenhuma alteração; que você instala, basta arrastar e soltar na barra de menus da GUI do Tunnelblick

##############################################
# Sample client-side OpenVPN 2.0 config file #
# for connecting to multi-client server.     #
#                                            #
# This configuration can be used by multiple #
# clients, however each client should have   #
# its own cert and key files.                #
#                                            #
# On Windows, you might want to rename this  #
# file so it has a .ovpn extension           #
##############################################

# Specify that we are a client and that we
# will be pulling certain config file directives
# from the server.
client

# Use the same setting as you are using on
# the server.
# On most systems, the VPN will not function
# unless you partially or fully disable
# the firewall for the TUN/TAP interface.
;dev tap
dev tun

# Windows needs the TAP-Win32 adapter name
# from the Network Connections panel
# if you have more than one.  On XP SP2,
# you may need to disable the firewall
# for the TAP adapter.
;dev-node MyTap

# Are we connecting to a TCP or
# UDP server?  Use the same setting as
# on the server.
;proto tcp
proto udp

# The hostname/IP and port of the server.
# You can have multiple remote entries
# to load balance between the servers.
remote my-server-1 1194
;remote my-server-2 1194

# Choose a random host from the remote
# list for load-balancing.  Otherwise
# try hosts in the order specified.
;remote-random

# Keep trying indefinitely to resolve the
# host name of the OpenVPN server.  Very useful
# on machines which are not permanently connected
# to the internet such as laptops.
resolv-retry infinite

# Most clients don't need to bind to
# a specific local port number.
nobind

# Downgrade privileges after initialization (non-Windows only)
;user nobody
;group nobody

# Try to preserve some state across restarts.
persist-key
persist-tun

# If you are connecting through an
# HTTP proxy to reach the actual OpenVPN
# server, put the proxy server/IP and
# port number here.  See the man page
# if your proxy server requires
# authentication.
;http-proxy-retry # retry on connection failures
;http-proxy [proxy server] [proxy port #]

# Wireless networks often produce a lot
# of duplicate packets.  Set this flag
# to silence duplicate packet warnings.
;mute-replay-warnings

# SSL/TLS parms.
# See the server config file for more
# description.  It's best to use
# a separate .crt/.key file pair
# for each client.  A single ca
# file can be used for all clients.
ca ca.crt
cert client.crt
key client.key

# Verify server certificate by checking
# that the certicate has the nsCertType
# field set to "server".  This is an
# important precaution to protect against
# a potential attack discussed here:
#  http://openvpn.net/howto.html#mitm
#
# To use this feature, you will need to generate
# your server certificates with the nsCertType
# field set to "server".  The build-key-server
# script in the easy-rsa folder will do this.
;ns-cert-type server

# If a tls-auth key is used on the server
# then every client must also have the key.
;tls-auth ta.key 1

# Select a cryptographic cipher.
# If the cipher option is used on the server
# then you must also specify it here.
;cipher x

# Enable compression on the VPN link.
# Don't enable this unless it is also
# enabled in the server config file.
comp-lzo

# Set log file verbosity.
verb 3

# Silence repeating messages
;mute 20

Abordagem unix-way

A abordagem da maneira Unix é discutida aqui sobre o tópico em Como fazer o tunelamento dividido com o escravo ppp0 VPN + 2ª VPN?


Como imitar o local da VPN escrava para a VPN principal?

Léo Léopold Hertz 준영
fonte

Respostas:

1

Após alguns testes extensivos, a única solução que consegui trabalhar é uma configuração de VM.

  1. Configure o cliente NordVPN GUI ou Tunnelblick e conecte-se ao servidor VPN sueco (de preferência com uma conexão openvpn). Geralmente, os provedores de VPN usam um firewall NAT - o que significa que você está primeiro conectado a uma rede interna. Você pode obter a rede com ifconfig. No exemplo acima, é uma rede 10.0.0.0/8 (10.250.250.88 -> 10.250.250.1 netmask 0xff000000). Verifique se todo o tráfego de rede é enviado ao provedor de VPN.
  2. Baixe e instale um hipervisor tipo 2 como o VirtualBox ou o Parallels Desktop
  3. Configure a rede NAT do hipervisor com configurações de rede diferentes da rede interna do provedor VPN, sua própria rede e a rede da sua escola.

    Exemplos:

    Paralelos:

    Trabalho em paralelo compartilhado

    VirtualBox:

    Novidades do VirtualBox Shared

    As redes possíveis podem ser redes privadas em 172.16.0.0/12 (por exemplo, 172.18.8.0/24)

  4. Crie um novo casco de VM e conecte-o a esta rede NAT.
  5. Instale um sistema operacional familiar (por exemplo, OS X 10.9-10.11) nesta VM
  6. Configure uma conexão VPN na VM para o servidor VPN da sua escola na Suécia na VPN em System Preferences -> Network, encerre a VM e saia do hypervisor.
  7. Conecte-se ao NordVPN no sistema operacional não virtualizado
  8. Inicie a VM
  9. Conecte-se ao servidor VPN da escola no sistema operacional virtualizado

testado com uma VM Parallels (OS X 10.11) e um servidor VPN privado (Cisco IPSec) e um iMac (OS X 10.9) e VyprVPN (OpenVPN)

Klanomath
fonte
Existe alguma possibilidade de fazer isso com o cliente / sistema operacional do servidor sem a GUI. A interface gráfica do usuário do VB / Paralle diminui bastante o sistema.
Léo Léopold Hertz #
@ Masi eu não entendo sua pergunta. cliente / sistema operacional do servidor?
Klanomath
O VB, por exemplo, possui interface gráfica pesada (ambiente visual). Eu gostaria de ter a solução sem ônus extra no consumo de energia.
Léo Léopold Hertz #
@Masi Geralmente, o espaço da memória / CPU do próprio hipervisor é muito baixo comparado à VM (por exemplo, 1:10 (RAM) e, respectivamente, 1: 100 (CPU)). Como a VM - como o ambiente de trabalho final - precisa ter uma janela, não é possível iniciá-la sem cabeça.
Klanomath
Você entende por que a VM é a única solução aqui? Seria ótimo entender isso melhor e ter 100% de certeza de que é a única solução.
Léo Léopold Hertz #