como abrir socks / SSH em diferentes interfaces de rede?

2
iptables -A PREROUTING -i usb0 -t mangle -p tcp --dport 8080 -j MARK --set-mark 1

iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination   

// roteia o tráfego com a marca 1 para a tabela myusb0

ip rule add fwmark 1 table myusb0

ip route ls

192.168.0.0/24 dev usb1  proto kernel  scope link  src 192.168.0.136  metric 1 
192.168.3.0/24 dev usb0  proto kernel  scope link  src 192.168.3.182  metric 1 

regra ip ls

0:  from all lookup local 
32762:  from all fwmark 0x1 lookup myusb0 
32763:  from 192.168.3.0/24 lookup myusb0 
32764:  from 192.168.0.1/24 lookup myusb1 
32766:  from all lookup main 
32767:  from all lookup default 

rota ip ls tabela myusb0

default via 192.168.3.2 dev usb0 

rota ip ls tabela myusb1

default via 192.168.0.1 dev usb1

// abre meias na porta 8080

ssh -f -N -D 0.0.0.0:8080 [email protected]

// verifique se funciona

curl --socks5 192.168.3.182:8080 ip.appspot.com

channel 1: open failed: administratively prohibited: open failed
curl: (7) Failed to receive SOCKS5 connect request ack.

Eu tenho duas conexões de Internet de dois ISPs diferentes e gostaria de abrir um proxy / socks5 em cada um deles. Eu pensei que faria sentido associar cada interface a um número de porta para que pudéssemos gerenciar as conexões.

Eu criei duas tabelas de roteamento ( myusb0 e myusb1 ) para cada dispositivo ( usb1 e usb0 ) e marquei o tráfego com base no número da porta (por exemplo, na porta 8080 I mark 1) e rotear o tráfego nessa marca para a tabela específica ( myusb0 ). Então eu tentei abrir um socks5 naquele IP e tentei localmente, mas por algumas razões ele não funciona.

Uma vez que o trabalho localmente, acho que devo abrir as meias de maneira inversa, para que eu possa disponibilizá-lo para o (s) servidor (es) remoto (s) que precisam usá-lo.

Alguma ideia do motivo pelo qual não está funcionando atualmente e como devo corrigi-lo? Por algumas razões eu acho que a conexão socks está tentando o gateway padrão da tabela principal que não está definida, em vez de seguir a regra da porta 8080 e tentar a tabela myusb0. Estou usando o Ubuntu (última versão).

Deve-se mencionar que ambos ISPs fornecem IPs dinâmicos

Editar

Como eu suspeitava, parece que o tráfego para a porta 8080 não está sendo roteado (esqueça o problema de meias), mas não sei por que

 curl portquiz.net:8080 
curl: (7) Couldn't connect to server
    
por Jimmy Cummings 13.11.2014 / 20:50

0 respostas