Linux

Como configurar VPN WireGuard no Debian 10

Como configurar VPN WireGuard no Debian 10

WireGuard é uma VPN (Rede Privada Virtual) de uso geral que utiliza criptografia de última geração. Em comparação com outras soluções VPN populares, como IPsec e OpenVPN, o WireGuard é geralmente mais rápido, fácil de configurar e ocupa menos espaço. É multiplataforma e pode ser executado em quase qualquer lugar, incluindo Linux, Windows, Android e macOS.

Wireguard é uma VPN ponto a ponto; não usa o modelo cliente-servidor. Dependendo da configuração, um par pode atuar como um servidor ou cliente tradicional. Funciona criando uma interface de rede em cada dispositivo par que atua como um túnel. Os pares se autenticam trocando e validando chaves públicas, imitando o modelo SSH. As chaves públicas são mapeadas com uma lista de endereços IP permitidos no túnel. O tráfego VPN é encapsulado em UDP.

Este artigo explica como instalar e configurar o WireGuard no Debian 10 que atuará como um servidor VPN. Também mostraremos como configurar o WireGuard como um cliente no Linux, Windows e macOS. O tráfego do cliente será roteado através do servidor Debian 10.

Esta configuração pode ser usada como proteção contra ataques Man in the Middle, navegar na web anonimamente, contornar conteúdo geo-restrito ou permitir que seus colegas que trabalham em casa se conectem à rede da empresa com segurança.

Pré-requisitos #

