## Acesso ao Formulário de Login

A conexão de um PPTP client nos servidores do Sistema é muito util para diagnóstico de problemas com rotas ou firewalls em cima do IP, normalmente usamos esse recurso quando há algum problema ao gerar notas fiscais, onde o servidor do Sistema comunica direto com servidores da receita, ou para testar comunicação com APIs de pagamento.

> [!WARNING] AVISO
> Este documento não tem relação com o Sistema. É um documento de instrução sobre o erro.

> [!DANGER] ALERTA
> A configuração pode ser realizada pelo time de integração de redes do Sistema ou pelo próprio cliente.
> Caso seja feita de forma independente, o Sistema não se responsabiliza por eventuais problemas, e possíveis correções poderão ser cobradas.

## Passo-a-passo

#### Pré-Requisitos

- **Instalar e configurar o pptpd(Que veremos em seguida)**  
- **Configurar uma interface do tipo "PPTP Client" no roteador de borda do provedor**

>[!INFO] Nessa documentação usaremos VPN do tipo PPTP, e para isso é necessário que ambas as partes da VPN tenham acesso as portas: 
> - 1723 (TCP)
> - 48 (GRE)  

1. Primeiramente, dentro do servidor do Sistema, instalaremos o serviço com o comando:
```
apt install pptpd
```

2. Logo após a instalação do serviço, já podemos habilitá-lo para iniciar junto com o servidor. Dessa forma, caso o IXC seja reiniciado, o PPTPD será iniciado automaticamente.
```
systemctl enable pptpd.service
```

3. Após isso iremos precisar alterar três aquivos dentro do servidor. Para editar no Sistema, você deve acessar o modo de edição do arquivo:
```
/etc/pptpd.conf
```

No arquivo "/etc/pptpd.conf" é onde definimos qual será a rede virtual que usaremos para comunicação através do túnel, para isso precisamos apenas de:

- **IP local:** IP pelo qual o servidor do IXC irá responder no tunel;  
- **Rede remota:** IPs que serão entregues aos equipamentos que conectarem a essa VPN.  

  
A configuração deve ser feita inserindo os parâmetros ao final do arquivo, seguindo a seguinte sintaxe:

```
localip 192.168.199.1
remoteip 192.168.199.2-254
```

**OBS: Os IPs anunciados aqui não podem estar em uso na rede interna do provedor, dê preferência por uma rede incomum(No exemplo usei a rede: 192.168.199.0/24) e sempre confirme com o cliente se pode usa-la.**

 ```
 /etc/ppp/chap-secrets
```

No arquivo "/etc/ppp/chap-secrets" é onde definimos quais serão as credências para autenticação na VPN. Conforme já descrito no arquivo, precisamos apenas definir os seguintes parâmetros:

- **client:** usuário/login para autenticação;  
- **server:** serviço usado na configuração do servidor PPTP;  
- **secret:** senha para autenticação do usuário/login;  
- **IP addresses:** IP que será entregue para o usuário/login(cada credencial deve ter seu próprio IP).

```
/etc/ppp/ip-up
```

No arquivo "/etc/ppp/ip-up" é onde definimos as rotas específicas que o servidor deverá na VPN. Devem ser configuradas rotas para equipamentos/ativos da rede do provedor e para rede entregue aos clientes finais(necessário para função de diagnóstico do sistema), para isso adicione ao final do arquivo seguindo a seguinte sintaxe:

$ Ajustar as faixas conforme a necessidade, essas são apenas de EXEMPLO.
$ sbin/route add -net 192.168.0.0/24 gw 192.168.199.2 (Exemplo de faixa privada)
$ /sbin/route add -net 100.64.0.0/10 gw 192.168.199.2 (Abranje a rede de CGNAT, para ter rotas até as CPES)

case "$5" in
192.168.199.2)
        
        /sbin/route add -net 192.168.0.0/24 gw 192.168.199.2
        /sbin/route add -net 100.64.0.0/10 gw 192.168.199.2 
;;
*)
esac

**OBS: As rotas devem ser específicas e únicas, evite usar redes muito grandes como destinos(como um /8 por exemplo) e preste atenção para não subir a mesma rota mais de uma vez(use calculadora de IPs para garantir que não está invadindo os limites das redes).**

Com toda configuração feita, reinicie o serviço para aplica-la:

```
systemctl restart pptpd.service
```

#### Configuração do PPTP client

E, para fechar o túnel de comunicação privada, será necessário configurar o lado cliente no equipamento ou ativo na rede do cliente (geralmente o equipamento de borda). Lembre-se de que estamos utilizando o protocolo PPTP, e ambos os lados precisam ter acesso às portas **1723 (TCP)** e **47 (GRE)**.

Por ser um cenário mais comum, utilizaremos um equipamento **Mikrotik** como exemplo. O primeiro passo é configurar um perfil PPP exclusivo para o uso da VPN no equipamento:

1. Acesse o menu **PPP**.
2. Vá até a aba **Profiles**.
3. Clique no símbolo de **+** e replique as seguintes configurações:
4. Em **General** adicione o nome do **profile da VPN**. Exemplo: pptpd_ixcsoft
5. Na opção **Change TCP MSS** marque como **Default**
6. Na opção Use **UPnP** deixe marcado como **Yes**
7. Na aba **Protocols** selecione:
	1. "Use IPv6" como "No"
	2. "Use MPLS" como "Default"
	3. "Use Compression" como "Default"
	4. "Use Encryption" como "yes"
8. Em seguida, adicione uma interface do tipo **PPTP Client** e configure as credenciais previamente criadas no servidor.
9. Acesse o menu **Interfaces.**
10. Clique no símbolo **+** e selecione **PPTP Client**
11. Aplique as informações nas seguintes abas:
	1. General
		1. **Name:** Coloque o nome da VPN
	2. Dial Out
		1. **Connect to:** Coloque o IP público que de comunicação com o servidor
		2. **User/ Password:** Coloque os dados de comunicação da VPN criada no servidor
		3. **Profile:** Selecione o profile criado para a VPN.

Com isso, a conexão deverá estar estabelecida. Agora, você pode verificar as rotas no Debian e proceder com as integrações necessárias.

> [!WARNING] ATENÇÃO:
>  A partir desse momento os equipamentos/ativos na rede do provedor devem encaminhar requisições para o **localip** configurado no arquivo **/etc/ppptp.conf**, assim como ele também deve estar liberado para acesso aos equipamentos/ativos, pois o IXC passará a requisitarar com ele(Lembre de ajustar em **Provedor > Configurações > Configuração padrão > aba Servidor local**).
## Considerações Importantes

Criar e gerenciar uma VPN PPTPD no servidor do Sistema é uma excelente maneira de assegurar o acesso remoto e proteger a comunicação de dados. Certifique-se de testar regularmente a conexão e atualizar as configurações de segurança conforme necessário para manter a integridade da rede.

## Etiquetas
#PPTP #Concentrador #RedeAdicional

## Leia Também
- [[public/conceitos/redes e infraestrutura/vpn ikev2|VPN IKEV2]]
- [[coleta de ipv6 pd no sistema|Coleta de IPv6 PD no Sistema]]