Why would you need the External IP to access the internet?I think you may need to read up on how TCP/IP works.

Your arduino will broadcast that it is on the network. It will look for a DHCP server. It will then be given all the details it needs to connect to the internet. (Internal IP address, DNS servers, Router Address) You NEVER need to know your external IP to access the internet. That will be handled by the router. You cannot even think of getting the external IP before you get all the details from your router. As soon as you have these if it supports UPNP you can just ask it for the external IP.

Your Router is given an IP address by your ISP. Then your router will give all the devices it is connected to an IP address. Your internal devices will be given the following over DHCP;Internal IP addressRouter IP addressDNS Server IP addressSubnet Mask

Your device is never given an external IP address. In order to get that you must either request it from your router OR connect to an external server which will then tell you the IP address that the request came from. Your entire network at home will have ONE external IP address.

1. disconnect from network from ISP, wait for x mount of time, then reconnect again and hope you get new ip.2. disconnect from network from ISP, change your own mac address, then reconnect again and hope you get new ip.3. use proxy server to change outbound ip.4. use reverse proxy server to change inbound ip.5. use VPN to change ip.6. use SSH Tunneling to change ip.7. use tor (www.torproject.org/) to make ip address fly ( ip address changed at every call)