A maneira mais fácil de configurar o Ubuntu como um servidor VPN

68

Eu sei que existem muitos tutoriais na net para configurar o cliente e o servidor VPN.

Eu acho que é um simples / curto , estou interessado apenas na parte do servidor.

Para o cliente, usarei o OS X, então prefiro uma solução que use L2TP over IPsec ou PPTP , porque suponho que o IPsec da Cisco custaria algo.

Eu não quero gastar muitas horas configurando. Você sabe, talvez alguém já tenha feito um script de configuração:)

Nota: Estou usando uma micro instância do EC2 executando o Ubuntu 12.04 nele.

    
por sorin 06.04.2012 / 22:47

5 respostas

23

UPDATE : A partir da Sierra, o macOS não suporta mais o PPTP vpn. Esta resposta não é válida para os clientes macOS Sierra e além.

PPTP via PoPToP é fácil

  1. apt-get install pptpd
  2. edite /etc/pptpd.conf e defina a opção remoteip para um intervalo na sua rede que NÃO é atendido pelo seu servidor DHCP.
  3. edite /etc/ppp/chap-secrets e adicione um nome de usuário e senha

por exemplo,

vpnuser pptpd vpnpassword *

Isso é tudo o que é necessário para configurar o pptp. Agora teste-o com o seu cliente OS X.

    
por Jay _silly_evarlast_ Wren 06.04.2012 / 23:24
87

WARNING: PPTP IS AN INSECURE PROTOCOL! Not only has the encryption been breached, but it sends your authentication in clear text and is easily intercepted. It has been estimated that the amount of time required to brute-force the password is roughly equivalent to the time required to brute-force a single DES key. Consider using OpenVPN or another VPN architecture instead of PPTP!

Eu usei este guia para configurar um servidor VPN PPTP no meu servidor Ubuntu 12.04.

Para resumir os principais pontos do link:

1: instale pptpd e ufw . iptables pode ser usado no lugar do ufw, mas para facilitar, ufw é melhor se você não souber iptables .

sudo apt-get install pptpd ufw

2: Abra as portas necessárias. O guia sugere 22 (SSH) e 1723 para o pptp vpn.

sudo ufw allow 22
sudo ufw allow 1723
sudo ufw enable

3: edite /etc/ppp/pptpd-options . Abra o arquivo com seu editor favorito (o meu nano, então o comando para mim é sudo nano /etc/ppp/pptpd-options ), e comente essas linhas colocando um # antes delas, se você quiser que isso funcione universalmente em todos os sistemas operacionais:

refuse-pap
refuse-chap
refuse-mschap

Você pode comentar esta linha se quiser desabilitar a criptografia: require-mppe-128

4: Ao editar /etc/ppp/pptpd-options , adicione servidores DNS para a VPN. Este exemplo usa servidores OpenDNS:

ms-dns 208.67.222.222
ms-dns 208.67.220.220

5: edite /etc/pptpd.conf . Abra o arquivo com seu editor favorito (o meu nano, então o comando para mim é sudo nano /etc/pptpd.conf ). Você precisa adicionar os IPs VPN locais para o sistema, então adicione:

localip 10.99.99.99
remoteip 10.99.99.100-199

Se o seu sistema for um VPS, use o IP público para "localip". Se não estiver e estiver em uma rede local, use o IP de rede do seu computador. Use IPs e intervalos diferentes se esses IPs existirem na sua sub-rede! Se você não conhece seu IP público do seu VPS, encontre-o executando dig +short myip.opendns.com @resolver1.opendns.com

6: edite /etc/ppp/chap-secrets . Abra o arquivo com seu editor favorito (o meu nano, então o comando para mim é sudo nano /etc/ppp/chap-secrets ) e adicione os dados de autenticação.
O formato para /etc/ppp/chap-secrets é:

[Username] [Service] [Password] [Allowed IP Address]

Um exemplo seria: sampleuser pptpd samplepassword *

7: Reinicie o pptpd. Execute este comando no terminal: sudo /etc/init.d/pptpd restart

