Linux: How do you find out what your server’s outgoing ip is?

There are many times when I needed to find out my outgoing (or external) IP for the servers which are behind load balancers or firewalls.  I used to just login to another external server from the server in question and find out by looking at “who” what my external ip is.  Even though it works and I am so used to it, today I decided to figure out a more graceful way of finding my outgoing ip.  As most of us already know, is the quickest way to find out your outgoing ip from the browser.  So I decided to use the same way on the servers.  So I issued a wget:


Well that does the trick.  But being lazy as I am, I did not want to have to cat the output file to find out the ip (plus there is no point of creating extra files and doing extra work to remove them).  So if you are ssh’ed in, you can issue following command (I am sure there is another way of doing it, but this is the quickest way I could think of):

wget -q -O -

-O tells wget to redirect output to the following file (- being the standard out ).  So it basically echo’s output to our console.

-q makes wget run in  quiet mode so you do not see all of the connection/download/etc output.

That is it!  I am curious to know what other ways people use to get the same information.  Please share your way if possible.


DISCLAIMER: Please be smart and use code found on internet carefully. Make backups often. And yeah.. last but not least.. I am not responsible for any damage caused by this posting. Use at your own risk.

10 thoughts on “Linux: How do you find out what your server’s outgoing ip is?

  1. Sunny Walia Post author

    Because when you are behind firewall/load balancers, you tend to have private IPs. Most businesses with multiple servers will have it setup that way so they don’t have to buy/justify big blocks of IPs.

  2. Bob Jewell

    Though it’s basically the same thing, I have always used
    which defaults to having no extra verbosity while outputting to stdout.

  3. silvertip257

    I use the following code for my own external IP script (used with Torsmo/Conky).

    wget -q -O –
    # basically the automation page
    # that someone else mentioned in an earlier comment
    # saves bandwidth!

    For sometime, there was actually a complaint message posted on’s website … it linked to the automation page and requested that scripts have a reasonable hit frequency (NOT every two minutes or less … more like 30 minutes to an hour or more). I know for example my dynamic IP at home does not change for months and the DDNS script on my router does not try to update my IP on DynDNS all that often either.

    People need to think before they code (even pseudocode first) and test the code … and when networks are involved use tcpdump or Wireshark to verify how much network traffic you are creating!

  4. David Maas

    I used to use whatismyip, but the html gets annoying, so I created – it’s just a simple perl script:

    $ cat

    print “Content-type: text/plain; charset=iso-8859-1\n\n”;
    print “$ENV{‘REMOTE_ADDR’}”;
    print “\n\n”;

    It’s useful to have this script (or something similar) because then you can use the output in bash scripts without tons of sanitization/parsing

Leave a Reply

Your email address will not be published. Required fields are marked *