Roteamento VPN sítio a sítio explicado em detalhe

Introdução

Uma configuração sítio a sítio é onde duas (ou mais) redes diferentes estão ligadas juntas usando um túnel OpenVPN. Neste modelo de ligação, os dispositivos de uma rede podem chegar aos dispositivos da outra rede, e vice-versa. A implementação disto é, na medida em que o Access Server está envolvido nisto, relativamente simples. A parte mais difícil vem quando se trata de firewalls e opções de filtragem de segurança, e de alterar tabelas de encaminhamento em routers e gateways de Internet, uma vez que há tantos deles de várias marcas e modelos, que não é possível documentar todos eles. Contudo, os routers devem todos ter uma coisa em comum: a capacidade de encaminhar o tráfego utilizando rotas estáticas. Com essa capacidade vem o meio de enviar tráfego de uma rede para outra, através de um sistema de gateway que fornece conectividade para a outra rede. Um OpenVPN Access Server com um cliente de gateway VPN Linux forma esse sistema de gateway, para formar uma ponte entre duas redes. Se o seu equipamento de rede também for devidamente ajustado, então pode ser conseguida uma configuração sítio a sítio que funcione de forma transparente para todos os dispositivos nas duas redes.

Nesta página pretendemos fornecer-lhe um guia que lhe dê uma visão de como isto funciona, para lhe dar uma compreensão de como as coisas devem ser configuradas para pôr as coisas a funcionar.

Visualização de um exemplo de configuração sítio a sítio

No diagrama acima, a sede da nossa empresa exemplo está à direita, e há computadores e servidores lá. Um dos servidores tem instalado o produto OpenVPN Access Server. Todos os computadores e servidores dessa rede estão ligados a um router (a pequena caixa quadrada plana com um ícone de engrenagem) que também permite o acesso à Internet. À esquerda está um escritório subsidiário que também tem alguns computadores e servidores, todos ligados ao seu próprio router que também fornece acesso à Internet.

Um dos servidores no escritório subsidiário tem um programa cliente OpenVPN instalado num sistema operativo Linux, que tem uma ligação activa de túnel OpenVPN ao OpenVPN Access Server na sede. Neste exemplo de configuração site a site, foi aberto o acesso completo entre computadores e servidores da sede e do escritório subsidiário. Por outras palavras, um utilizador sentado num computador no escritório subsidiário pode aceder aos servidores na sede como se estivesse lá, graças a uma ligação de túnel OpenVPN entre as duas redes. Este túnel OpenVPN viaja através da Internet e o seu conteúdo é codificado com segurança.

Descrição passo a passo de como o tráfego flui

