O que está faltando nesta configuração OpenVPN cliente a cliente?

O que está faltando nesta configuração OpenVPN cliente a cliente?

Consegui configurar um servidor OpenVPN com vários clientes usando ips estáticos, o ip estático é definido adicionando uma linha como ifconfig-push 192.168.254.6 192.168.255.1no ccd para cada um dos clientes. Posso fazer ping ou ssh do servidor para cada um desses clientes. Na configuração do meu servidor tenho as seguintes linhas (entre outras configurações):

server 192.168.255.0 255.255.255.0

e

route 192.168.254.0 255.255.255.0

Agora o que estou tentando fazer é conseguir fazer ssh ou curl de um cliente para outro, então depois de ler a documentação adicionei a linha client-to-clientna configuração. Percebi que ao reiniciar os servidores e reconectar os clientes, adicionou a seguinte linha ip routeaos meus clientes:

192.168.255.0/24 via 192.168.255.1 dev tun0

O que eu entendo é indicar ao cliente que todo endereço desse tipo 192.168.255.Xiria para o servidor VPN. E, de fato, tentei verificar executando traceroute 192.168.255.30e obtendo:

traceroute to 192.168.255.30 (192.168.255.30), 30 hops max, 60 byte packets
 1  192.168.255.1 (192.168.255.1)  11.454 ms  14.491 ms  14.493 ms

No entanto, os outros clientes aos quais desejo me conectar têm endereços assim, 192.168.254.Xacho que estou faltando alguma coisa e não sei o quê. Tentei adicionar manualmente esta rota:

ip route add 192.168.254.0/24 via 192.168.255.1 dev tun0

O que para mim significaria que endereços como 192.168.254.X também estão passando pelo servidor VPN. Mas se eu fizer isso, traceroute 192.168.254.30os resultados serão diferentes:

traceroute 192.168.254.30
traceroute to 192.168.254.30 (192.168.254.30), 30 hops max, 60 byte packets

Também posso fazer ping na máquina cliente, ping 192.168.255.1mas não consigo executar ping em outros clientes no intervalo 254, como ping 192.168.254.30.

Meu conhecimento de rede é bastante limitado. O que falta para permitir que um cliente como 192.168.254.30acesse serviços em outro cliente como192.168.254.32

Atualizar:Conectei um novo cliente à VPN, desta vez atribuindo no arquivo ccd um ip na faixa 192.168.255.X, e então tentei rodar o traceroute do cliente que estava testando. Também não consigo me conectar a este cliente na faixa 255, além disso, se eu executar o traceroute acontece o seguinte.

Este novo cliente possui 192.168.255.22, se no meu cliente de teste eu traceroute 192.168.255.3obtiver:

traceroute to 192.168.255.3 (192.168.255.3), 30 hops max, 60 byte packets
 1  192.168.255.1 (192.168.255.1)  11.481 ms  21.192 ms  21.472 ms

O mesmo acontece para os ips 4, 5, 6... que não tem clientes, até chegar 22qual é o ip do novo cliente, nesse caso quando faço traceroute 192.168.255.22eu recebo:

traceroute to 192.168.255.22 (192.168.255.22), 30 hops max, 60 byte packets

Por que isso está acontecendo?

Responder1

Parece que você está tentando rotear o tráfego entre diferentes sub-redes no servidor OpenVPN. É possível fazer isso, mas você precisará fazer algumas alterações adicionais na configuração do OpenVPN.

A primeira coisa a notar é que a serverdiretiva no seu arquivo de configuração OpenVPN define a sub-rede que o próprio servidor usará. No seu caso, o servidor usará a 192.168.255.0/24sub-rede. Isso significa que os clientes receberão endereços IP no 192.168.255.Xintervalo.

A routediretiva, por outro lado, define uma rota para o tráfego dos clientes OpenVPN para uma sub-rede específica. No seu caso, a routediretiva informa ao servidor OpenVPN que o tráfego dos clientes deve ser roteado para a 192.168.254.0/24sub-rede.

No entanto, isso não é suficiente para permitir que os clientes se comuniquem entre si em diferentes sub-redes. Você também precisará adicionar uma pushdiretiva ao arquivo de configuração do servidor OpenVPN. Esta diretiva diz ao servidor OpenVPN para enviar rotas aos clientes, para que eles saibam como rotear o tráfego para outras sub-redes.

Aqui está um exemplo de como a diretiva push pode parecer em seu arquivo de configuração:

push "route 192.168.254.0 255.255.255.0"

Esta diretiva diz ao servidor OpenVPN para enviar uma rota aos clientes, instruindo-os a rotear o tráfego para a 192.168.254.0/24sub-rede através do servidor OpenVPN.

Você também precisará certificar-se de que a client-to-clientdiretiva está habilitada na configuração do seu servidor. Esta diretiva diz ao servidor OpenVPN para permitir que os clientes se comuniquem diretamente entre si, sem rotear o tráfego através do servidor.

Depois de fazer essas alterações em sua configuração, você poderá conectar seus clientes ao servidor OpenVPN e se comunicar entre si em diferentes sub-redes.

Vale a pena notar que a client-to-clientdiretiva só permite que os clientes se comuniquem entre si se estiverem usando a mesma sub-rede. Por exemplo, se um cliente tiver um endereço IP no 192.168.255.Xintervalo, ele só poderá se comunicar com outros clientes que também possuam endereços IP no 192.168.255.Xintervalo. Para que clientes em sub-redes diferentes se comuniquem entre si, você precisará usar a diretiva push conforme descrito acima.

informação relacionada