Pode ser possível que o seu processo tenha algo a que iptables
possa ser comparado, como um grupo específico. Por exemplo, dado um grupo to-wifi
, você poderia ter regras iptables assim:
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ê correr, por exemplo, o Steam assim:
sg to-wifi steam
Qualquer tráfego desse processo do Steam (+ qualquer processo filho) será encaminhado a partir da interface pela qual ele está indo até a interface sem fio.
Eu nunca tentei redirecionamento de interface para interface, mas usei iptables
para redirecionar todo o tráfego TCP do Steam para um proxy, fazendo a correspondência com grupos, então 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 os comandos addgroup
e adduser
:
sudo addgroup to-wifi
sudo adduser $USER to-wifi
sudo addgroup for-eth0
sudo adduser $USER for-eth0
Você precisa fazer o login novamente para que as novas associações do grupo entrem em vigor.
Relacionados: