
Eu tenho duas conexões de internet, uma conexão de internet tem latência muito alta, tem flutuação na conexão (há uma árvore entre a torre e o CPE Wifi, então o sinal sobe e desce), mas é bom para download, pois a conexão nunca vai para 0. Outro uma é a conexão fixa, eles têm um forte limite de download.
Então, o que eu quero é usar o wlan0 para alguns programas específicos, como Steam e download, etc., basicamente programas que consomem muitos dados.
E eu quero usar o wlan1 para navegar e outras coisas, menos dados.
Resumindo, quero rotear programas específicos através de uma NIC específica, não tenho um intervalo específico de IPs.
Posso conectar os dois através de wifi, pois tenho 1 adaptador wifi extra (wlan0,wlan1), como outra opção posso conectar um com ethernet (wlan0,eth0)
Responder1
Poderia ser possível se o seu processo tivesse algoiptables
pode corresponder, como um grupo específico. Por exemplo, dado um group to-wifi
, você poderia ter regras de iptables como estas:
iptables -A FORWARD --in-interface wlan0 -j ACCEPT
iptables -t nat -A OUTPUT -m owner --gid-owner to-wifi --out-interface wlan0 -j MASQUERADE
(E com o encaminhamento ativado: sysctl -w net.ipv4.conf.all.forwarding=1
.)
Então, se você executar, por exemplo, o Steam assim:
sg to-wifi steam
Qualquer tráfego desse processo Steam (+ quaisquer processos filhos) será encaminhado de qualquer interface pela qual ele estava passando para a interface sem fio.
Nunca tentei o redirecionamento de interface para interface, mas costumava iptables
redirecionar todo o tráfego TCP do Steam para um proxy combinando grupos, portanto, essas regras podem não ser suficientes por si só.
Isso pode ser feito criando grupos para cada interface e adicionando-se a eles. Por exemplo, usando oaddgroup
eadduser
comandos:
sudo addgroup to-wifi
sudo adduser $USER to-wifi
sudo addgroup for-eth0
sudo adduser $USER for-eth0
Você precisa fazer login novamente para que suas novas associações ao grupo tenham efeito.
Relacionado:
Responder2
Pelo que eu sei, não há como fazer isso.
Isso pode ser feito com regras de iptables específicasportos+ destinos que eles usam para fazer suas conexões, mas não conheço uma forma local de fazer isso.