Como obter um IP brasileiro em um servidor VPS sem gastar muito
Configurando uma VPN em um servidor VPS de forma descomplicada

Sou um desenvolvedor de software movido pela curiosidade e pela paixão por tecnologia. Aqui no blog, compartilho minhas aventuras desbravando novas ferramentas, frameworks e ideias, sempre testando o que há de mais interessante no mundo digital.
É inegável que os impostos no Brasil podem encarecer significativamente os serviços de Datacenter, pois a manutenção no país uma é opção bem mais "salgada" que em outros. Como consequência, os provedores muitas vezes repassam esses custos para os serviços de VPS e infraestrutura de hospedagem no Brasil, resultando em preços elevados para os clientes. A vantagem de optar por uma VPN é que seu servidor não precisa necessariamente estar localizado no território brasileiro.
Configurar uma VPN em um servidor VPS pode parecer uma tarefa desafiadora para muitos, mas não precisa ser uma dor de cabeça. Com algumas etapas simples, você pode ter seu servidor teoricamente no Brasil, pelo menos é o que as pessoas vão pensar 😅.
Este artigo parte do pressuposto de que o leitor já conhece os termos VPS e VPN, porém, mesmo assim, farei um breve resumo. Uma VPS é uma instância de um servidor físico, enquanto uma VPN é um software que protege sua conexão através de criptografia, assegurando a segurança do tráfego de dados e a privacidade.
Por que usamos uma VPN nessa solução?
Uma VPN pode ser utilizada em diversos cenários e pode ser facilmente substituída por um servidor proxy, caso seja necessário por exemplo fazer requisições em um site que permita apenas IP brasileiro. Embora pudesse ter optado por um proxy, alguns fatores externos me impediram de fazê-lo. No meu caso eu precisava de uma solução completa de disparos de E-mail, que obrigatoriamente demandava um IP brasileiro. Neste post, vamos focar no uso da VPN para alterar o IP da rede do servidor.
Instalando e configurando uma VPN no Linux com OpenVPN e NordVPN
Vamos ao que realmente interessa! Primeiro, escolha um servidor VPS confiável. Neste caso, utilizaremos o serviço da NordVPN e uma VPS com Ubuntu 22, e estarei logado na máquina via SSH.
Abaixo, eu fiz uma requisição para o site ipinfo.io com o cURL. Acho esse site muito interessante, pois ele reconhece que é uma requisição Headless e me responde com um JSON, como o exemplo abaixo, onde é possível visualizar o IP e a localização da minha VPS:
{
"ip": "143.198.69.202",
"city": "Santa Clara",
"region": "California",
"country": "US",
"loc": "37.3924,-121.9623",
"org": "AS14061 DigitalOcean, LLC",
"postal": "95054",
"timezone": "America/Los_Angeles",
"readme": "https://ipinfo.io/missingauth"
}
Agora vamos iniciar a instalação da VPN na máquina, obviamente vamos precisar de um cliente VPN, e vamos usar o OpenVPN.
Primeiro faça a instalação do OpenVPN:
sudo apt update
sudo apt-get install openvpn
Entre na pasta de configuração do OpenVPN e faça o download dos arquivos de configuração, a vantagem aqui é que a NordVPN já oferece esses arquivos prontos.
cd /etc/openvpn && sudo wget https://downloads.nordcdn.com/configs/archives/servers/ovpn.zip
Descompacte o arquivo baixado e, caso não tenha o unzip instalado, instale-o com o comando abaixo:
sudo apt-get install unzip
E finalmente faça a extração dos arquivos:
sudo unzip ovpn.zip
Ao acessar o conteúdo baixado, você encontrará duas pastas: "ovpn_tcp" e "ovpn_udp". Para este caso específico, vamos utilizar o protocolo TCP, presente na primeira pasta.
Escolhendo um IP brasileiro
Para obter o endereço IP que você precisa, basta abrir o link: https://nordvpn.com/pt-br/servers/tools/. Neste site, eles irão te recomendar um servidor, mas você também pode escolher a localização que mais lhe convém.

Configurando a VPS
Antes de prosseguir, é importante fazer algumas configurações na rede da VPS. Caso contrário, você corre o risco de perder a conexão e seu terminal poderá travar, deixando-o preso do lado de fora, incapaz de realizar qualquer ação. Nessa situação, a única solução seria reiniciar sua VPS através do console do provedor.

Para evitar esse problema, execute os seguintes comandos em sua VPS:
sudo apt-get install net-tools ipcalc
Esse comando é fundamental para instalar duas ferramentas importantes que serão essenciais para seguir os próximos passos.
Este comando adiciona uma regra de roteamento na tabela 128 para pacotes originados do endereço IP principal da máquina e também cria uma rota padrão na tabela 128, utilizando o gateway padrão.
sudo ip rule add from $(hostname -I | awk '{print $1}') table 128 && \
sudo ip route add table 128 default via $(ip route show default | awk '/default/ {print $3}')
Agora vamos pegar a subnet mask para também incluí-la nas configurações:
ipcalc $(ip addr show dev eth0 | awk '/inet / {print $2}' | head -n 1) | awk -F': ' '/Netmask/ {print $2}' | head -n 1
Esse comando mostrará uma saída como essa:
255.255.240.0 = 20 11111111.11111111.1111 0000.00000000
Então minha subnet mask é 255.255.240.0/20.
Agora adicione...
sudo ip route add table 128 to 255.255.240.0/20 dev eth0
Conectando-se na VPN
Agora copie o endereço fornecido pela NordVPN, adicione o protocolo e .ovpn na frente e execute o arquivo de configuração com o OpenVPN.
sudo openvpn --config br53.nordvpn.com.tcp.ovpn --daemon
Nesse exemplo, estamos executando o arquivo de configuração da NordVPN, mas poderia ser um arquivo de outro provedor ou do seu próprio servidor VPN.
Autenticando-se na VPN
Reparou que foi solicitado usuário e senha para autenticação? Vamos obter essas credenciais diretamente na NordVPN.
Clique no menu lateral esquerdo e vá para "Serviços" ➡️ "NordVPN" ➡️ "Configurar a NordVPN manualmente". Faça a verificação usando o código enviado para o seu e-mail e, finalmente, encontre suas credenciais de usuário e senha.
Está pronto. 🚀 Agora ao executar o comando curl ipinfo.io você terá uma saída confirmando a localização.
{
"ip": "177.54.151.190",
"city": "São Paulo",
"region": "São Paulo",
"country": "BR",
"loc": "-23.5475,-46.6361",
"org": "AS262287 Latitude.sh LTDA",
"postal": "01000-000",
"timezone": "America/Sao_Paulo",
"readme": "https://ipinfo.io/missingauth"
}
Resumo
Certamente! É importante lembrar que essa é uma solução para problemas específicos, e dependendo das circunstâncias, podem ser necessárias configurações adicionais para atender às suas necessidades específicas.
Compartilhar experiências e conhecimentos é fundamental para aprimorar soluções e ajudar uns aos outros. Se você conhece uma solução melhor ou se essa solução funcionou para você, compartilhe nos comentários! Isso pode beneficiar outros usuários e enriquecer a discussão.
Referências:




