Como configurar uma VPN com o OpenVPN no Debian 9 Stretch Linux

Como configurar uma VPN com o OpenVPN no Debian 9 Stretch Linux

Distribuições

Este guia é testado para o Debian 9 Stretch Linux, mas pode funcionar com outras versões recentes do Debian.

Requisitos

  • Este guia pressupõe que você esteja administrando o Debian em um VPS ou um servidor remoto, pois esse é o cenário mais provável para uma VPN.
  • Uma instalação funcional do Debian Stretch com acesso à raiz

Dificuldade

MÉDIO

Convenções

  • # - requer que os comandos Linux sejam executados com privilégios root diretamente como usuário root ou por uso de sudo comando
  • $ - Requer que os comandos do Linux sejam executados como um usuário não privilegiado regular

Configurando iptables

Configurar sua própria VPN não é uma tarefa pequena, mas há muitas razões pelas quais você gostaria de fazer isso. Por um lado, quando você administra sua própria VPN, você tem controle completo e sabe exatamente o que está fazendo.

A segurança é um fator importante para VPNs. É possível configurar um simples em alguns minutos, mas não será seguro. Você precisa tomar as medidas apropriadas para garantir que o servidor e suas conexões permaneçam privadas e criptografadas.

Antes de embarcar nessa estrada, você pode considerar criptografar seus discos, reforçar a segurança do kernel com Selinux ou Pax e garantir que tudo esteja trancado.

Iptables é uma grande parte da segurança do servidor. Você precisa de iptables para garantir que as informações não vazem da sua VPN. Iptables também trabalha para evitar conexões não autorizadas. Então, o primeiro passo na criação de uma VPN no Debian está configurando iptables.

Encontre sua interface WAN

Antes de começar a escrever suas regras iptables, você precisa saber para qual interface você está escrevendo.

Usar ifconfig ou ip a Para procurar a interface com a qual seu servidor está conectado à Internet.

O restante deste guia se referirá a essa interface como eth0, Mas isso provavelmente não será seu. Certifique -se de trocar o nome da interface de rede do seu servidor em vez disso.



Criando as regras iptables

Todo usuário do Linux e Admin adora escrever regras iptables, certo? Não vai ser tão ruim. Você comporá um arquivo com todos os comandos e apenas o restaurará em iptables.

Crie seu arquivo. Você pode fazer isso em algum lugar que deseja salvar ou apenas despejar /tmp. Iptables vão salvar suas regras de qualquer maneira, então /tmp está bem.

$ vim /tmp /v4rules

Inicie o arquivo adicionando *filtro para que os iptables saibam que essas são regras de filtro.

Sim, também haverá um IPv6, mas será muito mais curto.

Regras de loopback

Comece com o conjunto mais simples de regras, as interface de loopback. Eles apenas dizem aos iptables que aceitam apenas o tráfego de Looback originário de localhost.

-Uma entrada -i lo -j aceita -a entrada ! -eu lo -s 127.0.0.0/8 -j rejeitar -a saída -o lo -j aceita 

Permitindo ping

Em seguida, você provavelmente deseja poder fazer ping em seu servidor. Este grupo de regras permite ping através.

-Um estado de entrada -p icmp -m -estado novo --icmp -type 8 -j aceit -a input -p icmp -m state -estado estabelecido, relacionado -j aceita -a saída -p icmp -j aceita 

Configuração ssh

Você provavelmente deve mudar o ssh da porta 22, então deixe suas regras refletir que.

-Um estado de entrada -i eth0 -p tcp -m -estatal novo, estabelecido - -dport 22 -j Aceitar -a output -o eth0 -p tcp -m state -estado estabelecido - -sport 22 -j aceita 

Permitir o OpenVPN através

Obviamente, você vai querer permitir o tráfego OpenVPN através. Este guia vai usar o UDP para openVPN. Se você optar por ir com o TCP, deixe as regras refletir que.

-Um estado de entrada -i eth0 -p udp -m -estatal novo, estabelecido - -Dport 1194 -j Aceitar -a output -o eth0 -p udp -m State -State estabelecido - -sport 1194 -j Aceitar 

Dns

Você também vai querer permitir o tráfego do DNS através do seu servidor VPN. Isso será através de UDP e TCP.

