Eu tenho um servidor virtual privado, que gostaria de executar um servidor Web enquanto meu servidor está conectado a um serviço VPN
Quando a conexão VPN com meu provedor não está ativa, eu posso fazer o que eu quiser com este servidor, ssh, scp, http etc.
Depois que o openvpn estiver em execução e conectado ao serviço VPN do provedor, o servidor não estará acessível de forma alguma e, é claro, por uma boa razão
A imagem é mais ou menos assim:
My VPS ------------
+----------------+ / \
| | / Internet / 101.11.12.13
| 50.1.2.3|-----------------\ cloud /----<--- me@myhome
| | / \
| 10.80.70.60| / \
+----------------+ \ \
: \_____________/
: :
: :
: :
: :
+------------------+ :
| 10.80.70.61 | :
| \ | :
| \ | :
| 175.41.42.43:1197|..............:
| 175.41.42.43:yy|
| ..... |
| 175.41.42.43:xx|
+------------------+
Legend
------ Line No VPN connection present
...... Line VPN connection established
Coisas a esclarecer:
- Todos os endereços IP e números de porta acima e abaixo são fictícios
- As linhas com números de porta xx, yy e qualquer outra coisa entre elas são minha suposição, não algo que eu saiba de fato.
- Eu configurei uma tarefa cron que é executada a cada minuto emite outro VPS meu, executando o apache2 Nos logs do apache2, posso ver o endereço IP de origem mudando de 50.1.2.3 para 175.41.42.43, quando a VPN está ativa, então a VPN está funcionando bem
Os logs do OpenVPN mostram estes:
UDPv4 link remote: [AF_INET]175.41.42.43:1197
[ProviderName] Peer Connection Initiated with [AF_INET]175.41.42.43:1197
TUN/TAP device tun0 opened
do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
sbin/ip link set dev tun0 up mtu 1500
/sbin/ip addr add dev tun0 local 10.80.70.60 peer 10.80.70.61
Neste ponto, eu gostaria de poder ssh de myhome
para My VPS
na imagem, enquanto a VPN estiver ativa e usando PuTTY.
No passado, em um dos meus locais de trabalho, recebi uma sequência muito estranha de ssh em um servidor extremamente seguro que tinha três @
sinais na string. Então, ele estava pulando de caixa em caixa como eu imagino, mas como as caixas de salto estavam executando alguma versão do sistema operacional Windows e um aplicativo proprietário nelas, não havia visibilidade para eu ver o que estava acontecendo nos bastidores. Então eu não prestei muita atenção. Agora estou começando a perceber que posso estar na mesma situação ou em uma situação semelhante.
Usando os endereços IP e as portas no diagrama e / ou no snippet de log, alguém pode me dizer como posso atravessar esse túnel e acessar meu servidor?
fonte
Pode ser um pouco tarde, mas ...
O problema é que o gateway padrão é alterado pelo OpenVPN e interrompe sua conexão SSH atual, a menos que você configure rotas apropriadas antes de iniciar o OpenVPN.
O que segue funciona para mim. Ele usa iptables e ip (iproute2). Abaixo, supõe-se que a interface de gateway padrão antes do OpenVPN ser iniciado seja "eth0". A idéia é garantir que quando uma conexão com eth0 for estabelecida, mesmo que eth0 não seja mais a interface de gateway padrão, os pacotes de resposta para a conexão retornem novamente a eth0.
Você pode usar o mesmo número para a marca de conexão, marca de firewall e tabela de roteamento. Usei números distintos para tornar as diferenças entre eles mais aparentes.
===
ATUALIZAR:
O acima funciona bem para mim no Debian Jessie. Mas, em um sistema Wheezy antigo, acabei de descobrir que preciso adicionar "via" à entrada da tabela de roteamento:
"12.345.67.89" deve ser o gateway não VPN original.
fonte