Criámos uma série de imagens que mostram como um pedido de um computador cliente no escritório da subsidiária chega a um servidor de aplicações na sede, e como uma resposta é enviada de volta. Cada passo do processo é mostrado claramente com linhas destacadas e informação relevante da rede. Basta percorrer as imagens para ver uma progressão passo a passo. Vale a pena notar que este tipo de configuração ainda permite a outros clientes VPN entrar no OpenVPN Access Server e obter acesso a qualquer um dos dispositivos nestas 2 redes. Além disso, uma configuração sítio a sítio não precisa de ser limitada a uma rede subsidiária, pode ser múltipla com a mesma facilidade.

  • Como configurar o OpenVPN Access Server para o site…to-site

    Temos em conta que já tem uma instalação do OpenVPN Access Server a funcionar, e que está instalado na sua rede privada atrás de um router com acesso à Internet e tem um endereço IP privado, com reencaminhamento de portas configurado para que possa ser alcançado a partir do exterior, e com configurações apropriadas feitas para que seja realmente alcançável com um programa cliente OpenVPN a partir do exterior. Por outras palavras, que tem uma instalação OpenVPN Access Server que funciona e permite aos clientes OpenVPN ligarem-se. Se ainda não instalou o Access Server, por favor, faça-o primeiro. Ver a página de opções de instalação do Servidor de Acesso para mais informações.

    Esta secção descreve quais as configurações a configurar no Servidor de Acesso OpenVPN para tornar possível a configuração site a site. Vamos assumir que estamos a configurar a configuração sítio-a-sítio como mostrado nas imagens acima, com as sub-redes aí utilizadas. Se as suas sub-redes forem diferentes, e muito provavelmente são, deverá ajustar-se conforme necessário para corresponder à sua situação. Nota importante: é necessário que as sub-redes sejam diferentes nas duas redes.

    p>Vá para a Interface de Administração e vá para Definições VPN. No item intitulado Should VPN clients have access to private subnets set the selection to Yes, using routing (advanced) and in the large text field just below it specify the subnet of the network where your OpenVPN Access Server is located. Para o comparar com o exemplo de configuração sítio a sítio descrito na série de imagens acima, este seria 192.168.70.0/24. Certifique-se de que a caixa de verificação para permitir o acesso a partir das sub-redes privadas é deixada marcada. Agora guardar definições e actualizar os servidores em execução.

    P>Próxima vez ir para Permissões de Utilizador e criar um novo utilizador e palavra-passe. Se utilizar um sistema de autenticação externo como PAM, RADIUS, ou LDAP, certifique-se de que a conta existe lá. Terá de poder efectivamente iniciar sessão e utilizar esta conta, é claro. Na nova conta de utilizador, marque a caixa para privilégios de auto-login. Depois clique em Mostrar para revelar mais configurações. Defina a opção Configurar gateway VPN para sim e no campo de texto grande que depois aparece abaixo, introduza a subrede da rede remota onde o sistema de gateway cliente OpenVPN Linux vai ser instalado. No exemplo de configuração sítio a sítio descrito na série de imagens acima, isto seria 10.0.60.0/24. Agora salvar configurações e actualizar servidores em execução.

    No que diz respeito ao programa OpenVPN Access Server, isto é o que completa uma configuração de configuração site-to-site com este fim. Há ainda uma série de coisas a configurar. O router na rede onde está o Servidor de Acesso precisa de ser informado de que existem sub-redes adicionais, e que estas podem ser alcançadas contactando o endereço IP privado da instalação do Servidor de Acesso. Na nossa rede de exemplo, o OpenVPN Access Server tem um IP de 192.168.70.222. Tem também uma sub-rede cliente VPN de 172.16.0.0/20 e terá eventualmente uma ligação sítio a sítio a correr para a sub-rede 10.0.60.0/24. Para que o router tenha conhecimento destas sub-redes extra, procure a documentação do seu dispositivo router, e veja como adicionar rotas estáticas. Estas são as rotas estáticas que precisam de ser adicionadas:

    • Rede 172.16.0.0 com máscara de sub-rede 255.255.240.0 através de gateway 192.168.70.222
    • Rede 10.0.60.0 com máscara de sub-rede 255.255.255.0 através de gateway 192.168.70.222

    Vocês notarão que estamos a especificar uma máscara de sub-rede. A maioria do equipamento de encaminhamento quer que seja especificada desta forma em vez de usar o formato CIDR com os formatos /24 e /20 e assim por diante. Há tabelas que pode consultar online que pode utilizar para converter facilmente uma para a outra.

    Com as novas rotas estáticas em vigor, sempre que o tráfego chegar agora ao router que tem como destino um endereço IP algures em 172.16.0.0/20 ou 10.0.60.0/24, saberá que deve reencaminhar isto para o OpenVPN Access Server no endereço IP 192.168.70.222. Depois reencaminhá-lo-á para onde precisa de ir, pois sabe como contactar essas duas sub-redes.

    Como configurar o OpenVPN Linux Gateway client

    Preferimos usar um sistema operativo Linux para lidar com o papel de um cliente VPN que também serve como gateway. Preferimos o Ubuntu LTS numa máquina virtual ou hardware dedicado. Temos simplesmente as melhores experiências com ele, e existem ferramentas simples disponíveis em Linux que são gratuitas e fáceis de instalar e utilizar para diagnosticar quaisquer problemas que possam surgir. Também o Linux é de utilização livre e pode funcionar com equipamento muito leve. Mesmo um Raspberry Pi3 ou semelhante pode lidar com esta tarefa, e há também sistemas incorporados que podem lidar com ela. Equipamento à parte, se tiver um sistema operativo Linux com um cliente OpenVPN que possa ligar-se ao OpenVPN Access Server, e puder activar algo chamado IP forwarding, então deverá ser capaz de ter um cliente OpenVPN Linux Gateway a funcionar com bastante facilidade. Não precisa de instalar o próprio programa OpenVPN Access Server neste sistema cliente Linux.

    O que precisa é o programa cliente OpenVPN open source para Linux. No Ubuntu pode instalar isto com o comando apt-get install openvpn. Com o programa cliente agora instalado, vai verificar se existem ficheiros *.conf no directório /etc/openvpn/ e no arranque do sistema tentar ligá-los e mantê-los ligados. O que precisamos a seguir é de obter o perfil de ligação auto-login para a conta de utilizador criada para a conectividade site-to-site, e guardá-lo no directório /etc/openvpn/. Para tal, precisamos de obter primeiro o ficheiro:

    I do OpenVPN Access Server, usando um navegador web, clicar no menu pendente connect e mudá-lo para login. Introduza o nome de utilizador e a palavra-passe da conta de utilizador que criou para a conectividade site a site e clique em ir. Ser-lhe-á apresentada uma lista de ficheiros disponíveis para esta conta de utilizador. Localize o perfil de auto-login e descarregue-o. Será chamado client.ovpn.

    Transferir este ficheiro client.ovpn para o seu sistema cliente Linux (com SCP ou WinSCP ou copiar e colar o conteúdo do ficheiro num editor de texto como o nano) e colocá-lo no directório /etc/openvpn/. Renomeie o ficheiro para algo como headquarters.conf. O nome do ficheiro não é particularmente importante, mas a extensão deve terminar com .conf para que o daemon OpenVPN o pegue. Agora reinicie o sistema operativo cliente Linux. Deve agora ligar-se automaticamente e deve poder ver esta ligação aparecer na visão geral dos utilizadores actuais do OpenVPN Access Server.

    Next permite o reencaminhamento de IP no sistema cliente Linux. O reencaminhamento IP é a função num sistema operativo que lhe permite aceitar um pacote de rede de entrada numa interface de rede, e se o destino estiver noutra rede, encaminhá-lo para lá. Isto é o que precisa quando os pacotes que chegam da sua rede precisam de ir para o túnel VPN, ou vice versa. No Ubuntu pode fazer isto bastante facilmente abrindo /etc/sysctl.conf com um editor de texto como o nano, e descomentando a linha #net.ipv4.ip_forward=1. O descomentar significa que se remove o caractere #. Em seguida, sair e guardar o ficheiro. Agora reinicie o sistema operativo cliente Linux.

    No que diz respeito ao sistema de gateway cliente Linux OpenVPN, isto é o que completa uma configuração de configuração sítio a sítio neste fim. Resta agora apenas uma coisa a configurar. O router na rede onde está o cliente Linux Gateway precisa de ser informado de que existem sub-redes adicionais, e que estas podem ser alcançadas contactando o endereço IP privado da instalação do cliente Linux Gateway. Na nossa rede de exemplo, o sistema de gateway cliente OpenVPN Linux tem um IP de 10.0.60.55. Também faz parte da sub-rede cliente VPN de 172.16.0.0/20 que existe no Servidor de Acesso e terá agora uma ligação site-to-site a correr para a sub-rede 192.168.70.0/24. Para que o router tenha conhecimento destas sub-redes extra, procure a documentação do seu dispositivo router, e veja como adicionar rotas estáticas. Note que deve adicionar estas rotas estáticas no router na rede da filial onde se encontra o sistema cliente OpenVPN Linux Gateway, e não na rede onde se encontra o Access Server. Estas são as rotas estáticas que precisam de ser adicionadas:

    • Network 172.16.0.0 com máscara de sub-rede 255.255.240.0 através de gateway 10.0.60.55
    • Network 192.168.70.0 com máscara de sub-rede 255.255.255.0 através de gateway 10.0.60.55

    Como com as rotas estáticas no outro router, notará que estamos a especificar uma máscara de sub-rede. A maioria do equipamento de encaminhamento quer que seja especificada desta forma em vez de utilizar o formato CIDR com os formatos /24 e /20 e assim por diante. Há tabelas que pode consultar online que pode utilizar para converter facilmente uma para a outra.

    Com as novas rotas estáticas em vigor, sempre que o tráfego chegar agora ao router que tem como destino um endereço IP algures em 172.16.0.0/20 ou 192.168.70.0/24, saberá que deve reencaminhar isto para o cliente OpenVPN Linux Gateway no endereço IP 10.0.60.55. Depois encaminha-o para onde precisa de ir, pois sabe como contactar essas duas sub-redes.

    Resolução de problemas

    Com os passos de configuração acima seguidos, tanto o OpenVPN Access Server como o cliente OpenVPN Linux Gateway devem estar a funcionar perfeitamente. Há, contudo, um grande número de possíveis problemas que podem ser encontrados com o equipamento circundante. Por exemplo, pode haver firewalls nos computadores cliente e servidor que bloqueiam o tráfego de sub-redes “desconhecidas”. Em redes de nuvem como a Amazon AWS, os grupos de segurança e a verificação de fontes podem ser um factor de bloqueio de tráfego. Além disso, as rotas estáticas podem ter sido criadas de forma errada para que funcionem da LAN para a interface WAN, de modo a que esta tente enviar o tráfego para a Internet em vez de permanecer puramente no lado LAN do router. Infelizmente, há demasiados problemas possíveis que se encontram completamente fora do OpenVPN Access Server e do seu cliente OpenVPN Linux Gateway ligado para os documentar a todos. Em vez disso, tentámos, portanto, fornecer os meios para diagnosticar a ligação.

    Temos um guia de resolução de problemas que nos ajudará a determinar o ponto em que o tráfego se avaria. Isso levará então a conclusões para resolver eficazmente o problema.

    Deixe uma resposta

    O seu endereço de email não será publicado. Campos obrigatórios marcados com *