Não é possível fazer SSH na máquina do conector de nuvem OpenVPN por IP VPN

Não é possível fazer SSH na máquina do conector de nuvem OpenVPN por IP VPN

Acabei de começar a usar conectores de nuvem OpenVPN para criar redes VPN mesh. Implantei um conector e configurei encaminhamento de IP relevante e protocolos NAT que me permitem acessar a rede LAN atrás da máquina com execução do conector de nuvem OpenVPN. Consegui fazer isso com sucesso. (minhas informações vêm principalmente deste linkhttps://openvpn.net/cloud-docs/connecting-networks-to-openvpn-cloud-using-connectors/)

Agora, o problema é por que não consigo fazer SSH na máquina que executa o conector de nuvem por meio de seu IP VPN 100.96.1.18? Estranhamente, posso fazer ping sem problemas. insira a descrição da imagem aqui

~$ ssh [email protected]
ssh: connect to host 100.96.1.18 port 22: Network is unreachable
~$ ping 100.96.1.18 -c 4
PING 100.96.1.18 (100.96.1.18) 56(84) bytes of data.
64 bytes from 100.96.1.18: icmp_seq=1 ttl=62 time=209 ms
64 bytes from 100.96.1.18: icmp_seq=2 ttl=62 time=279 ms
64 bytes from 100.96.1.18: icmp_seq=3 ttl=62 time=208 ms
64 bytes from 100.96.1.18: icmp_seq=4 ttl=62 time=204 ms

--- 100.96.1.18 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 203.702/224.971/279.214/31.383 ms

Surpreendentemente, posso remotamente (por meio de uma máquina cliente VPN) fazer SSH na máquina do conector por meio de seu IP local de192.168.18.1

Aqui estão as rotas IP na máquina do conector.

~$ ip route
default via 192.168.18.1 dev eno1 proto dhcp metric 100 
64.120.110.199 via 192.168.18.1 dev eno1 
100.80.0.0/12 via 100.96.1.17 dev tun0 
100.96.0.0/11 via 100.96.1.17 dev tun0 
100.96.1.16/30 dev tun0 proto kernel scope link src 100.96.1.18 
169.254.0.0/16 dev eno1 scope link metric 1000 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 
192.168.0.0/24 via 100.96.1.17 dev tun0 
192.168.18.0/24 dev eno1 proto kernel scope link src 192.168.18.88 metric 100 

~$ ifconfig tun0
tun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1500
        inet 100.96.1.18  netmask 255.255.255.252  destination 100.96.1.18
        inet6 fd:0:0:8101::2  prefixlen 126  scopeid 0x0<global>
        inet6 fe80::5a84:3a5:f59b:d64f  prefixlen 64  scopeid 0x20<link>
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 500  (UNSPEC)
        RX packets 1682  bytes 451719 (451.7 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1755  bytes 637526 (637.5 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Também para depuração aqui estão as rotas IP de uma máquina cliente conectada

~$ ip route
default via 192.168.31.1 dev wlp2s0 proto dhcp metric 600 
25.0.0.0/8 dev ham0 proto kernel scope link src 25.56.7.62 
100.80.0.0/12 via 100.96.1.1 dev tun0 
100.96.0.0/11 via 100.96.1.1 dev tun0 
100.96.1.0/28 dev tun0 proto kernel scope link src 100.96.1.2 
169.254.0.0/16 dev wlp2s0 scope link metric 1000 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
172.107.213.76 via 192.168.31.1 dev wlp2s0 
192.168.0.0/24 via 100.96.1.1 dev tun0 
192.168.18.0/24 via 100.96.1.1 dev tun0 
192.168.31.0/24 dev wlp2s0 proto kernel scope link src 192.168.31.189 metric 600 

~$ traceroute 100.96.1.18
traceroute to 100.96.1.18 (100.96.1.18), 64 hops max
  1   100.96.1.18  265.200ms !N  109.653ms !N  105.821ms !N

Meu principal ponto de discórdia é que, como 100.96.0.0/11 via 100.96.1.1 dev tun0a rota está sendo enviada para o cliente, devo ser capaz de acessar o 100.96.1.18IP e o ssh ou traceroute etc.

PS Estou perguntando isso aqui porque o suporte do OpenVPN não conseguiu responder.

Responder1

Caso alguém tenha o mesmo problema: esse problema não tem nada a ver com o firewall do seu lado, pois a conexão cai no lado da nuvem. De acordo com a ideia da nuvem OpenVPN, você usa "conectores de rede" para se conectar a alguma rede como cliente e "conectores de host" para permitir que os clientes se conectem a você. Portanto, se você deseja se conectar ao seu servidor via nuvem OpenVPN, esse servidor deve estar conectado à VPN via "conector de host" e não via "conector de rede", pois apenas o "conector de host" terá o firewall aberto para conexões de entrada no lado da nuvem.

Para verificar se isso se aplica a você, certifique-se de que seu servidor openssh esteja escutando em todas as interfaces (0.0.0.0:22 ou :::22 para ipv6) usando "netstat -pan | grep ssh" ou pelo menos em sua interface VPN. Em seguida, use (assumindo que a VPN esteja na interface tun0) "tcpdump -pni tun0 tcp port 22" para ver se você está recebendo alguma solicitação de conexão ssh da VPN. Você pode descartar a "porta 22" e tentar executar ping no seu "servidor" para garantir que o tráfego esteja fluindo. Normalmente, com o "conector de rede", você receberá o ping, mas para solicitações ssh, nada ficará visível, pois a nuvem não permitirá o tráfego ssh. Se você estabelecer conexão via nuvem usando o "conector host", isso funcionará.

https://openvpn.net/cloud-docs/owner/servers/hosts/adding-a-host.html

informação relacionada