8: Edite /etc/sysctl.conf . Abra o arquivo com seu editor favorito (o meu nano, então o comando para mim é sudo nano /etc/sysctl.conf ). Desmarque a seguinte linha (removendo # no início) em /etc/sysctl.conf : net.ipv4.ip_forward=1
Recarregue a configuração: sudo sysctl -p

9: Este passo pressupõe que você tenha ufw.
Edite /etc/default/ufw e altere a opção DEFAULT_FORWARD_POLICY de DROP para ACCEPT

10: Este passo assume que você tem ufw.
Edite /etc/ufw/before.rules e adicione o seguinte no início de /etc/ufw/before.rules ou antes das regras *filter (recomendado):

# NAT table rules
*nat

:POSTROUTING ACCEPT [0:0]
# Allow forward traffic to eth0
-A POSTROUTING -s 10.99.99.0/24 -o eth0 -j MASQUERADE

# Process the NAT table rules
COMMIT

Se você tiver o kernel versão 3.18 e mais recente (você pode verificar isso executando uname -r ), adicione também as seguintes linhas antes da linha # drop INVALID packets ... :

-A ufw-before-input -p 47 -j ACCEPT

11: Reinicie o firewall, atualize os conjuntos de regras e aplique as regras que adicionamos aos arquivos /etc/ufw/*.rules : sudo ufw disable && sudo ufw enable

Aviso: Se tiver outras portas que você precisa abrir, como HTTPS, se o seu servidor hospeda um site, você precisa adicionar essas portas individualmente à lista permitida com sudo ufw allow <PORT>

    
por Thomas Ward 07.06.2013 / 21:47
19

PPTP VPN no Ubuntu 12.04 Exemplo

Aqui está um rápido tutorial para configurar um servidor PPTP VPN básico no Ubuntu 12.04.

Install Necessary Packages

                          sudo apt-get install ppp pptpd

Configure PPTP IP Ranges on the Server

                          sudo nano /etc/pptpd.conf

Adicione as seguintes linhas no final

                          localip 10.89.64.1
                          remoteip 10.89.64.100-150

Isso configura o servidor PPTP para usar o IP 10.89.64.1 ao distribuir o intervalo de IPs 10.89.64.100 a 10.89.64.150 para clientes PPTP. Altere-os como desejar, desde que sejam endereços IP privados e não entrem em conflito com os endereços IP já utilizados pelo seu servidor.

Configure DNS Servers to Use When Clients Connect to this PPTP Server

                          sudo nano /etc/ppp/pptpd-options

Modifique OU Adicione as seguintes linhas no final

                          ms-dns 8.8.8.8
                          ms-dns 8.8.4.4

Create a PPTP User

                          sudo nano /etc/ppp/chap-secrets

Append a line at the bottom so your file looks something like:

                          # client    server  secret          IP addresses
                          test        pptpd   abcd1234        *

Configure NAT for PPTP Connections

Sem essa etapa, você poderá se conectar, mas sua conexão não poderá carregar nenhuma conexão da Web neste servidor.

                          sudo nano /etc/rc.local

Adicione o seguinte à parte inferior direita antes da linha "sair 0":

                          iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Assumindo eth0, você pode usar ifconfig para verificar o nome da rede.

Enable IPv4 forwading:

                          sudo nano /etc/sysctl.conf

Uncomment the following line:

                          net.ipv4.ip_forward=1

Then reload the configuration:

                          sudo sysctl -p

Reboot your VPS and everything should work swimmingly from any PPTP client.

Client side configuration

Para o Mac, certifique-se de ter adicionado a conexão VPN PPTP. Além disso, você só precisa configurar o endereço do servidor, o nome da conta e a senha nas configurações de autenticação. Nenhuma dor aqui.

Para Linux, o NetworkManager adiciona conexões VPN. Certifique-se de ter adicionado a conexão VPN PPTP. E a configuração que eu uso está aqui:

Como depurar e corrigir o PPTP / Conexão do cliente VPN

AndforWindows

    
por Qasim 10.06.2013 / 16:09
9

As outras respostas neste tópico foram apenas respostas parciais no meu caso. Aqui está o que funcionou para mim no Ubuntu 12.04.3

sudo apt-get install pptpd

Anexe o seguinte ao /etc/pptpd.conf (o endereço IP não importa, este é apenas o endereço IP da sua interface ppp0.)

localip 10.0.0.1
remoteip 10.0.0.100-200

Adicione servidores DNS ao / etc / ppp / pptpd-options

ms-dns 8.8.8.8
ms-dns 8.8.4.4

Ativar encaminhamento de IP

sudo vim /etc/sysctl.conf

Remova o comentário desta linha

net.ipv4.ip_forward=1

Salvar alterações

sudo sysctl -p /etc/sysctl.conf

Edite / etc / ppp / chap-secrets, adicione um usuário VPN neste formato:

# Secrets for authentication using CHAP
# client    server  secret          IP addresses
username pptpd supersecretpassword *

Reinicie o PPTP

service pptpd restart

Execute ifconfig e encontre sua interface padrão, no meu caso foi br0 (alterei para permitir que máquinas virtuais em minha máquina física compartilhem a interface. Provavelmente elas serão en0 )

Fazerbackupdeiptables

iptables-save>~/iptables.save

Agora,façasuasalteraçõesnoiptablesusandosuainterfacepadrão,conformereveladopeloifconfig.

iptables-tnat-APOSTROUTING-obr0-jMASQUERADEiptables--tablenat--appendPOSTROUTING--out-interfaceppp0-jMASQUERADEiptables-IINPUT-s10.0.0.0/8-ippp0-jACCEPTiptables--appendFORWARD--in-interfacebr0-jACCEPT

Paramantê-lopersistentequandoosistemaforreinicializado;

sudoapt-getinstalliptables-persistent

AdicionarVPNnocomputadorcliente(Mac)

PreferênciasdoSistema>Rede>[+]>VPN

Emseguida,escolhaConfiguraçõesdeautenticação>Senha,entãopreenchasuasenhaaqui

    
por Nick Woodhams 20.11.2013 / 07:58
7

Aqui está um projeto muito legal que analisa a dor do OpenVPN:

link

Basta executá-lo e ele irá instalar o vpn aberto e configurá-lo. No final, irá aparecer um arquivo client.ovpn que você pode usar para configurar seu cliente. Parece funcionar muito bem.

    
por HappyCoder86 18.01.2016 / 21:53

Tags