-Um estado de entrada -i eth0 -p udp -m -Estado estabelecido - -sport 53 -j aceita -a output -o eth0 -p udp -m state -estado novo, estabelecido - -dport 53 -j aceita -a entrada -i eth0 -p tcp -m state -Estado estabelecido - -sport 53 -j Aceitar -a output -o eth0 -p tcp -m state -estatal novo, estabelecido - -dport 53 -j aceita 

Http/s para atualizações

Pode parecer estranho permitir o tráfego HTTP/s, mas você fazer quer que o Debian seja capaz de se atualizar, certo? Essas regras permitem que o Debian inicie solicitações HTTP, mas não as recebe de fora.

-Um estado de entrada -i eth0 -p tcp -m -Estado estabelecido - -sport 80 -j aceita -a entrada -i eth0 -p tcp -m state -estado estabelecida -sport 443 -j aceita -a saída -O ETH0 -P TCP -M ESTADO -Estado novo, estabelecido - -Dport 80 -j Aceitar -a output -o eth0 -p tcp -m State -Estado novo, estabelecido - -Dport 443 -j Aceitar 


NTP para sincronizar seu relógio

Supondo que você não vai sincronizar manualmente o relógio do servidor e os relógios do cliente, você precisará de NTP. Permitir isso também.

-Um estado de entrada -i eth0 -p udp -m -Estado estabelecido - -sport 123 -j aceit -a saída -o eth0 -p udp -m state -estatal novo, estabelecido - -dport 123 -j aceita 

TUN para túnel através da VPN

Este guia usa TUN para túnel através da VPN, se você estiver usando TAP, ajuste de acordo.

-A input -i tun0 -j Aceitar -a forward -i tun0 -j Aceitar -a output -o tun0 -j aceitar 

Para a VPN encaminhar seu tráfego para a Internet, você precisa permitir o encaminhamento de TUN para sua interface de rede física.

-Um avanço -i tun0 -o eth0 -s 10.8.0.0/24 -J Aceitar -a Forward -M State -Estado estabelecido, Related -j Aceitar 

Tráfego bloqueado de log

Você provavelmente deveria ter o iptables registrar o tráfego que ele bloqueia. Dessa forma, você está ciente de quaisquer ameaças em potencial.

-Um limite de entrada -m -LIMIT 3/min -j log -Log -prefixo "iptables_input_denied:" -Log -level 4 -a Forward -m Limit -Limit 3/min -j log - -log -prefix " iptables_forward_denied: " -Log 4 -a output -m limite -limite 3/min -j log - -log -prefix" iptables_output_denied: " - -Log -level 4 

Rejeite todo o outro tráfego

Agora que você está registrando tudo o que não se encaixa nas regras existentes, rejeite -as.

-A entrada -j rejeitar -a forward -j rejeitar -a saída -j rejeitar 

Não se esqueça de fechar seu arquivo com COMPROMETER-SE.

Nat

Esta próxima parte requer uma tabela diferente. Você não pode adicioná -lo ao mesmo arquivo, então você só terá que executar o comando manualmente.

Faça o tráfego do disfarce da VPN como tráfego da interface de rede física.

# iptables -t nat -a postouting -s 10.8.0.0/24 -O ETH0 -J 

Bloqueie todo o tráfego IPv6

O tráfego pode vazar sobre o IPv6, e realmente não há necessidade de usar o IPv6 agora. A coisa mais fácil de fazer é desligá -lo completamente.

Crie outro arquivo e jogue as regras para rejeitar todo o tráfego IPv6.

$ vim /tmp /v6rules
*filtro -a input -j rejeit -a forward -j rejeitar -a saída -j rejeitar confirmação 


Cometer tudo

Comece lançando todas as regras iptables existentes.

# iptables -f && iptables -x 

Importar cada um dos arquivos de regras que você criou.

# iptables-Restore < /tmp/v4rules # ip6tables-restore < /tmp/v6rules 

Fazendo com que fique

Debian tem um pacote que lidará com o carregamento automaticamente de suas regras iptable, para que você não precise criar um trabalho cron ou algo assim.

# APT Instale iptables-persistent

O processo de instalação perguntará se você deseja salvar suas configurações. Responda, "sim."

No futuro, você pode atualizar suas regras executando o seguinte comando Linux.

# Service Netfilter-Persistent Save

Configuração adicional

Há mais algumas coisas que você precisa fazer para fazer com que todas as suas interfaces de rede funcionem conforme necessário.

