Todos os produtos
Search
Central de documentação

Elastic Compute Service:Configurar PPTP VPN em uma instância ECS Ubuntu

Última atualização: Jul 03, 2026

Este tópico demonstra como configurar uma VPN Point-to-Point Tunneling Protocol (PPTP) em uma instância do Elastic Compute Service (ECS) com o sistema operacional Ubuntu.

Pré-requisitos

  • As instruções deste tópico aplicam-se ao Ubuntu 18.04, Ubuntu 20.04 e Ubuntu 22.04.

  • Este guia utiliza uma instância ECS com Ubuntu 18.04 como exemplo. Para mais detalhes sobre a criação de instâncias ECS, consulte Criar uma instância usando o assistente.

  • O grupo de segurança da instância deve ter uma regra de entrada que permita tráfego na porta 1723 e no protocolo GRE a partir do endereço IP público do cliente VPN. Para mais informações, veja Gerenciar regras de grupo de segurança.

Configuração do servidor VPN

Faça login na instância ECS que servirá como servidor PPTP e siga as etapas abaixo para configurá-lo. Para saber como acessar uma instância ECS, consulte Conectar-se a uma instância Linux.

Configurar o serviço PPTP

  1. Execute os comandos a seguir para instalar o pptpd.

    sudo apt-get update
    sudo apt-get -y install pptpd
  2. Configure o arquivo pptpd. Esse arquivo define o intervalo de endereços IP para clientes PPTP, garantindo que cada dispositivo receba um endereço IP exclusivo.

    1. Execute o comando sudo vim /etc/pptpd.conf e adicione a configuração abaixo:

      localip 192.168.0.1
      remoteip 192.168.0.234-238
      Nota
      • O parâmetro localip define o endereço do servidor VPN. Recomendamos usar o endereço IP privado do servidor. Ajuste esse valor conforme necessário.

      • O parâmetro remoteip especifica o intervalo de endereços IP para os clientes PPTP. Para evitar conflitos, certifique-se de que nenhum outro dispositivo utilize essa faixa de IP. Ajuste esse valor conforme sua necessidade.

    2. Após adicionar a configuração, o conteúdo do arquivo ficará assim:

      # (Recommended)
      #localip 192.168.0.1
      #remoteip 192.168.0.234-238,192.168.0.245
      localip 192.168.0.1
      remoteip 192.168.0.234-238
  3. Configure o DNS.

    1. Execute o comando sudo vim /etc/ppp/pptpd-options e inclua as configurações seguintes:

      ms-dns 223.5.5.5
      ms-dns 223.6.6.6
      Nota

      Os endereços IP 223.5.5.5 e 223.6.6.6 correspondem aos servidores DNS públicos da Alibaba Cloud. Se preferir, substitua-os por outros endereços de servidores DNS públicos.

    2. Depois de incluir a configuração, o arquivo terá o seguinte conteúdo:

      # specifies the secondary DNS address.
      #ms-dns 10.0.0.1
      #ms-dns 10.0.0.2
      ms-dns 223.5.5.5
      ms-dns 223.6.6.6
  4. Crie um usuário. Esse usuário autentica as conexões PPTP, permitindo que apenas clientes autorizados se conectem.

    1. Execute o comando sudo vim /etc/ppp/chap-secrets para adicionar nome de usuário e senha ao pptpd. Adicione contas conforme necessário no formato username pptpd password IP address. Separe cada item por espaço e insira apenas uma conta de usuário por linha.

      Nota

      Exemplo: test pptpd 123456 *. O asterisco (*) representa todos os endereços IP.

      test pptpd 123456 *

Ativar o encaminhamento de IP

  1. Execute o comando abaixo para ativar o encaminhamento de IP.

    sudo echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf
  2. Execute o seguinte comando para carregar os parâmetros do sistema.

    sudo sysctl -p "/etc/sysctl.conf"

    Se o comando for executado com sucesso, a presença de net.ipv4.ip_forward = 1 na saída indica que o encaminhamento de IP está ativo.

    root@iZZ:~# sudo sysctl -p
    vm.swappiness = 0
    kernel.sysrq = 1
    net.ipv4.neigh.default.gc_stale_time = 120
    net.ipv4.conf.all.rp_filter = 0
    net.ipv4.conf.default.rp_filter = 0
    net.ipv4.conf.default.arp_announce = 2
    net.ipv4.conf.lo.arp_announce = 2
    net.ipv4.conf.all.arp_announce = 2
    net.ipv4.tcp_max_tw_buckets = 5000
    net.ipv4.tcp_syncookies = 1
    net.ipv4.tcp_max_syn_backlog = 1024
    net.ipv4.tcp_synack_retries = 2
    net.ipv4.tcp_slow_start_after_idle = 0
    net.ipv4.ip_forward = 1

Configurar regras de encaminhamento do firewall iptables

No Ubuntu, as regras do iptables são perdidas após reiniciar a instância ECS, pois são temporárias por padrão. Utilize o pacote iptables-persistent para salvar as regras do iptables e carregá-las automaticamente na inicialização do sistema.

  1. Execute o comando a seguir para instalar o iptables-persistent.

    sudo apt-get install iptables-persistent -y

    Durante a instalação, quando solicitado a salvar as regras atuais, selecione yes.

  2. Adicione as regras do iptables.

    sudo iptables -A INPUT -p gre -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 47 -j ACCEPT
    sudo iptables -t nat -A POSTROUTING -s 192.168.0.234/29 -o eth0 -j SNAT --to-source XXX.XXX.XXX.XXX
    Nota

    Neste exemplo, 192.168.0.234/29 define o intervalo de endereços IP privados para o cliente VPN. Modifique esse valor de acordo com seus requisitos reais. XXX.XXX.XXX.XXX corresponde ao endereço IP público da sua instância ECS.

  3. Salve as regras do iptables para torná-las persistentes.

    sudo netfilter-persistent save
  4. (Opcional) Visualize as regras do iptables.

    # View detailed rules
    sudo iptables -L -v
    # View rules in the nat table
    sudo iptables -t nat -L -v

Reiniciar o serviço PPTP

sudo /etc/init.d/pptpd restart
sudo systemctl enable pptpd.service

Configuração do cliente VPN

  1. Execute os comandos abaixo para instalar o software cliente PPTP.

    sudo apt-get update
    sudo apt-get -y install pptp-linux
              
  2. Execute o seguinte comando para inicializar um túnel de conexão VPN chamado test.

    sudo pptpsetup --create test --server [$IP] --username [$User] --password [$Password] --encrypt --start
    Nota
    • [$IP] é o endereço IP público da instância ECS que hospeda o servidor PPTP.

    • [$User] é o nome do usuário criado no servidor PPTP. Para obter o nome de usuário, consulte Criar um usuário.

    • [$Password] é a senha do usuário criado no servidor PPTP. Para obter a senha, consulte Criar um usuário.

    Se a conexão for bem-sucedida, a seguinte saída será exibida:

    Using interface ppp0
    Connect: ppp0 <--> /dev/pts/1
    CHAP authentication succeeded
    MPPE 128-bit stateless compression enabled
    local  IP address 192.168.0.234
    remote IP address 192.168.0.1