Descobrindo o IP externo da VPN no Linux
Nesse artigo veremos como usar o serviço ifconfig.me em conjunto com o comando route no terminal do Linux para descobrir o IP externo da VPN.
Introdução
Eu precisava descobrir o IP externo da VPN da empresa na qual eu presto serviço. Para a solução eu utilizei a combinação do serviço ifconfig.me com o comando route no terminal do Linux.
Abrindo uma aspas aqui, o serviço de VPN utilizado foi o Pritunl, que é um serviço de VPN OpenSource. Ele possui clientes para Windows, macOS e Linux (https://client.pritunl.com/).
A princípio, ao acessar o site ifconfig.me, ele me retornava o IP da minha conexão local, e não o IP da VPN.
O primeiro passo foi verificar minha tabela de rotas. Para isso, executei o comando route no terminal do Linux:
route
Notem que a interface tun0 é a interface da VPN. O IP do gateway da VPN está indicado na coluna "Gateway" da saída do comando.
Agora vamos descobrir o IP do site ifconfig.me através do terminal. Para isso, execute o comando nslookup:
nslookup ifconfig.me
Ou como alternativa:
dig +short ifconfig.me
O resultado será algo como:
Por fim, vamos criar uma rota específica para esse IP via a interface da VPN. Para isso, execute o comando route add:
sudo route add 34.160.111.145 gw 192.xxx.xxx.1
Onde:
Uma forma mais prática e elegante de executar o comando acima é concatenando os comandos dig e route add:
sudo route add $(dig +short ifconfig.me) gw 192.xxx.xxx.1
Agora, ao acessar o site ifconfig.me, ele retornará o IP da VPN.
Para remover a rota basta repetir o comando route add trocando add por del, ou simplesmente desconectar da VPN.
sudo route del 34.160.111.145 gw 192.xxx.xxx.1
Você pode acessar o ifconfig.me usando o comando curl, que é bem mais prático:
curl ifconfig.me
Onde xxx.xxx.xxx.xxx é o IP da VPN.
Espero que tenha ajudado! Até a próxima!
Abrindo uma aspas aqui, o serviço de VPN utilizado foi o Pritunl, que é um serviço de VPN OpenSource. Ele possui clientes para Windows, macOS e Linux (https://client.pritunl.com/).
A princípio, ao acessar o site ifconfig.me, ele me retornava o IP da minha conexão local, e não o IP da VPN.
O primeiro passo foi verificar minha tabela de rotas. Para isso, executei o comando route no terminal do Linux:
route
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default _gateway 0.0.0.0 UG 600 0 0 wlo1 10.xxx.xxx.xxx 0.0.0.0 255.255.255.0 U 0 0 0 lxcbr0 10.xxx.xxx.xxx 192.xxx.xxx.1 255.255.255.0 UG 0 0 0 tun0 10.xxx.xxx.xxx 192.xxx.xxx.1 255.255.254.0 UG 0 0 0 tun0 10.xxx.xxx.xxx 192.xxx.xxx.1 255.255.224.0 UG 0 0 0 tun0 xxx.0.0.0 192.xxx.xxx.1 xxx.0.0.0 UG 0 0 0 tun0 link-local 0.0.0.0 255.255.0.0 U 1000 0 0 wlo1 172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0 172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-7473debc789b 18x.xxx.xxx.xxx 192.xxx.xxx.1 255.255.255.255 UGH 0 0 0 tun0 18x.xxx.xxx.xxx 192.xxx.xxx.1 255.255.255.255 UGH 0 0 0 tun0 18x.xxx.xxx.xxx 192.xxx.xxx.1 255.255.255.255 UGH 0 0 0 tun0 255-xx-xxx-98.a _gateway 255.255.255.255 UGH 0 0 0 wlo1 192.xxx.x.0 0.0.0.0 255.255.255.0 U 600 0 0 wlo1 192.xxx.xxx.0 0.0.0.0 255.255.255.0 U 0 0 0 tun0
Notem que a interface tun0 é a interface da VPN. O IP do gateway da VPN está indicado na coluna "Gateway" da saída do comando.
Agora vamos descobrir o IP do site ifconfig.me através do terminal. Para isso, execute o comando nslookup:
nslookup ifconfig.me
Ou como alternativa:
dig +short ifconfig.me
O resultado será algo como:
34.160.111.145
Por fim, vamos criar uma rota específica para esse IP via a interface da VPN. Para isso, execute o comando route add:
sudo route add 34.160.111.145 gw 192.xxx.xxx.1
Onde:
- route add: adiciona uma rota
- 34.160.111.145: IP do site
- gw: gateway
- 192.xxx.xxx.1: IP do gateway da VPN
Uma forma mais prática e elegante de executar o comando acima é concatenando os comandos dig e route add:
sudo route add $(dig +short ifconfig.me) gw 192.xxx.xxx.1
Agora, ao acessar o site ifconfig.me, ele retornará o IP da VPN.
Para remover a rota basta repetir o comando route add trocando add por del, ou simplesmente desconectar da VPN.
sudo route del 34.160.111.145 gw 192.xxx.xxx.1
Você pode acessar o ifconfig.me usando o comando curl, que é bem mais prático:
curl ifconfig.me
xxx.xxx.xxx.xxx
Onde xxx.xxx.xxx.xxx é o IP da VPN.
Espero que tenha ajudado! Até a próxima!
Passo a passo bem interessante.
______________________________________________________________________
Inscreva-se no meu Canal: https://www.youtube.com/@LinuxDicasPro
Repositório GitHub do Canal: https://github.com/LinuxDicasPro
Grupo do Telegram: https://t.me/LinuxDicasPro