Como permitir que clientes VPN acessem servidores LAN

Como permitir que clientes VPN acessem servidores LAN

Preciso de ajuda para entender como permitir que clientes VPN acessem servidores que estão na "intranet".

Tenho um servidor dedicado/físico na ovh (se isso importa) com 4 ips adicionais. O sistema operacional instalado é o proxmox e tenho dois dispositivos de rede (o tipo deles é 'ponte Linux'). Um tem o ip público do servidor atribuído (vmbr0), o outro (vmbr1) tem o ip 172.20.0.1 com 255.252.0.0 como máscara de rede.

Criei algumas máquinas virtuais que possuem apenas o vmbr1 atribuído a elas. Posso felizmente fazer ping entre essas máquinas. Também obtenho acesso à Internet a partir dessas máquinas como se estivessem atrás do meu roteador doméstico. Se for importante, em 172.20.0.2 tenho um servidor DHCP e em 172.20.0.3 e 172.20.0.4 tenho dois servidores DNS.

Criei outra máquina virtual que possui vmbr0 e vmbr1 atribuídos a ela. Eu configurei um dos ips públicos adicionais no vmbr0 e posso fazer ssh nele. Também instalei o openvpn e configurei-o para que os clientes tenham acesso à internet através do servidor VPN. Os clientes VPN obtêm ips da rede 10.8.0.0/24.

O que eu quero fazer agora é permitir que todos os servidores de 172.20.0.0/14 façam ping/ssh/etc nos clientes VPN que estão na rede 10.8.0.0/24.

Descobri que preciso fazer com que o servidor openvpn envie algumas rotas para os clientes (para que os clientes saibam sobre a outra rede);

Tenho certeza que preciso fazer algo no próprio host proxmox (porque existe o gateway para a rede 172.20.0.0/14) e acredito que também preciso adicionar algumas regras de iptable no próprio servidor openvpn para poder encaminhar/mascarar o tráfego entre as redes, mas não consigo entender exatamente quais regras.

Então, minha pergunta é: o que preciso fazer para permitir que os clientes VPN acessem os servidores virtuais com esta configuração?

Responder1

Se você não tiver um firewall no host OpenVPN, o padrão será permitir o tráfego, então você pode ignorar isso.

Os clientes precisam ter rotas enviadas para eles para garantir que o tráfego destinado à sub-rede interna seja roteado pela VPN. Esta pode ser uma rota padrão (fazendo com que TODO o tráfego seja enviado pelos clientes pela VPN) ou uma rota específica para sua sub-rede interna. Você identificou que pode enviar isso na configuração da VPN (desde que use autenticação baseada em certificado).

Você precisa habilitar o encaminhamento de IP no host OpenVPN. Use sysctlpara definir o valor net.ipv4.conf.all.forwardingcomo 1. Adicione um arquivo para /etc/sysctl.dgarantir que isso persista durante as reinicializações.

Os hosts locais também exigem rotas para garantir que saibam como acessar a sub-rede OpenVPN. Você poderia:

  • Use NAT no host OpenVPN para fazer com que os pacotes encaminhados pareçam vir de seu IP interno. Isso oculta a existência da sub-rede 10.8.0.0/24 e, portanto, evita a necessidade de qualquer outro dispositivo saber sobre ela, mas significa que todo o tráfego de todos os clientes VPN parece originar-se de um único host.

  • Configure rotas para garantir que o tráfego destinado a 10.8.0.0/24 seja direcionado ao host OpenVPN. Eles podem ser adicionados em cada VM ou na máquina host. Use a routeferramenta e adicione comandos às declarações da interface de rede para garantir que elas persistam durante as reinicializações.

informação relacionada