VPN - usando SSH
Este artigo ensina como fazer o SSH trabalhar como uma VPN.
Parte 3: Definindo rotas
Todo o trabalho até então, foi apenas para estabelecer a conexão do cliente com servidor permitindo a comunicação entre ambos.
Porém, para que implantar uma VPN na rede, se não conseguir se comunicar com os outros 'hosts' da rede?
Como este não é o propósito do artigo, então vamos adicionar rotas para fazer com que o cliente se conecte aos 'hosts' da rede do servidor.
No servidor, execute os comandos abaixo para fazer o roteamento usando o 'root':
# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -s 10.5.5.2 -A POSTROUTING -o eth0 -j MASQUERADE
Explicação:
O primeiro comando faz com que o redirecionamento de pacotes seja ativado no servidor, permitindo que os pacotes do cliente seja redirecionado para os outros 'hosts' da rede e vice-versa.
O segundo comando faz com que todo tráfego vindo do cliente seja mascarado, neste caso estou supondo que a interface 'eth0' seja a interface conectada à rede local do servidor.
No cliente, ative uma rota para a rede do local do servidor:
# route add -net 192.168.222.0 netmask 255.255.255.0 gw 10.5.5.1 dev tap0
No comando acima, o '192.168.222.0' indica a faixa de endereços usada na rede local do servidor. O '255.255.255.0' indica a máscara, e o '10.5.5.1' indica o endereço da interface 'tap0' do servidor.
Com isso, o cliente passa a encaminhar todas as tentativas de acesso a endereços dentro da faixa especificada para o servidor (usando a interface 'tap0'), e o servidor as encaminha para a interface de rede local.
Referências:
Porém, para que implantar uma VPN na rede, se não conseguir se comunicar com os outros 'hosts' da rede?
Como este não é o propósito do artigo, então vamos adicionar rotas para fazer com que o cliente se conecte aos 'hosts' da rede do servidor.
No servidor, execute os comandos abaixo para fazer o roteamento usando o 'root':
# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -s 10.5.5.2 -A POSTROUTING -o eth0 -j MASQUERADE
Explicação:
O primeiro comando faz com que o redirecionamento de pacotes seja ativado no servidor, permitindo que os pacotes do cliente seja redirecionado para os outros 'hosts' da rede e vice-versa.
O segundo comando faz com que todo tráfego vindo do cliente seja mascarado, neste caso estou supondo que a interface 'eth0' seja a interface conectada à rede local do servidor.
No cliente, ative uma rota para a rede do local do servidor:
# route add -net 192.168.222.0 netmask 255.255.255.0 gw 10.5.5.1 dev tap0
No comando acima, o '192.168.222.0' indica a faixa de endereços usada na rede local do servidor. O '255.255.255.0' indica a máscara, e o '10.5.5.1' indica o endereço da interface 'tap0' do servidor.
Com isso, o cliente passa a encaminhar todas as tentativas de acesso a endereços dentro da faixa especificada para o servidor (usando a interface 'tap0'), e o servidor as encaminha para a interface de rede local.
Conclusão
Esta é uma forma de utilizar uma VPN usando o SSH como ferramenta principal e bastante segura.Referências:
Valews!!!