Posso rotear programas para duas conexões de internet simultaneamente no Windows 7? [duplicado]

12

Esta questão já tem uma resposta aqui:

Eu tenho duas conexões de internet - uma através de um modem 3G e a outra via wireless. O modem é mais rápido, então eu normalmente navego com ele, mas ele não suporta downloads de torrent enquanto meu wireless faz. Quando os dois estão conectados, meu PC faz automaticamente todas as conexões através do modem.

Existe uma maneira que eu possa forçar um programa em particular, por exemplo, o uTorrent, a navegar pela minha conexão de internet sem fio?

Chibueze Opata
fonte
2
termo de pesquisa: "agregação de links" ou "link bonding".
akira

Respostas:

5

Pelo que sei, o Windows não tem recurso embutido para isso, mas existem aplicativos de terceiros que ajudarão você a fazer o truque. Na minha experiência, o ForceBindIP sempre funcionou muito bem. Ele faz exatamente o que diz na lata: executar um programa através do ForceBindIP irá garantir que ele use uma interface especificada.

No seu caso, seria uma questão de instalar o programa (ou extrair a versão portátil) e executar o µTorrent usando ForceBindIP.exe 1.2.3.4 %PROGRAMFILES%\uTorrent\uTorrent.exe, substituindo 1.2.3.4 pelo endereço da interface sem fio.

Caso não haja rota da sua interface sem fio para o destino, você precisa adicionar um. Pode ser qualquer rota desejada, mas para um aplicativo como o µTorrent, você provavelmente desejará rotear o tráfego para todos os destinos em vez de intervalos de IP específicos.

Para fazer isso, abra o prompt de comando elevado, digite ipconfige anote o gateway da sua conexão sem fio, que é provavelmente o endereço IP do seu ponto de acesso (por exemplo, 192.168.2.1). Em seguida, digite route printe verifique o identificador de dois dígitos da sua placa wireless na lista de interface (por exemplo, 12), bem como a métrica da entrada 0.0.0.0 na tabela de roteamento. Em seguida, adicione a rota usando: route -p add 0.0.0.0 mask 0.0.0.0 192.168.2.1 metric 50 if 12.

A opção -p garante que a rota sobreviva a uma reinicialização, mas ainda pode ser interrompida se a interface sem fio receber um novo identificador. A 'máscara 0.0.0.0' significa que a rota é válida para todos os destinos. '192.168.2.1' refere-se ao endereço do gateway que você deseja usar. 'Métrica 50' adiciona um certo custo a esta rota e você vai querer ajustá-la bem acima da métrica da outra entrada 0.0.0.0 para evitar que programas não estejam vinculados a uma determinada interface de uso em vez da conexão com fio. Finalmente, 'if 12' define a interface à qual a rota se aplica.

Marcks Thomas
fonte
Obrigado, mas eh, como obtenho o endereço da interface sem fio no meu PC?
Chibueze Opata
ok, finalmente encontrei como .. Eu deveria ser capaz de confirmar se funciona de manhã, mas com certeza parece a solução perfeita. Eu gostaria de fazer uma interface gráfica para isso para que outros possam fazê-lo também (se funciona ...)
Chibueze Opata
Parece bom, mas e o roteamento? Se o aplicativo estiver vinculado à interface A, mas o gateway padrão do sistema estiver configurado na interface B, como os pacotes de saída podem ser roteados pela interface A?
Massimo
+1 para o mencionado ForceBindIP, no entanto, nunca funcionou como esperado para mim.
Alguns Free Mason
@ Massimo: Eu não estou familiarizado com a rede, mas depois de usar o Forcebindip eu recebo o erro: "Uma operação de soquete foi tentada para uma rede inacessível." no meu uTorrent, por isso, infelizmente, não parece funcionar ...
Chibueze Opata
3

Eu faço algo parecido com isso. Estou conectado à minha rede com o meu NIC com fio. Eu amarrei meu telefone com meu NIC sem fio. Eu configurei meu computador para usar o fio pela rede sem fio primeiro . Então eu fiz um VirtualBox que eu corro em modo contínuo (Ubuntu, mas isso não importa). Então, em todos os lugares que eu navego no VirtualBox não vai passar pela conexão com fio. O VirtualBox permite pastas compartilhadas, portanto, todos os downloads vão para o mesmo diretório de download. A única coisa é que estou desperdiçando CPU e memória, no entanto, estou mais seguro. Eu também corro o seamless no meu segundo monitor , então agora eu estou Über kewl.

Você poderia rodar um cliente Torrent no VirtualBox

