Este tutorial descreve os passos necessários para a criação de um servidor VPN utilizando Ubuntu. VPN (do inglês Virtual Private Network, ou Rede Privada Virtual) é uma rede de comunicações privada normalmente utilizada por uma empresa ou um conjunto de empresas e/ou instituições, construída em cima de uma rede de comunicações pública (como por exemplo, a Internet). O tráfego de dados é levado pela rede pública utilizando protocolos padrão, que podem utilizar criptografia para a segurança da informação. Dessa forma, é possível estar em casa e conectar-se à rede local de sua empresa, por exemplo.Tomando como ponto de partida o Ubuntu já instalado, com interface(s) de rede devidamente configurada(s), temos os seguintes passos:
1. Instalar servidor VPN:
sudo apt-get install pptpd -y
2. Após instalado, é necessário configurar o servidor:
vi /etc/pptpd.conf
Edite as linhas "localip"e "remoteip" (remova o # das linhas, caso exista) para que sejam o IP do servidor VPN e o range de IPs das máquinas que se conectarem ao servidor, respectivamente. Exemplo:
localip 172.30.1.1
remoteip 172.30.1.2-245
3. Criar usuários VPN:
vi /etc/ppp/chap-secrets
O arquivo é estruturado em 4 campos:
- Client, que é o nome do usuário que será usado pela máquina cliente para fazer login;
- Server, que é o nome do servidor VPN (no nosso caso "pptpd", que é padrão);
- Secret, que é a senha usada pelo usuário para login;
- IP adresses, que pode ser configurado como qualquer IP (*) ou um IP específico (172.30.1.2, por exemplo).
Um exemplo de aplicação:
# Secrets for authentication using CHAP
# client server secret IP addresses
usuario pptpd senha1 172.30.1.2
4. Se desejar que os usuários da rede VPN consigam compartilhar arquivos, ou mesmo pingar, entre si, é necessário seguir esses passos. Se não, vá direto ao passo 6:
vi /etc/rc.local
Adicione as seguintes linhas acima da linha que diz "exit 0":
# Redirecionamento PPTP IP
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# SSH Brute Force Protection
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 8 --rttl --name SSH -j DROP
Obs: Talvez seja necessário alterar "eth0", caso não esteja usando essa interface de rede para a VPN.
5. Ativar o redirecionamento de IP:
vi /etc/sysctl.conf
Descomente a linha "net.ipv4.ip_forward=1" (em outras palavras, remova o # do início da linha).
6. Reinicie o serviço:
killall pptpd
pptpd
Obs: Preferencialmente, reinicie o servidor ao invés de simplesmente reiniciar o serviço pptpd.
Fonte: Ubuntu Geek, Wikipedia