Wireguard - um túnel VPN rápido, moderno e seguro para Linux
- 1987
- 72
- Mr. Mitchell Hansen
Wireguard é uma moderna, segura, de plataforma cruzada e de uso geral VPN implementação que usa criptografia de ponta. Ele pretende ser rápido, mais simples, mais magro e mais funcional que o iPsec e pretende ser mais executado do que OpenVPN.
Ele foi projetado para uso em várias circunstâncias e pode ser implantado em interfaces incorporadas, roteadores de backbone totalmente carregados e supercomputadores; e é executado nos sistemas operacionais Linux, Windows, MacOS, BSD, iOS e Android.
Leitura recomendada: 13 melhores serviços de VPN com assinatura vitalícia
Apresenta uma interface extremamente básica, porém poderosa, que visa ser simples, tão fácil de configurar e implantar como SSH. Seus principais recursos incluem uma interface de rede simples, roteamento de chave criptográfica, roaming integrado e suporte de contêineres.
Observe que, no momento da redação deste artigo, está sob desenvolvimento pesado: algumas de suas partes estão trabalhando em direção a um estável 1.0 lançamento, enquanto outros já estão lá (funcionando bem).
Neste artigo, você aprenderá a instalar e configurar Wireguard no Linux para criar um túnel VPN entre dois hosts Linux.
Ambiente de teste
Para este guia, nossa configuração (nome do host e IP público) é o seguinte:
Nó 1: Tecmint-AppServer1: 10.20.20.4 Nó 2: Tecmint-dbServer1: 10.20.20.3
Como instalar Wireguard em distribuições Linux
Faça login nos dois nós e instale Wireguard Usando o seguinte comando apropriado para suas distribuições Linux da seguinte forma.
Instale o Wireguard no RHEL 8
$ sudo yum install https: // dl.FedoraProject.org/pub/epel/epel-latest-8.Noarch.RPM $ SUDO Manager de assinatura repositórios-Codeready-Builder-For-Rhel-8-$ (arco) -RPMS $ sudo yum copr atabilitar jdoss/wireguard $ sudo yum install wireguard-dkms wireguard-tools
Instale Wireguard no CentOS 8
$ sudo yum install-libelease $ sudo yum configuração de configuração-habilitada por powertools $ sudo yum copr ativar jdoss/wireguard $ sudo yum install wireguard-dkms wireguard-tools
Instale o Wireguard no RHEL/CENTOS 7
$ sudo yum install https: // dl.FedoraProject.org/pub/epel/epel-latest-7.Noarch.RPM $ sudo curl -o /etc /yum.Repos.d/jdoss-wireguard -epel-7.repo https: // copr.Fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard -epel-7.repo $ sudo yum install wireguard-dkms wireguard-tools
Instale Wireguard em Fedora
$ sudo dnf install wireguard-tools
Instale Wireguard no Debian
# echo "Deb http: // Deb.Debian.org/debian/instável principal ">/etc/apt/fontes.lista.d/instável.Lista # printf 'pacote: *\ npin: liberação a = instável \ npin-prioridade: 90 \ n'>/etc/apt/preferências.D/Limit-IndiveLable # APT ATUALIZAÇÃO # APT Install Wireguard
Instale Wireguard no Ubuntu
$ sudo add-aprop-repository ppa: wireguard/wireguard $ sudo apt-get update $ sudo apt-get install wireguard
Instale o Wireguard no OpenSuse
$ sudo zypper addrepo -f obs: // rede: vpn: wireguard wireguard $ sudo zypper install wireguard-kmp-default wireguard-tools
Configurando um túnel VPN Wireguard entre dois hosts Linux
Quando a instalação de Wireguard está completo nos dois nós, você pode reiniciar seus nós ou adicionar o módulo Wireguard do kernel Linux usando o seguinte comando em ambos os nós.
$ sudo modprobe wireguard ou # modprobe wireguard
Em seguida, gerar chaves públicas e privadas codificadas por base64 usando o WG utilidade em ambos os nós, como mostrado.
---------- No nó 1 ---------- $ umask 077 $ wg genkey> private_appserver1 ---------- No nó 2 ---------- $ umask 077 $ wg genkey> private_dbserver1 $ wg pubkey < private_dbserver1Gerar chaves nos dois nós
Em seguida, você precisa criar uma interface de rede (e.g WG0) para WireGaurd nos pares, como mostrado abaixo. Em seguida, atribua endereços IP à nova interface de rede criada (para este guia, usaremos a rede 192.168.10.0/24).
---------- No nó 1 ---------- $ sudo ip link add dev wg0 tipo wireguard $ sudo ip addr add 192.168.10.1/24 Dev WG0 ---------- No nó 2 ---------- $ sudo ip link add dev wg0 tipo wireguard $ sudo ip addr add 192.168.10.2/24 Dev WG0
Para visualizar as interfaces de rede anexadas nos pares e em seus endereços IP, use o seguinte comando IP.
$ ip anúncioVeja interfaces de rede com endereços IP
Em seguida, atribua a chave privada para cada par para o WG0 interface de rede e traga a interface como mostrado.
---------- No nó 1 ---------- $ sudo wg conjunto wg0 key privado ./private_appserver1 $ sudo ip link Conjunto wg0 up ---------- No nó 2 ---------- $ sudo wg conjunto wg0 key privado ./private_dbserver1 $ sudo ip link Conjunto wg0 up
Agora que ambos os links estão atualizados com as chaves privadas associadas a eles, execute o WG utilidade sem argumentos para recuperar a configuração das interfaces de guardão de fio nos pares. Em seguida, crie seu túnel VPN de Wireguard como segue.
O par (chave pública), permitido-ips (máscara de rede/sub -rede) e endpoint (Public IP: Port) é do par oposto.
---------- No Node1 (use o IPS e a chave pública do nó 2) ---------- $ sudo wg $ sudo wg set wg0 par mdaewgzvulxp4gvoj4umn7bw/uniqebionqjyzezsc0 = permitido-ips 192.168.10.0/24 terminal 10.20.20.3: 54371 ---------- No Node2 (use o IPS e a chave pública do nó 1) ---------- $ sudo wg $ sudo wg conjunto wg0 6ynlmpkbfsl2ijx7z996zhl2bnfz9psp9v6bhohjvmk = permitido-ips 192.168.10.0/24 terminal 10.20.20.4: 42930Crie o túnel VPN de Wireguard entre as máquinas Linux
Testando o túnel VPN de Wireguard entre os sistemas Linux
Depois que o túnel VPN de Wireguard for criado, ping no par oposto usando o endereço da interface de rede Wireguard. Em seguida, execute o WG utilidade mais uma vez para confirmar um aperto de mão entre os pares, como mostrado.
---------- No nó 1 ---------- $ ping 192.168.10.2 $ sudo wg ---------- No nó 2 ---------- $ ping 192.168.10.1 $ sudo wgTeste de Wireguard VPN Tunnel entre máquinas Linux
É isso por agora! Wireguard é uma solução VPN moderna, segura, e poderosa e fácil de configurar para o futuro. Está passando por um desenvolvimento pesado, portanto, trabalha em andamento. Você pode obter mais informações, especialmente sobre seu funcionamento interno interno e outras opções de configuração da página inicial do Wireguard.
- « PYIDM - Uma alternativa de código aberto ao IDM (Internet Download Manager)
- Aprenda Python Set/Frozenset Data Structure - Parte 4 »