Algum, livre, pedreiro
fonte
boa ideia. Isso pode eventualmente ser a única solução disponível, embora eu usaria VMWare, mas vamos ver ...
Chibueze Opata
3

Não, isso não pode ser feito para um determinado programa, só pode ser feito para um determinado endereço IP de destino (ou sub-rede): você pode adicionar uma rota estática ao seu sistema para que ele alcance todos os sites através do modem conexão, mas use as conexões sem fio para alcançar um endereço IP ou uma sub-rede específica.

Mas desde que você quer fazer isso para downloads de torrent, e downloads de torrent (por sua própria definição) fazem muitas conexões com muitos sistemas remotos em qualquer lugar do mundo, isso não pode ser realmente aplicado à sua situação.

Massimo
fonte
No entanto, a funcionalidade parece tão básica? Com o meu pequeno conhecimento de programação, estou assumindo que eu deveria ser capaz de conseguir isso com algum tipo de api enganchando hack ...
Chibueze Opata
1
Isso está relacionado a como a pilha de rede do sistema operacional lida com o roteamento IP, que é algo em que as aplicações não são totalmente preocupadas (e também não são capazes de influenciar de maneira significativa).
Massimo
Tenho certeza de que é possível monitorar o acesso à rede a partir de um aplicativo, portanto, também é possível conectá-lo. Se isso puder ser feito, você poderá rotear automaticamente cada conexão para um IP remoto pelo programa através da rede sem fio?
Chibueze Opata
1

Sim, você pode, para o seu problema específico: usar o modem apenas para navegação.

  1. Configure a rede sem fio para ser usada o tempo todo, alterando a ordem dos seus adaptadores de rede (sem fio primeiro): http://windows.microsoft.com/pt-BR/windows-vista/Change-the-order-of -network-protocol-bindings

  2. Em seguida, você precisa de um servidor proxy HTTP que irá redirecionar os pacotes HTTP através da conexão do modem. O FreeProxy parece saber a ligação do adaptador (eu pesquisei este aqui, eu acho que pode ser qualquer software proxy que conhece ligações), então eu acho que vai funcionar: http://www.softpedia.com/get/Internet/Servers/Proxy- Servidores / FreeProxy.shtml . Agora você tem que configurar o servidor para usar a conexão do modem. Assim, na janela de configuração do serviço de proxy, digamos que você defina a ligação local para o adaptador sem fio e ligação remota para o modem (espero que seja assim ou não o contrário, pois tenho apenas um adaptador para verificar isso, então para mim ambos são os mesmos). Clique em "Concluído". Clique em "Iniciar / Parar" e, em seguida, "Iniciar" para o modo de console (eu verifiquei este aplicativo agora,

  3. Nas configurações de conexão do seu navegador, selecione a conexão através do seu servidor proxy ( <WIRELESS_IP_ADDRESS>:<port>, a porta deve ser 8080 por padrão).

É sobre isso.


fonte
Embora você tenha dado três passos, eu ainda não entendi exatamente o que é a sua solução, eu só quero que você possa explicar em termos leigos o que estamos tentando alcançar aqui ...
Chibueze Opata
É sobre como usar a conexão sem fio como padrão para todos os programas, exceto o seu navegador (como parece que você precisa de alta velocidade para navegar). Seu navegador usará sua conexão de modem através do software do servidor HTTP Proxy.
Eu realmente uso um proxy para o meu modem, então isso levará a uma cadeia de proxy?
Chibueze Opata
Estou confuso. Qual proxy você está usando com o modem? Se houvesse um proxy HTTP, que apenas o navegador deveria ter usado essa conexão, como os outros aplicativos não usam o protocolo http, o SO tentará resolver a conexão através da conexão sem fio.
Se você usa um proxy HTTP, mas o modem também funciona como uma interface de rede normal, acho que você tem tudo o que eu descrevo pronto para usar. Você só tem que mudar a ordem das interfaces de rede, então o wireless é o primeiro.
1

Apenas jogando isso lá fora, mas não seria um método mais simples usar um emulador como o Virtualbox? Você pode inicializar um sistema operacional separado no VB e ligar sua conexão virtual a uma interface de rede especificada. Então você pode inicializar um pequeno sistema operacional Linux rodando um programa Torrent em uma de suas conexões, enquanto seu sistema operacional Windows normal apenas usa o padrão. Isso não ignoraria o iptables do Windows?

japzone
fonte
0

você pode usar o comando connectify para unir duas conexões de internet em um e dedicar o sockets download connectify despachar e ver a mágica também certifique-se de selecionar as opções corretas Gen 2 ou Round Robin e é isso. ESTRONDO!

http://www.connectify.me/dispatch/

Mad Jack
fonte