Como uma aplicação (como o Firefox) pode ser forçada a usar uma determinada interface de rede?

20

Eu tenho duas interfaces: eth0 e wlan0 em um notebook.

Casos de uso possíveis:

  • O eth0 me concede acesso à Internet e o wlan0 está atualmente conectado a um roteador que não possui conectividade com a Internet. Para fins de desenvolvimento, eu preciso conectar ao wlan0 por padrão, mas use eth0 para navegar
  • eth0 e wlan0 estão conectados à Internet. Para um aplicativo de torrent, o eth0 deve ser usado para velocidade, mas para portabilidade do notebook, o SSH deve ter uma conexão com o wlan0
  • eth0 é uma conexão de fio, wlan0 é uma conexão sem fio. Dados sensíveis devem ser transferidos através de eth0, mas outro tráfego pode passar por wlan0 também.

Existe uma maneira de forçar os aplicativos (como nc.traditional ou firefox ) a usar uma determinada interface de rede? Um wrapper como example-wrapper eth0 program é bom também se tal programa existir. Seria legal se ele pudesse ser configurado dentro do Firefox (em tempo de execução). Eu gostaria de evitar soluções do IPTables, se possível.

    
por Lekensteyn 11.02.2011 / 10:26

4 respostas

1

O que você está procurando é um calço LS_PRELOAD, consulte Daniel Lange entrada do blog para uma explicação detalhada e código de exemplo.

    
por Bob Lebin 12.04.2014 / 16:32
1

Você pode usar uma abordagem mais complexa de marcação de conexões e política de rotas. Ele funcionará bem se você tiver um usuário que execute um software e outro. Dessa forma, você pode marcar as conexões de um usuário e usar uma tabela de roteamento específica, enquanto todas as outras usarão a tabela padrão.
O documento básico para entender tudo é em: link
Também um exemplo para duas conexões que você pode ver aqui: link
Você pode usar o módulo iptables "owner", que marcará as conexões para permitir a política de roteamento.

    
por elico 17.09.2014 / 17:24
0

Aqui é uma solução de amostra. Ele usa o servidor SOCKS, configurado na máquina atual para rotear coneections. Cada aplicativo deve ser configurado para usar cada servidor.

    
por Vadim Rutkovsky 14.02.2011 / 15:31
0

Você também pode usar uma máquina de estação de trabalho VMware para compartilhar interfaces de rede diferentes, que eu faço muito para baixar de uma interface e deixar a outra para minha Netflix.

Você precisa configurar o ethX e o wlanX no VMware, mas, depois de configurado, você estará pronto para fazer o download ou navegar.

É bem suave. Você também pode usar um firewall para unir interfaces, o que também funciona muito bem.

    
por nauseous 12.09.2014 / 03:47