Uma rede privada virtual (VPN) é uma maneira de mascarar sua identidade e localização pela Internet. Além disso, se você estiver tentando se conectar ao seu local de trabalho ou dispositivo doméstico remotamente, uma VPN é útil para rotear seu tráfego. Você tem a opção de comprar VPNs de fontes confiáveis ou até criar o seu próprio SSH.
A terceirização de VPNs representa diferentes riscos de segurança. No entanto, você pode criar uma conexão VPN a partir de uma máquina host e conectar -se a um dispositivo remoto via SSH com o comando sshuttle linux. Você deve ter o python instalado na máquina host e ser conectado como root para que isso funcione. Quanto à máquina remota, ela não precisa ser raiz. Desde que você tenha sua senha, o Sshuttle funcionará bem.
Além disso, uma vez que a conexão for estabelecida, o Sshuttle fará o upload do código -fonte do Python para a máquina remota, eliminando o aborrecimento de você ter que instalar o python.
Como instalar Sshuttle
Instalar o Sshuttle é direto. Se você estiver no Debian ou Ubuntu, use o seguinte comando para instalá -lo no gerenciador de pacotes:
1 | $ sudo apt-get install sshuttle |
Use o seguinte comando se você usar o Fedora, Rhel ou CentOS. Como alternativa, você pode clonar seu repositório Git e executar o arquivo de configuração.
1 2 3 4 5 | $ sudo dnf install sshuttle |
Usando Sshuttle para configurar uma VPN
Primeiro, você deve instalar o Sshuttle na máquina host para criar uma conexão VPN. Além disso, você precisa do nome do host e do endereço IP do dispositivo remoto.
Existem diferentes maneiras de usar Sshuttle.
Proxyy todas as conexões locais
A melhor maneira de testar o Sshuttle é proxyndo todas as conexões locais sem envolver SSH. O comando para isso é:
1 | $ sshuttle -v 0/0 |
Testando a conexão com o servidor remoto
É possível testar sua conexão com a máquina remota usando Sshuttle. Nós usamos o "-N" opção para permitir que o servidor decida a rota e "-H" para hosts automáticos. Nosso comando será:
1 | $ sshuttle -vnhr [email protected] |
O IP é a máquina remota que estamos testando.
Tunnelando todo o tráfego
Você pode usar o Sshuttle para encantar todo o tráfego para um servidor SSH remoto. Observe que o Sshuttle apenas encaminha solicitações DNS e tráfego TCP para o servidor remoto. Outros protocolos, como o UDP, não são suportados.
1 | $ sshuttle - -dns -vr [email protected] 0/0 |
O 0/0 é uma abreviação para o servidor DNS 0.0.0.0, "Kyle" é o nome de usuário do servidor remoto e 192.168.88.217 é seu IP. Além disso, a conexão deve indicar que é "conectado" para mostrar que a VPN criada está funcionando.
Excluindo tráfego específico
O "-X" a opção exclui certos tráfego ao usar o Sshuttle. Especifique o endereço IP a ser excluído no tunelamento. Por exemplo, para excluir “192.168.88. 21 ”, O comando será como mostrado abaixo:
1 | $ sshuttle - -dns -vr [email protected] -x 192.168.88.21 |
Subnets específicas de tunelamento
Semelhante a excluir tráfego específico, você pode escolher quais sub -redes servir sobre a VPN criada. Você pode especificar o endereço IP ou os intervalos para as sub -redes. Por exemplo, para especificar um determinado IP e uma faixa de sub -rede, o comando será:
1 | $ sudo sshuttle -r user@remote_host 192.168.88.2/24 192.168.0.0/16 |
O único tráfego que será túnel é para as sub -redes IP especificadas, Classe B e C. Especificar as sub -redes para o túnel funciona melhor ao lidar com muitos hosts em uma extensa rede, pois nem todas as conexões exigem a VPN. Você também pode adicionar o “-Dns” opção para encaminhar consultas DNS para o servidor.
Conclusão
Existe um risco na compra ou no uso de VPNs disponíveis ao público para encantar suas conexões. Ao trabalhar com servidores e máquinas remotas, pode ser necessário rotear seu tráfego e mantê -lo seguro usando uma VPN. Este guia abordou como instalar a ferramenta Sshuttle Linux, que permite criar uma VPN sobre uma conexão SSH. Com Sshuttle, você não precisa mais se preocupar com a VPN. Isso lhe dará a proteção necessária para o seu tráfego ao usar os sistemas Linux.