Primeiro, abra /etc/hosts e comente todas as linhas IPv6.

Em seguida, aberto /etc/sysctl.D/99-SYSCTL.conf. Encontre e descomentar a seguinte linha.

líquido.IPv4.ip_forward = 1 

Adicione estas próximas linhas para desativar completamente o IPv6.

líquido.IPv6.conf.todos.desabille_ipv6 = 1 rede.IPv6.conf.padrão.desabille_ipv6 = 1 rede.IPv6.conf.lo.desabille_ipv6 = 1 rede.IPv6.conf.eth0.desabille_ipv6 = 1 

Finalmente, aplique suas mudanças.

# sysctl -p 

Qual é o próximo

Essa é a primeira parte a baixo. O firewall do seu servidor agora está pronto para executar o OpenVPN, e sua rede está alinhada também.

O próximo passo é criar uma autoridade de certificado para lidar com todas as suas chaves de criptografia. Não é um processo demorado, mas é tão importante.

Autoridade de Certificação

Use Easy-RSA para estabelecer a autoridade de certificação que você usará para criar e as chaves de criptografia para o seu servidor OpenVPN.

Esta é a segunda parte na configuração de um servidor OpenVPN no Debian Stretch.

VPNs confiam na criptografia. É absolutamente vital que eles criem suas conexões com os clientes, bem como o próprio processo de conexão.

Para gerar as chaves necessárias para a comunicação criptografada, você precisa estabelecer uma autoridade de certificado. Realmente não é tão difícil, e existem ferramentas que simplificam ainda mais o processo.

Instalando os pacotes

Antes de começar, instale o OpenVPN e Easy-RSA.

# apt install openvpn easy-rsa

Configure o diretório

O pacote OpenVPN criou um diretório para si em /etc/openvpn. É aí que você pode configurar a autoridade de certificado.

Easy-RSA inclui um script que cria automaticamente um diretório com tudo o que você precisa. Use -o para criar seu diretório de autoridade de certificado.

# Make-Cadir/etc/OpenVPN/CERTS

Insira esse diretório e crie um link suave entre a mais recente configuração do OpenSSL com OpenSSL.CNF.

# ln -s openssl -1.0.0.CNF OpenSSL.CNF


Defina as variáveis

Dentro da pasta há um arquivo chamado, vars. Esse arquivo contém as variáveis ​​que o Easy-RSA usará para gerar suas chaves. Abra. Existem alguns valores que você precisa mudar.

Comece encontrando o Key_size variável e mudança é valor para 4096.

exportar key_size = 4096

Em seguida, encontre um bloco de informações sobre a localização e identidade da sua autoridade de certificado.

exportar key_country = "us" export key_province = "ca" export key_city = "sanfrancisco" export key_org = "fort-funston" export key_email = "[email protected] "exportar key_ou =" MyorganizationalUnit " 

Altere os valores para corresponder a você.

A última variável que você precisa encontrar é o Key_name

exportar key_name = "vpnserver"

Nomeie algo identificável.

Crie as chaves da autoridade

O Easy-RSA inclui scripts para gerar a autoridade de certificação.

Carregue as variáveis ​​primeiro.

# fonte ./vars

Uma mensagem de aviso aparecerá no terminal dizendo que limpar tudo vai apagar suas chaves. Você ainda não tem nada, então está tudo bem.

# ./limpar tudo

Agora você pode executar o script para realmente gerar sua autoridade de certificado. O script fará perguntas sobre as chaves que você está gerando. As respostas padrão serão as variáveis ​​que você já entrou. Você pode esmagar com segurança "Enter."Lembre -se de inserir uma senha, se você quiser e responder" sim "às duas últimas perguntas.

# ./Build-Ca

Crie uma chave do servidor

Aquelas chaves que você fez foram para a própria autoridade de certificado. Você precisa de uma chave para o servidor também. Mais uma vez, há um script para isso.

# ./Build-key-server servidor

Gerar um PEM Diffie-Hellman

Você precisa gerar um Diffie-Hellman PEM que o OpenVPN usará para criar chaves seguras de sessões do cliente. O Easy-RSA também fornece um script para isso, mas é mais fácil usar o Pleno OpenSSL.

Como o objetivo aqui é a segurança, é melhor gerar uma chave de 4096 bits. Vai levar algum tempo para gerar, e pode diminuir um pouco o processo de conexão, mas a criptografia será razoavelmente forte.

