Não é possível fazer o SSH no servidor com conexão VPN

12

Isso está bastante bagunçado, eu sei. Deixe-me explicar tudo.

Eu tenho um DNS dinâmico definido no meu roteador. Eu verifiquei que, após o encaminhamento da porta, posso conectar-me ao aplicativo desejado (se eu executar algo na porta 1337 e encaminhar a porta para a máquina apropriada, posso conectar a ela de fora sem problemas).

Agora, se eu conectar o meu Macbook à VPN e executar algo como descrito acima, ele funcionará conforme o esperado. MAS , se eu conectar minha máquina executando o Ubuntu Server 16.04 à VPN e executar algo ou quiser conectar-se por ssh, ela falhará. Encaminhei a porta que estou usando para conexão SSH no roteador. Eu também tentei hospedar um servidor web, que também falhou.

O que posso fazer sobre esse problema? Isso não faz sentido para mim.

Sobre a máquina Ubuntu Server: é uma instalação limpa, com o cliente openvpn e o servidor ssh configurados, sem firewall em execução, iptables não editadas, conectadas ao roteador via ethernet.

EDIT: Aqui estão as tabelas de roteamento: http://pastebin.com/ay6fpLcL

Krzysztof Kraszewski
fonte
Quais são as diferenças nas tabelas de roteamento com e sem a VPN (somente para IPv4, ip -4 rno ubuntu, netstat -f inet -rnno mac)?
user4556274
@ user4556274 aqui estão as tabelas: pastebin.com/ay6fpLcL
Krzysztof Kraszewski:

Respostas:

9

OK, consegui encontrar uma solução.

Usando openvpnpacote sem invólucros:

Adicione essas duas linhas ao seu .ovpnarquivo (ou .confse você estiver se conectando automaticamente):

script-security 2
up /etc/openvpn/up.sh

Em seguida, crie /etc/openvpn/up.shcom permissões executáveis ​​(755/700):

#!/bin/sh
ip rule add from <your-server-ip> table 128
ip route add table 128 to <your-server-subnet> dev <your-interface>
ip route add table 128 default via <server-gateway>

Por exemplo, aqui está minha configuração:

#!/bin/sh
ip rule add from 192.168.1.26 table 128
ip route add table 128 to 192.168.1.0/24 dev eno1
ip route add table 128 default via 192.168.1.1

Usando um cliente VPN diferente / configuração diferente:

Não posso prever as etapas necessárias, mas geralmente você precisa executar o up.shscript (acima) sempre que sua conexão VPN for estabelecida.

Espero que ajude alguém com o mesmo problema. Felicidades!

Krzysztof Kraszewski
fonte
Eu uso o NordVPN no ubuntu 18.04. Usar o openvpn precedido por este script funciona bem. No entanto, o uso do binário nordvpn para se conectar falha com o acima.
ma3oun