Bagaimana cara mengatur tabel perutean khusus aplikasi pada Windows?

14

Misalkan antarmuka jaringan 1 (net1) dan 2 (net2) keduanya terhubung ke Internet. Saya ingin aplikasi 1 (app1) menggunakan net1, dan aplikasi 2 (app2) menggunakan net2. Bagaimana itu bisa dilakukan di Windows?

Jika Anda membutuhkan contoh nyata dari situasi di atas, pertimbangkan:

  • Laptop dengan Windows 7
  • net1 = Koneksi berkabel ke modem Internet Verizon
  • net2 = Koneksi nirkabel ke modem Internet Comcast
  • app1 = Internet Explorer
  • app2 = Firefox
  • Saya ingin memiliki "IE menggunakan Verizon tetapi tidak Comcast", dan "Firefox menggunakan Comcast tetapi tidak Verizon"

Itu tidak harus dilakukan melalui tabel routing. Jika Anda memiliki ide lain, harap beri tahu saya!

netvope
sumber

Jawaban:

6

Kedengarannya seperti ForceBindIP adalah apa yang Anda cari :)

ForceBindIP - Ikat setiap aplikasi Windows ke antarmuka tertentu

ForceBindIP adalah aplikasi Windows freeware yang akan menyuntikkan dirinya ke aplikasi lain dan mengubah cara panggilan Sockets Windows tertentu, memungkinkan Anda untuk memaksa aplikasi lain untuk menggunakan antarmuka jaringan / alamat IP tertentu. Ini berguna jika Anda berada dalam lingkungan dengan banyak antarmuka dan aplikasi Anda tidak memiliki opsi untuk mengikat ke antarmuka tertentu.

Beberapa program yang telah diuji untuk bekerja dengan ForceBindIP termasuk DC ++, uTorrent, Quake II, Quake III, Diablo II, StarCraft, Internet Explorer, Mozilla Firefox , Google Earth, Infanteri, Pemain Nyata, Turnamen Nyata 2004 (wajib -i), Outlook 2000 (membutuhkan -i). Program yang tidak berfungsi termasuk GetRight (teknik anti-debugger / forking), WinCVS (forks cvs.exe)

Anda cukup membuat pintasan untuk meluncurkan aplikasi menggunakan ForceBindIP, dengan alamat IP dan program sebagai argumen:

teks alternatif

ForceBindIP adalah freeware.

John T
sumber
2
Perangkat lunak hebat! Sayangnya sepertinya tidak berfungsi dengan pengaturan VPN saya (yang telah "menggunakan gateway default pada jaringan jauh" dinonaktifkan sehingga koneksi ke Internet tidak akan melewatinya). Saya mencoba untuk mengikat IE ke antarmuka VPN (PPP adapter), tetapi lalu lintas masih tidak melalui VPN (diperiksa dengan whatismyip.com)
netvope
1

Tidak perlu menjalankan vmware player dan semua itu. Cukup aktifkan weakhostreceive pada adaptor sekunder (yaitu adaptor yang memiliki metrik lebih tinggi).

Kemudian Anda dapat menjalankan squid dan mengatur squid untuk menggunakan tcp_outgoing_address ke alamat ip adaptor sekunder dan proksi semua aplikasi Anda.

Saya menduga forcebindip juga harus mulai bekerja.

Apa yang saya pikirkan adalah ada bug di stack MS win7. Ketika sebuah paket tiba pada adaptor sekunder, ia akan dibuang meskipun itu adalah paket yang valid.

Mengaktifkan penerimaan weakhost didokumentasikan di sini http://technet.microsoft.com/en-us/magazine/2007.09.cableguy.aspx

netsh interface ipv4 set interface [InterfaceNameOrIndex] weakhostsend=enabled|disabled

netsh interface ipv4 set interface [InterfaceNameOrIndex] weakhostreceive=enabled|disabled

netsh interface ipv6 set interface [InterfaceNameOrIndex] weakhostsend=enabled|disabled

netsh interface ipv6 set interface [InterfaceNameOrIndex] weakhostreceive=enabled|disabled
Mavin
sumber
0

Saya cukup yakin ini tidak mungkin. Hal terdekat yang dapat Anda peroleh dari lalu lintas pada satu antarmuka atau lainnya adalah melalui subnet dan entri perutean.

Tetapi jika dua aplikasi ingin berbicara di jaringan, mereka menggunakan jaringan yang sama.

Secara teknis, saya kira, suatu aplikasi dapat mengikat lalu lintas keluar ke antarmuka tertentu, tetapi aplikasi harus ditulis ulang untuk melakukan itu.

Ian Boyd
sumber
0

Punya persyaratan yang sama, ingin aplikasi spesifik untuk pergi melalui koneksi internet tertentu tetapi tidak dapat dilakukan melalui IP atau Port.

Solusi saya adalah:

(Perhatikan ip komputer saya adalah xxx100

a) siapkan aturan mangle untuk xxx101 melalui wan2

b) jalankan vmware player dengan salinan ubuntulite (dengan openssh terinstal) di ip xxx101

c) menggunakan "proxifier" untuk mengikat aplikasi dan memaksanya tunnel melalui mesin vmware, yang pada gilirannya dialihkan hanya melalui wan2

Ini adalah satu-satunya (sangat haxy) cara saya bisa memikirkan bagaimana melakukannya pada level aplikasi (proxifier memiliki versi percobaan yang dapat Anda uji dan jalankan pada windows 7 x64).

Omegatron
sumber