Você pode usar iptables e redsocks para redirecionar todo o seu tráfego para o proxy socks5 que você já estabeleceu. Está bem descrito no link .
É assim que o seu redsocks.conf
poderia ser se os redsocks estivessem rodando no seu cliente (10.1.2.2):
redsocks {
/* 'local_ip' defaults to 127.0.0.1 for security reasons,
* use 0.0.0.0 if you want to listen on every interface.
* 'local_*' are used as port to redirect to.
*/
local_ip = 127.0.0.1;
local_port = 12345;
// 'ip' and 'port' are IP and tcp-port of proxy-server
ip = 10.1.2.1;
port = 8080;
// known types: socks4, socks5, http-connect, http-relay
type = socks5;
// login = "foobar";
// password = "baz";
}
Neste caso, redsocks em execução na porta 12345 e você só tem que dizer iptables para redirecionar as conexões tcp para redsocks:
# Create new chain
iptables -t nat -N REDSOCKS
# Ignore LANs and some other reserved addresses.
iptables -t nat -A REDSOCKS -d 0.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -d 10.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -d 127.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -d 169.254.0.0/16 -j RETURN
iptables -t nat -A REDSOCKS -d 172.16.0.0/12 -j RETURN
iptables -t nat -A REDSOCKS -d 192.168.0.0/16 -j RETURN
iptables -t nat -A REDSOCKS -d 224.0.0.0/4 -j RETURN
iptables -t nat -A REDSOCKS -d 240.0.0.0/4 -j RETURN
# Anything else should be redirected to port 12345
iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-ports 12345
# Any tcp connection made by 'luser' should be redirected, put your username here.
iptables -t nat -A OUTPUT -p tcp -m owner --uid-owner luser -j REDSOCKS
Para mais informações (por exemplo, sobre como limpar o iptables novamente), dê uma olhada no site do Redsocks.