Se você estiver programando uma aplicação que use os vários IPs disponíveis na máquina para sair, seja usando as facilidades da classe ServicePoint, ou com Socket.Bind(), ou com alguma outra biblioteca por exemplo a LibCurl, e não estiver funcionando legal, é interessante isolar se o problema é com as configurações de sua rede ou na aplicação em si.

Screenshot

Screenshot do TestadorIPs

TestadorIPs é um aplicativo para testar isto. Muito simples e com apenas 421 linhas de código, interface gráfica feita em Gtk# (testado apenas no Mono), funcionando tanto no Windows quanto no Linux, e comprovada a eficácia através do sniffer Wireshark. Para a troca do IP utilizado nas conexões de saída são utilizadas as facilidades do BindIPEndPointDelegate da classe ServicePoint, do próprio Framework; as conexões são feitas utilizando a classe WebClient e para atestar o IP utilizado para sair, utilizado o site http://www.meuip.com.br. Baixe e na pasta correspondente a seu sistema operacional, rode o executável TestadorIPs.exe. Para rodar no Windows é necessário ter instalado as bibliotecas do Gtk# 2.12 (http://ftp.novell.com/pub/mono/gtk-sharp/gtk-sharp-2.12.10.win32.msi) .

Binários e código-fonte (compilado no Mono 2.6.7, solução do MonoDevelop 2.4): http://db.tt/xBCaeSF