Você precisa adicionar o roteamento ao seu servidor para que os pacotes ssh sejam roteados pelo ip público do servidor e não pela vpn. Não fazer isso significa que o pacote de retorno ssh é roteado via openvpn. É por isso que você fica bloqueado no servidor depois de ter iniciado uma sessão do cliente openvpn.
Vamos supor que o seu servidor:
- O IP público é
a.b.c.d
- A sub-rede IP pública é
a.b.c.0/24
- O gateway padrão é
x.x.x.1
-
eth0
é dispositivo para gateway
iproute2
é seu amigo aqui. Faça o seguinte:
ip rule add table 128 from a.b.c.d
ip route add table 128 to a.b.c.0/24 dev eth0
ip route add table 128 default via x.x.x.1
Do route -n
para confirmar a exibição da nova tabela de roteamento.
Os comandos acima não persistirão se você reiniciar o servidor. Você precisará adicioná-los ao seu arquivo de configuração da interface de rede.
Em seguida, execute sua configuração do cliente openvpn
openvpn --config youropenvpn-configfile.ovpn &
Bônus adicionado
Além disso, se desejar restringir o tráfego ao seu IP público para ssh e somente ssh, será necessário adicionar a filtragem iptables
da seguinte forma:
iptables -A INPUT -d a.b.c.d -p tcp --dport <*ssh port number*> -j ACCEPT
iptables -A INPUT -d a.b.c.d -j DROP
ps: Eu me lembro primeiro de aprender sobre isso no fórum do Linode - google e você deve encontrar um post sobre isso.