- Sign public ip to arduino tcp/ip shield. direct connect. ( make sure turn firewall at tcp/ip shield)
- Put arduino tcp/ip shield into DMZ zone of firewall.
- Set port forwarding at firewall, forwarding port number.
- Set VPN client at arduino tcp/ip shield.
- Set Reverse SSH Tunneling at arduino tcp/ip shield.
I am sure there are a lot of other way you could do NAT to NAT connect, but I list only common one here.
You might need dynamic DNS setup, if your ISP do not give you static one.