Para seguir este guia, você precisará de uma máquina com Debian 10 instalado. Você também precisa de root ou [acesso sudo] (https: // linuxize.com / post / how-to-create-a-sudo-user-on-debian / para instalar pacotes e fazer alterações no sistema.

Configurando o servidor WireGuard #

Começaremos instalando o pacote WireGuard na máquina Debian e configurá-lo para atuar como um servidor. Também configuraremos o sistema para rotear o tráfego dos clientes através dele.

Instale o WireGuard no Debian 10 #

WireGuard está disponível nos repositórios de backports do Debian. Para adicionar o repositório ao seu sistema, execute:

echo 'deb http: // ftp.debian.org / debian buster-backports main '| sudo tee / etc / apt / sources.Lista.d / buster-backports.Lista

Assim que o repositório estiver habilitado, atualize o cache apt e instale o módulo e ferramentas WireGuard:

atualização do apt sudosudo apt install wireguard
WireGuard é executado como um módulo de kernel.

Configurando WireGuard #

Você pode configurar e gerenciar as interfaces WireGuard com o wg e wg-rápido ferramentas de linha de comando.

Cada dispositivo na rede VPN WireGuard precisa ter uma chave privada e pública. Execute o seguinte comando para gerar o par de chaves:

wg genkey | sudo tee / etc / wireguard / privatekey | wg pubkey | sudo tee / etc / wireguard / publickey

Os arquivos são gerados no / etc / wireguard diretório. Use o gato ou menos comandos para ver o conteúdo dos arquivos. A chave privada nunca deve ser compartilhada com ninguém e deve sempre ser mantida em segurança.

O Wireguard também oferece suporte a uma chave pré-compartilhada, que adiciona uma camada adicional de criptografia de chave simétrica. Esta chave é opcional e deve ser única para cada par de pares.

A próxima etapa é configurar o dispositivo de túnel que irá rotear o tráfego VPN.

O dispositivo pode ser configurado a partir da linha de comando usando o ip e wg comandos, ou criando manualmente o arquivo de configuração. Vamos criar a configuração com um editor de texto.

Abra seu editor e crie um novo arquivo chamado wg0.conf com o seguinte conteúdo:

sudo nano / etc / wireguard / wg0.conf
/ etc / wireguard / wg0.conf
[Interface] Endereço = 10.0.0.1/24 SaveConfig = true ListenPort = 51820 PrivateKey = SERVER_PRIVATE_KEY PostUp = iptables -A FORWARD -i% i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE PostDown = iptables -D FORWARD -i% i -j ACEITAR; iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE 

Você pode nomear a interface como quiser. No entanto, é recomendado usar algo como wg0 ou wgvpn0.

As configurações na seção de interface têm o seguinte significado:

O wg0.conf e chave privada os arquivos não devem ser legíveis para usuários normais. Usar chmod para definir as permissões de arquivos para 600:

sudo chmod 600 / etc / wireguard / privatekey, wg0.conf

Uma vez feito isso, traga o wg0 interface usando os atributos especificados no arquivo de configuração:

sudo wg-quick up wg0

O resultado será mais ou menos assim:

[#] link ip adicionar wg0 tipo wireguard [#] wg setconf wg0 / dev / fd / 63 [#] endereço ip -4 adicionar 10.0.0.1/24 dev wg0 [#] ip link set mtu 1420 up dev wg0 [#] iptables -A FORWARD -i wg0 -j ACEITAR; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE 

Para verificar o estado e a configuração da interface, execute:

sudo wg mostrar wg0
interface: wg0 chave pública: + Vpyku + gjVJuXGR / OXXt6cmBKPdc06Qnm3hpRhMBtxs = chave privada: (oculta) porta de escuta: 51820 

Você também pode verificar o estado da interface com ip a show wg0:

ip a show wg0
4: wg0:  mtu 1420 qdisc noqueue estado DESCONHECIDO grupo padrão qlen 1000 link / nenhum inet 10.0.0.1/24 escopo global wg0 valid_lft para sempre preferred_lft para sempre 

WireGuard pode ser gerenciado com Systemd. Para trazer a interface WireGuard no momento da inicialização, execute o seguinte comando:

sudo systemctl enable wg-quick @ wg0

Configuração de rede e firewall do servidor #

O encaminhamento de IP deve estar habilitado para que o NAT funcione. Abra o / etc / sysctl.conf arquivo e adicione ou descomente a seguinte linha:

sudo nano / etc / sysctl.conf
/ etc / sysctl.conf
internet.ipv4.ip_forward = 1

Salve o arquivo e aplique a alteração:

sudo sysctl -p
internet.ipv4.ip_forward = 1 

Se você estiver usando UFW para gerenciar seu firewall, você precisa abrir o tráfego UDP na porta 51820:

sudo ufw allow 51820 / udp

É isso. O par Debian que atuará como um servidor foi configurado.

Número de configuração de clientes Linux e macOS

As instruções de instalação para todas as plataformas suportadas estão disponíveis em https: // wireguard.com / install / . Em sistemas Linux, você pode instalar o pacote usando o gerenciador de pacotes de distribuição e no macOS com fermentar.

Depois de instalado, siga as etapas abaixo para configurar o dispositivo cliente.

O processo de configuração de um cliente Linux e macOS é praticamente o mesmo que você fez para o servidor. Primeiro, gere as chaves pública e privada:

wg genkey | sudo tee / etc / wireguard / privatekey | wg pubkey | sudo tee / etc / wireguard / publickey

Crie o arquivo wg0.conf e adicione o seguinte conteúdo:

sudo nano / etc / wireguard / wg0.conf
/ etc / wireguard / wg0.conf
[Interface] PrivateKey = CLIENT_PRIVATE_KEY Address = 10.0.0.2/24 [Peer] PublicKey = SERVER_PUBLIC_KEY Endpoint = SERVER_IP_ADDRESS: 51820 AllowedIPs = 0.0.0.0/0 

As configurações na seção de interface têm o mesmo significado que na configuração do servidor:

A seção de mesmo nível contém os seguintes campos:

Se você precisar configurar clientes adicionais, basta repetir as mesmas etapas usando um endereço IP privado diferente.

Número de configuração de clientes do Windows

Baixe e instale o pacote Windows msi do site da WireGuard .

Uma vez instalado, abra o aplicativo WireGuard e clique em “Adicionar túnel” -> “Adicionar túnel vazio…” conforme mostrado na imagem abaixo:

Um par de chaves públicas é criado automaticamente e exibido na tela.

Insira um nome para o túnel e edite a configuração da seguinte maneira:

[Interface] PrivateKey = CLIENT_PRIVATE_KEY Address = 10.0.0.2/24 [Peer] PublicKey = SERVER_PUBLIC_KEY Endpoint = SERVER_IP_ADDRESS: 51820 AllowedIPs = 0.0.0.0/0 

Na seção de interface, adicione uma nova linha para definir o endereço do túnel do cliente.

Na seção de mesmo nível, adicione os seguintes campos:

Uma vez feito isso, clique no botão “Salvar”.

Adicione o cliente par ao servidor #

A última etapa é adicionar a chave pública do cliente e o endereço IP ao servidor. Para fazer isso, execute o seguinte comando no servidor Debian:

sudo wg set wg0 peer CLIENT_PUBLIC_KEY permitido-ips 10.0.0.2

Certifique-se de alterar o CLIENT_PUBLIC_KEY com a chave pública que você gerou na máquina cliente (sudo cat / etc / wireguard / publickey) e ajustar o endereço IP do cliente se for diferente. Os usuários do Windows podem copiar a chave pública do aplicativo WireGuard.

Uma vez feito isso, volte para a máquina do cliente e abra a interface de tunelamento.

Clientes Linux e macOS #

Execute o seguinte comando para abrir a interface:

sudo wg-quick up wg0

Agora você deve estar conectado ao servidor Debian, e o tráfego de sua máquina cliente deve ser roteado através dele. Você pode verificar a conexão com:

sudo wg
interface: wg0 chave pública: gFeK6A16ncnT1FG6fJhOCMPMeY4hZa97cZCNWis7cSo = chave privada: (oculto) porta de escuta: 53527 fwmark: 0xca6c peer: r3imyh3MCYggaZACmkx + CxlD6u ponto final qgAmIC = XXX CxlD6 + qgAmIC: XXX.Xxx.Xxx.XXX: 51820 ips permitidos: 0.0.0.0/0 último handshake: 53 segundos atrás transferência: 3.23 KiB recebidos, 3.50 KiB enviados 

Você também pode abrir seu navegador, digitar “qual é meu ip” e deverá ver o endereço IP do seu servidor Debian.

Para parar o tunelamento, desça o wg0 interface:

sudo wg-quick down wg0

Clientes Windows #

Se você instalou o WireGuard no Windows, clique no botão “Ativar”. Assim que os pares estiverem conectados, o status do túnel mudará para Ativo:

Conclusão #

Mostramos como instalar o WireGuard no Debian 10 e configurá-lo como um servidor VPN. Esta configuração permite que você navegue na web anonimamente, mantendo seus dados de tráfego privados.

Se você estiver enfrentando algum problema, sinta-se à vontade para deixar um comentário.

Como alterar o ponteiro do mouse e tamanho do cursor, cor e esquema no Windows 10
O ponteiro do mouse e o cursor no Windows 10 são aspectos muito importantes do sistema operacional. Isso também pode ser dito para outros sistemas ope...
Mecanismos de jogos gratuitos e de código aberto para o desenvolvimento de jogos Linux
Este artigo cobrirá uma lista de mecanismos de jogo gratuitos e de código aberto que podem ser usados ​​para desenvolver jogos 2D e 3D no Linux. Exist...
Tutorial de Shadow of the Tomb Raider para Linux
Shadow of the Tomb Raider é a décima segunda adição à série Tomb Raider - uma franquia de jogos de ação e aventura criada pela Eidos Montreal. O jogo ...