# OpenSSL DHPARAM 4096>/etc/OpenVPN/DH4096.PEM

Gerar uma chave HMAC

Sim, você precisa de outra chave de criptografia. OpenVPN usa teclas HMAC para assinar os pacotes que usa no processo de autenticação TLS. Ao assinar esses pacotes, o OpenVPN pode garantir que apenas pacotes originários de uma máquina com a chave são aceitos. Apenas adiciona outra camada de segurança.

A utilidade para gerar sua chave HMAC está realmente incorporada ao próprio OpenVPN. Executá-lo.

# openvpn - -genkey - -secret/etc/openvpn/certs/keys/ta.chave

Qual é o próximo

Criar criptografia forte é facilmente um dos aspectos mais importantes da configuração de um servidor OpenVPN. Sem boa criptografia, todo o processo é basicamente sem sentido.

A essa altura, você está finalmente pronto para configurar o próprio servidor. A configuração do servidor é realmente menos complicada do que você fez até agora, então parabéns.

OpenVPN Sever

Configure o servidor OpenVPN usando as teclas de criptografia que você gerou na seção anterior do guia.

Esta é a terceira parte na configuração de um servidor OpenVPN no Debian Stretch.

Agora, você chegou ao evento principal. Esta é a configuração real do servidor OpenVPN. Tudo o que você fez até agora era absolutamente necessário, mas nada disso tocou o próprio OpenVPN, até agora.

Esta seção está totalmente preocupada em configurar e executar o servidor OpenVPN, e na verdade é menos complicado do que você provavelmente está pensando.

Obtenha a configuração base

OpenVPN fez este processo muito fácil. O pacote que você instalou veio com arquivos de configuração de amostra para os clientes e para o servidor. Você só precisa descompactar o servidor um em você /etc/openvpn diretório.

# gunzip -c/usr/share/doc/openvpn/exemplos/sample-config-files/servidor.conf.gz>/etc/openvpn/servidor.conf 

Abra -o em seu editor de texto favorito e prepare -se para começar a mudar as coisas.



Use suas chaves

Quando estiver dentro do arquivo, você verá que tudo está preenchido com padrões razoáveis, e há muitos comentários que fornecem excelente documentação do que tudo faz.

A primeira coisa que você precisa encontrar é a seção para adicionar sua autoridade de certificado e chaves do servidor. As variáveis ​​são ca, cert, e chave. Defina -os iguais ao caminho completo de cada um desses arquivos. Deve parecer o exemplo abaixo.

CA/etc/openvpn/certs/keys/ca.CRT cert/etc/openvpn/certs/keys/servidor.CRT key/etc/openvpn/certs/keys/servidor.Chave # Este arquivo deve ser mantido em segredo 

A próxima parte que você precisa encontrar é o Diffie-Hellman .PEM Quando terminar, deve ficar assim:

DH DH4096.PEM

Finalmente, encontre TLS-Auth para sua chave HMAC.

TLS-Auth/etc/OpenVPN/CERTS/KEYS/TA.chave 0 # Este arquivo é secreto

Sim, deixe o 0 lá.

Segurança de carne bovina

As configurações de criptografia no arquivo de configuração estão bem, mas elas podem ser muito melhorar. É hora de ativar melhores configurações de criptografia.

Encontre a seção que começa com, # Selecione uma cifra criptográfica. É aí que você precisa adicionar a seguinte linha abaixo, ele existe opções comentadas.

Cifra AES-256-CBC

Não é uma das opções listadas lá, mas é suportado pelo OpenVPN. Essa criptografia AES de 256 bits é provavelmente a melhor oferecida pelo OpenVPN.

Role até o final do arquivo. As próximas duas opções ainda não estão na configuração, então você precisa adicioná -las.

Primeiro, você precisa especificar um forte resumo de autenticação. Esta é a criptografia que o OpenVPN usará para autenticação do usuário. Escolha SHA512.

# Auth Digest Auth Sha512 

Em seguida, limite as cifras que o OpenVPN usará para os mais fortes. É melhor limitá -lo o mais longe possível.

# Limite Ciphers TLS-Cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384: TLS-DHE-RSA-WITH-AES-128-GCM-SHA256: TLS-DHE-RSA-A-AES-256- CBC-SHA: TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA: TLS-DHE-RSA-A-AES-128-CBC-SHA: TLS-DHE-RSA-WITH-CAMELLIA-128-CBC- Sha 

