AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 1165484
Accepted
BigKuma
BigKuma
Asked: 2024-09-20 11:12:10 +0800 CST2024-09-20 11:12:10 +0800 CST 2024-09-20 11:12:10 +0800 CST

Rota do servidor VPN para o cliente VPN

  • 772

Meu objetivo é configurar uma VPN bidirecional site-to-site. Quero poder acessar o lado do servidor do lado do cliente, e o lado do cliente do lado do servidor.

Não estou fazendo nada avançado e tentei seguir as instruções no guia de conexão site-to-site do OpenVPN. Mas, acho que, como estou usando dois roteadores DD-WRT como meu servidor e VPNs de cliente, estou tendo um problema em corresponder o guia à minha situação.

Do lado do cliente, consigo conectar aos hosts de rede do lado do servidor. Do lado do servidor, não consigo conectar aos hosts do lado do cliente.

Mapa de rede:

Rede CG-NAT LAN 192.168.0.0/22 ​​Cliente OpenVPN em DD-WRT 192.168.0.2

Rede LAN regular 192.168.4.0/22 ​​Servidor OpenVPN em DD-WRT 192.168.4.2

Túnel: 10.10.28.1 <-> 10.10.28.2 (posso ver que está configurado corretamente nos logs)

Eu controlo ambos os lados, então estava tentando configurar as rotas para consertar o problema. Suspeito que as rotas (ou as configurações no servidor OpenVPN) estejam erradas.

Esta é a tabela de roteamento no lado do cliente OpenVPN:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.0.1     0.0.0.0         UG    0      0        0 br0
10.10.28.0      *               255.255.255.0   U     0      0        0 tun1
127.0.0.0       *               255.0.0.0       U     0      0        0 lo
192.168.0.0     *               255.255.252.0   U     0      0        0 br0
192.168.4.0     10.10.28.1      255.255.252.0   UG    200    0        0 tun1

Posso fazer ping de qualquer lugar na rede do cliente para a rede 192.168.4.0:

# ping 192.168.4.222
PING 192.168.4.222 (192.168.4.222): 56 data bytes
64 bytes from 192.168.4.222: seq=0 ttl=63 time=42.244 ms
64 bytes from 192.168.4.222: seq=1 ttl=63 time=32.047 ms

Esta é a tabela de roteamento no host do servidor OpenVPN quando a abro pela primeira vez:

default via 192.168.4.1 dev br0
10.10.28.0/24 dev tun2 scope link  src 10.10.28.1
127.0.0.0/8 dev lo scope link
192.168.4.0/22 dev br0 scope link  src 192.168.4.2

Observações: Não consigo fazer ping da rede do servidor para a rede 192.168.0.0. NO ENTANTO, enquanto estiver logado no host do servidor OpenVPN (192.168.4.2), consigo fazer ping do outro lado do túnel (10.10.28.2)

# ping 10.10.28.2
PING 10.10.28.2 (10.10.28.2): 56 data bytes
64 bytes from 10.10.28.2: seq=0 ttl=64 time=40.287 ms
64 bytes from 10.10.28.2: seq=1 ttl=64 time=35.791 ms


# traceroute 192.168.0.1
traceroute to 192.168.0.1 (192.168.0.1), 30 hops max, 46 byte packets
 1  192.168.4.1 (192.168.4.1)  5.108 ms  4.927 ms  3.953 ms
 2  *  *

Então, meu primeiro palpite foi adicionar esta rota para corresponder à rota do Cliente para a sub-rede do Servidor:

route add -net 192.168.0.0 netmask 255.255.252.0 gw 10.10.28.2 metric 200 tun2

Isso criou uma entrada adicional:

192.168.0.0     10.10.28.2      255.255.252.0   UG    200    0        0 tun2

Isso fez alguma diferença, mas o traceroute ou os pings não retornam.

# traceroute 192.168.0.1
traceroute to 192.168.0.1 (192.168.0.1), 30 hops max, 46 byte packets
 1  *  *  *

Obviamente sou iniciante, então me diga se preciso de mais informações para me ajudar.

vpn
  • 1 1 respostas
  • 88 Views

1 respostas

  • Voted
  1. Best Answer
    user3450564
    2024-10-10T20:00:39+08:002024-10-10T20:00:39+08:00

    Acesso OpenVPN à LAN por trás do cliente (e vice-versa)

    https://community.openvpn.net/openvpn/wiki/RoutedLans

    Essa deve ser uma preocupação bem padrão com openvpn site-to-site. Se entendi corretamente, no seu lado do servidor, você adicionou:

    • uma rota para 192.168.0.0/22 ​​através da VPN, que é a rede por trás do seu cliente,
    • essa rota passa pelo gateway 10.10.28.2, que é o endereço VPN interno do seu servidor, correto?

    Como você adicionou uma rota para a VPN, seu servidor deve direcionar um pacote para 192.168.0.2 (ou qualquer último número de byte na sub-rede /22) através da VPN. No entanto, o OpenVPN não sabe para qual ponto de terminação VPN direcionar isso.

    NB: provavelmente funciona da sub-rede do cliente PARA a sub-rede do servidor porque o cliente deve adicionar uma rota padrão por meio da VPN para que tudo seja enviado ao servidor.

    Portanto, o OpenVPN tem um conceito de rota interna "iroute", para que ele saiba em qual ponto de terminação da VPN o pacote está localizado para um intervalo de IP específico.

    no arquivo de configuração do servidor você precisa adicionar:

    route 192.168.0.0 255.255.255.0
    client-config-dir ccd
    

    Isso informará que os pacotes para esta sub-rede precisam ser enviados para a interface VPN.

    E habilite a pasta específica do cliente ccd no arquivo de configuração no servidor:

    ifconfig-push 10.10.28.1 255.255.255.0(isso definirá o endereço IP, se tudo for estático, acho que pode ser omitido se seu cliente tiver um IP fixo em sua configuração).

    iroute 192.168.0.0 255.255.255.0
    

    É isso que fará o openvpn entender que os pacotes que entram na VPN com aquela sub-rede como destino precisam ser enviados para aquele cliente específico.

    Com esses 2, você não precisa adicionar manualmente nenhuma rota ao cliente, o openvpn adicionará as rotas internas da VPN (não relacionadas à tabela de roteamento do kernel, a propósito), bem como a entrada correta da tabela de roteamento do kernel.

    O cliente deve ter o necessário para rotear para suas próprias máquinas de sub-rede.

    • 0

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve