De qualquer forma, você precisará de um script simples para isso.
Um exemplo fácil seria usar a pesquisa de DNS.
Se você não puder usar o comando host
, instale-o usando sudo apt-get install host
.
Em seguida, basta executar o comando host -t a your.public.domain
. Isso resultará em uma linha como esta:
your.public.domain has address 12.34.56.78
Você só precisa analisar o resultado, por exemplo no PHP você poderia usar algo assim:
<?php
$ip = 'unknown';
if (preg_match('/has address (\d+\.\d+\.\d+\.\d+)/', exec('host -t a your.public.domain'), $m))
$ip = $m[1];
echo "The public IP is $ip.";
Tenha em mente que isso atrasará a execução do código em cerca de um segundo; então você deve armazenar o resultado em cache.