Trafico direto

Todo o material de criptografia está fora do caminho. É hora de fazer algum roteamento. Você precisa dizer ao OpenVPN para lidar com o tráfego e o DNS redirecionados.

Comece redirecionando o tráfego. Encontre a linha abaixo e descommentá -la.

Empurre "Redirect-gateway def1 bypass-dhcp"

Para rotear o DNS através do OpenVPN, você precisa dar opções DNS. Essas linhas já estão lá e comentadas também. Descompor -lhes. Se você quiser usar um servidor DNS diferente, você também pode alterar o IP para esse DNS.

Push "DHCP-OPTION DNS 208.67.222.222 "push" dhcp-option dns 208.67.220.220 " 

Configure um usuário do OpenVPN

OpenVPN é executado como root por padrão. Essa é uma ideia muito terrível. Se o OpenVPN estiver comprometido, todo o sistema está ferrado. Existem algumas linhas comentadas para executar o OpenVPN como "ninguém", mas "ninguém" geralmente está executando outros serviços também. Se você não deseja que o OpenVPN tenha acesso a nada além do OpenVPN, você precisa executá -lo como seu próprio usuário sem privilégios.

Crie um usuário do sistema para o OpenVPN executar como.

# adduser-System-shell/usr/sbin/nologin-não-criate-home OpenVPN 

Em seguida, você pode editar o arquivo de configuração, descommentando as linhas que executam o OpenVPN como "ninguém" e substituí -lo pelo nome de usuário que você acabou de fazer.

User OpenVPN Group Nogroup 


Envie logs para nulo

Existem duas opções quando se trata de toras, e ambos têm seus méritos. Você pode registrar tudo como normal e ter os troncos para voltar a voltar posteriormente, ou pode ser paranóico e fazer login para /dev/null.

Ao fazer login para /dev/null, você está apagando qualquer registro dos clientes que se conectam à VPN e para onde eles vão. Mesmo que você controla sua VPN, convém seguir esse caminho se estiver tentando ter mais privacidade.

Se você quiser destruir seus troncos, encontre o status, registro, e Append Log variáveis ​​e aponte todas elas para /dev/null. Deve se parecer semelhante ao exemplo abaixo.

status /dev /null… log /dev /null log-apen /dev /null 

Essa é a última parte da configuração. Salve e prepare -se para executar seu servidor.

Execute seu servidor

Na verdade, existem dois serviços que você precisa para começar a aumentar o OpenVPN no Debian Stretch. Comece os dois com o Systemd.

# SystemCtl Iniciar o OpenVPN # SystemCtl Iniciar o OpenVPN@Server 

Verifique se eles estão funcionando corretamente.

# status Systemctl OpenVPN*.serviço 

Permitir que ambos funcionem na startup.

# SystemCtl Ativar OpenVPN # SystemCtl Ativar OpenVPN@Server 

Agora você tem um servidor VPN em execução no Debian Stretch!

Qual é o próximo

Você está aqui. Você fez isso! Debian agora está executando o OpenVPN atrás de um firewall seguro e está pronto para os clientes se conectarem.

Na próxima seção, você configurará seu primeiro cliente e o conectará ao seu servidor.

Cliente OpenVPN

Configurar e o OpenVPN Client para conectar -se ao recém -configurado servidor OpenVPN.

Esta é a quarta e última parte da configuração de um servidor OpenVPN no Debian Stretch.

Agora que seu servidor está em execução, você pode configurar um cliente para se conectar a ele. Esse cliente pode ser qualquer dispositivo que suporta OpenVPN, que é quase qualquer coisa.

Há algo que você precisa fazer no servidor primeiro para entregar o cliente, mas depois disso, tudo se trata de configurar essa conexão.

Crie chaves do cliente

Comece fazendo um conjunto de chaves do cliente. O processo é quase idêntico ao que você usou para fazer as teclas do servidor.

cd No diretório da autoridade de certificação, defina a fonte do arquivo variável e construa as chaves.

# cd/etc/openvpn/certs # fonte ./vars # ./Build-Key FirstClient 

Você pode nomear a chave do cliente, o que você escolher. Novamente, o script fará uma série de perguntas. Os padrões devem ser bons para tudo.

Arquivo de configuração do cliente

