Eu tenho duas interfaces: eth0 e wlan0 em um notebook.
Possíveis casos de uso:
- 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 me conectar à wlan0 por padrão, mas use eth0 para navegar
- eth0 e wlan0 estão conectados à Internet. Para um aplicativo de torrent, eth0 deve ser usado para velocidade, mas para portabilidade do notebook, o SSH deve ter uma conexão através de wlan0
- eth0 é uma conexão de fio, wlan0 é uma conexão sem fio. Dados sensíveis devem ser transferidos por eth0, mas outro tráfego também pode passar por wlan0.
Existe uma maneira de forçar aplicativos (como nc.traditional
ou firefox
) a usar uma determinada interface de rede? Um invólucro semelhante também example-wrapper eth0 program
é bom se esse programa existir. Seria bom se ele pudesse ser configurado no Firefox (em tempo de execução). Eu gostaria de evitar soluções IPTables, se possível.
networking
firefox
Lekensteyn
fonte
fonte
Respostas:
O que você está procurando é um calço LS_PRELOAD, consulte a entrada de blog de Daniel Lange para obter uma explicação detalhada e um exemplo de código.
fonte
Você pode usar uma abordagem mais complexa de marcação de conexões e política de rotas.
Funcionará bem se você tiver um usuário que execute um software e outra.
Dessa forma, você pode marcar as conexões de um usuário e usar uma tabela de roteamento específica, enquanto todos os outros usarão o padrão.
O documento básico para entender tudo está em: http://www.lartc.org/lartc.html
Também um exemplo para duas conexões que você pode ver aqui: /unix/58635/iptables- set-mark-route-diferent-portas-através-diferentes-interfaces
Você pode usar o "dono" iptables módulo que marcará as conexões para permitir que a política de roteamento.
fonte
LD_PRELOAD
parece o caminho a seguir (não por programas maliciosos / por razões de segurança), talvez alguém possa elaborar uma publicação de Bob Lebins?Aqui está uma solução de amostra. Ele usa o servidor SOCKS, configurado na máquina atual para rotear as conecções. Cada aplicativo deve ser configurado para usar cada servidor.
fonte
Você também pode usar uma máquina de estação de trabalho VMware para compartilhar diferentes interfaces de rede, que eu faço muito para baixar de uma interface e deixar a outra para o meu Netflix.
Você precisa configurar o ethX e o wlanX no VMware, mas depois de configurá-lo, estará pronto para fazer o download ou navegar.
É bem suave. Você também pode usar um firewall para vincular interfaces, o que também funciona muito bem.
fonte