O servidor SSH também executa o cliente OpenVPN - o SSH de entrada expira

1

Eu tenho um servidor remoto usando Debian. Por acaso, eu uso o SSH em uma porta não padrão devido à porta de bloqueio do ISP 22. Não tenho problemas para conectar ao SSHd de fora da minha rede com o cliente OpenVPN não sendo executado no servidor. No segundo em que inicio o cliente OpenVPN, recebo o seguinte:

$ ssh -v -p 922 domain.dyndns.org
OpenSSH_6.7p1 Debian-5+deb8u3, OpenSSL 1.0.1t  3 May 2016
debug1: Reading configuration data /home/user/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to domain.dyndns.org [1.2.3.4] port 922
debug1: connect to address 1.2.3.4 port 922: Connection timed out
ssh: connect to host domain.dyndns.org port 922: Connection timed out

Eu tenho um endereço IP dinâmico, mas o servidor está atrás de um roteador, então não consigo ligar o sshd ao endereço público. Mesmo que pudesse, não estou convencido de que os pacotes não se perderiam no tun0.

Nas minhas viagens pela Internet para tentar resolver esse problema, encontrei o seguinte script.

#!/bin/bash
grep -q fix_ssh /etc/init.d/openvpn || sed -i.backup -e '/start_vpn ()/ i fix_ssh () {\
ip rule add fwmark 65 table novpn\
ip route add default via 192.168.0.1 dev eth0 table novpn\
ip route flush cache\
iptables -t mangle -A OUTPUT -p tcp --sport 922 -j MARK --set-mark 65\
iptables -A INPUT -i tun0 -p tcp -m tcp --dport 922 -j DROP\
}\
undo_fix_ssh () {\
iptables -D INPUT -i tun0 -p tcp -m tcp --dport 922 -j DROP\
iptables -t mangle -D OUTPUT -p tcp --sport 922 -j MARK --set-mark 65\
ip route del default via 192.168.0.1 dev eth0 table novpn\
ip rule del fwmark 65 table novpn\
ip route flush cache\
}'\
   -e 's/start_vpn$/& \&\& fix_ssh/' \
   -e 's/stop_vpn$/& \&\& undo_fix_ssh/' \
/etc/init.d/openvpn

Eu tentei executá-lo sem sucesso. Comparando com outras respostas que encontrei, não sei ao certo onde está o problema com essa solução e fiquei sem ideias para solução de problemas.

Não sei bem qual é a melhor abordagem para o problema. O serviço OpenVPN é um serviço comercial que não controlo.

Editar: Meu objetivo é ser capaz de SSH no SSH servir enquanto está em execução e conectado ao servidor OpenVPN. Eu quero que todo o outro tráfego passe pela VPN. Eventualmente, eu quero usar o SSHFS para poder visualizar arquivos no servidor SSH e, em seguida, redirecionamento de portas para que minhas milhas de distância possam compartilhar a mesma conexão VPN.

------------ ---------------- |My Server |--->OpenVPN>---|Commercial VPN |-->Internet>--Web ------------ Over internet | Server | | ----------------- /|\ SSH Over Internet /|\ ---------- | Laptop | ----------

Editar 2: Não, o laptop está em um local diferente do servidor SSHd. Imagem editada novamente para maior clareza.

Editar 3: Existe um roteador envolvido. O servidor está atrás de um roteador. tun0 é a conexão do OpenVPN.

$ sudo /sbin/iptables-save # Generated by iptables-save v1.4.14 on Mon Dec 26 13:03:22 2016 *mangle :PREROUTING ACCEPT [11077726:5767595109] :INPUT ACCEPT [9445198:5734927839] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [10132207:7571233156] :POSTROUTING ACCEPT [10132784:7571256515] -A OUTPUT -p tcp -m tcp --sport 922 -j MARK --set-xmark 0x41/0xffffffff COMMIT # Completed on Mon Dec 26 13:03:23 2016 # Generated by iptables-save v1.4.14 on Mon Dec 26 13:03:23 2016 *filter :INPUT ACCEPT [9445173:5734925686] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [10132201:7571259291] -A INPUT -i tun0 -p tcp -m tcp --dport 922 -j DROP COMMIT # Completed on Mon Dec 26 13:03:23 2016

Edit: Eu vou ser melhor ter algo como um pi de framboesa para evitar isso? Eu teria dificuldades diferentes? Ainda não tenho certeza da causa raiz para saber se isso resolveria alguma coisa. Uma cadeia de túneis de SSH é ruim? Idéia sendo:

[Laptop] - > SSH- > --------- > - [Pi] -a mesma rede- > - [meu servidor] - > - [OpenVPN]

              /|\                    
            [router]

Editar: Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 10.68.10.5 128.0.0.0 UG 0 0 0 tun0 0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0 10.68.10.1 10.68.10.5 255.255.255.255 UGH 0 0 0 tun0 10.68.10.5 0.0.0.0 255.255.255.255 UH 0 0 0 tun0 128.0.0.0 10.68.10.5 128.0.0.0 UG 0 0 0 tun0 192.40.88.17 192.168.0.1 255.255.255.255 UGH 0 0 0 eth0 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

Conteúdo de um arquivo .ovpn: client dev tun proto udp remote server 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt tls-client remote-cert-tls server auth-user-pass auth.txt comp-lzo verb 1 reneg-sec 0 crl-verify crl.pem

# Permitir chamadas de executáveis internos e scripts definidos pelo usuário. segurança de script 2

# Analisa as opções de DHCP do openvpn para atualizar o resolv.conf para cima / etc / openvpn / update-resolv-conf abaixo / etc / openvpn / update-resolv-conf

    
por TechnicallyTroubled 24.12.2016 / 23:27

0 respostas