OpenVPN fornece exemplos de configurações do cliente, além das do servidor. Crie um novo diretório para a configuração do seu cliente e copie o exemplo em.

# mkdir/etc/openvpn/clientes # cp/usr/share/doc/openvpn/exemplos/sample-config-files/cliente.conf/etc/openvpn/clientes/cliente.Ovpn 

Abra o arquivo em seu editor de texto de escolha.



Hospedeiro remoto

Encontre a linha com o controlo remoto variável. Defina -o igual ao IP do seu servidor.

Remoto 192.168.1.5 1194 

Se tornar ninguém

Não há treinamento com os homens sem rosto necessários. Basta encontrar um descomento as linhas abaixo.

Usuário ninguém Grupo Nogroup 

Configure suas chaves

Você precisa dizer à configuração do cliente onde encontrar as chaves que ele precisa também. Encontre as seguintes linhas e edite -as para combinar com o que você configurou.

CA CA.CRT Cert FirstClient.CHAVE CRT FirstClient.chave 

Certifique -se de usar os nomes reais do certificado e chave do cliente. O caminho está bem. Você estará colocando tudo no mesmo diretório.

Encontre e descomentro a linha para HMAC.

TLS-AUTH TA.chave 1 

Especifique a criptografia

O cliente precisa saber qual criptografia o servidor está usando. Assim como o servidor, algumas dessas linhas precisam ser adicionadas em.

Encontre o cifra variável. É comentado. Descompor -o e adicione a cifra que você usou no servidor.

Cifra AES-256-CBC 

Adicione o resumo da autenticação e as restrições cifras no final da configuração do cliente.

# Authentication Digest Auth Sha512 # Restrições de cifra TLS-CIPHER TLS-DHE-RSA-AS-AES-256-GCM-SHA384: TLS-DHE-RSA-O-AES-128-GCM-SHA256: TLS-DHE-RSA-WITH-WITH -Aes-256-cbc-sha: tls-dhe-rsa-with-camellia-256-cbc-sha: tls-dhe-rsa--que -128-cbc-sha 

Salve sua configuração e saída.

Envie um tarball ao cliente

Você precisa embalar a configuração do seu cliente e as chaves em um tarball e enviá -las para o cliente. Carregue tudo em um tarball para simplificar as coisas no final do cliente.

# tar cjf/etc/openvpn/clientes/primeiroclient.alcatrão.xz -c/etc/openvpn/certs/keys ca.CRT FirstClient.CRT FirstClient.chave TA.key -c/etc/openvpn/clientes/cliente.Ovpn 

Agora, você pode transferir esse tarball para o seu cliente, mas você escolher.

Conectar

Supondo que seu cliente seja uma distribuição do Debian, o processo de conexão é muito simples. Instale o OpenVPN como você fez no servidor.

# APT Instale OpenVPN

Extraia seu tarball para o /etc/openvpn diretório que a instalação criou.

# cd/etc/openvpn # tar xjf/path/to/primeiroclient.alcatrão.xz 

Você pode precisar renomear cliente.Ovpn para OpenVPN.conf. Você receberá um erro na inicialização se o fizer.

Inicie e habilite o OpenVPN com Systemd.

# SystemCtl Iniciar o OpenVPN # SystemCtl Ativar OpenVPN 

Conclusão

Você tem um servidor VPN em funcionamento e um cliente conectado! Você pode seguir o mesmo procedimento detalhado neste guia para seus outros clientes também. Certifique -se de criar teclas separadas para cada uma. Você pode usar o mesmo arquivo de configuração, embora.

Você também pode querer ter certeza de que tudo está funcionando corretamente. Vá para o teste de vazamento do DNS para garantir que seu IP patche o servidor e você não esteja usando o DNS do seu IPS.

Tutoriais do Linux relacionados:

  • Ubuntu básico 22.04 Configuração do OpenVPN Client/Server Connection
  • Como configurar um servidor OpenVPN no Ubuntu 20.04
  • Coisas para instalar no Ubuntu 20.04
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Download do Linux
  • Instale Arch Linux na estação de trabalho VMware
  • Melhor distro Linux para desenvolvedores
  • Comandos Linux: os 20 comandos mais importantes que você precisa para…
  • Como criar uma VPN no Ubuntu 20.04 Usando Wireguard
  • Uma introdução à automação, ferramentas e técnicas do Linux