Experienced issues with multiplayer via the Internet in Borderlands 2?
Four hours a mate and I spent, configuring ports on routers, trying to connect using Steam and without using Steam, Googling the "right" ways to do this, etc. Nothing seemed to work - except for a virtual LAN using the VPN client "Hamachi". Some may argue that this is not legal software, although, I do not see what should make it illegal. If people use it for illegal purposes (e.g. pirated games) you should blame those people, not the software.
Anywho ... spending this much time making a game work in multiplayer that favors multiplayer (better loot, more fun, etc.) is where I draw the line, personally. It just should work... Naturally, my mate and I started looking for alternatives.

The Hamachi fix
A VPN client, like Hamachi, simulates a direct connection between two or more computers, making them "think" they are on the same network, and may also enable LAN traffic. So, let us make the Borderlands 2 game client think it is running a LAN game and play via that.
  1. Download the Hamachi client: https://secure.logmein.com/products/.../download.aspx (Unmanaged)
  2. Install it (goes for all who wishes to play in the virtual LAN)
  3. The host creates a network and the rest join (in Hamachi)
  4. The Hamachi host creates a Borderlands 2 game
  5. Fix 1:
    • Run Borderlands 2
    • Select "LAN" in the "Network Options" menu
    • Go back and select "Find Games".
    • If you see a LAN game, click it and if you can join your mate's game, great! Good luck! Otherwise...
  6. Fix 2 (if Fix 1 didn't work):
    • All - except the Hamachi host - exit Borderlands 2
    • Get the IPv4 address from the Hamachi host
    • Locate your Borderlands 2 folder (e.g. under "C:\Program Files\Steam\steamapps\common\Borderlands 2\Binaries\Win32"
    • Create a shortcut to the "Borderlands2.exe" file and place this shortcut on your Desktop
    • Right-click the shortcut and select "Properties"
    • Select the tab "Shortcut" and in the Destination field, which should look something like ""C:\Program Files\Steam\steamapps\common\Borderlands 2\Binaries\Win32\Borderlands2.exe"" (including the quotes), you add a space and the IP for the Hamachi host, like so: "C:\Program Files\Steam\steamapps\common\Borderlands 2\Binaries\Win32\Borderlands2.exe"
    • Press "OK" and launch the game via the shortcut. You should now automatically connect to the host's game.

Hope this'll help a few.

Video for further help: http://www.youtube.com/watch?v=hce6B2_KrQ0

Best regards, Kafoso