如何在不同的网络接口上开放socks/SSH?

如何在不同的网络接口上开放socks/SSH?
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   

// 将标记为 1 的流量路由到 myusb0 表

ip rule add fwmark 1 table myusb0

ip 路由 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 

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 

ip 路由 ls 表 myusb0

default via 192.168.3.2 dev usb0 

ip 路由 ls 表 myusb1

default via 192.168.0.1 dev usb1

// 在端口8080上打开socks

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

// 检查是否有效

卷曲--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.

我有来自两个不同 ISP 的两个 Internet 连接,我想在每个连接上打开一个 proxy/socks5。我认为将每个接口与端口号相关联是有意义的,以便我们可以管理连接。

我为每个设备(和)创建了两个路由表(myusb0和),然后根据端口号标记流量(例如,在端口上我将其标记为 1),并将该标记上的流量路由到特定表()。然后我尝试在该IP上打开socks5并在本地尝试,但由于某些原因它不起作用。myusb1usb1usb08080myusb0

一旦我让它在本地工作,我想我应该以相反的方式打开袜子,以便我可以将其提供给需要使用它的远程服务器。

知道为什么它目前不起作用以及我应该如何修复它吗?由于某些原因,我认为袜子连接正在尝试主表中未设置的默认网关,而是遵循端口8080标记规则并尝试 myusb0 表。我正在使用 Ubuntu(最新版本)。

应该提到的是,两个 ISP 都提供动态 IP

编辑

正如我怀疑的那样,到端口 8080 的流量似乎没有被路由(不用担心袜子问题),但我不知道为什么

 curl portquiz.net:8080 
curl: (7) Couldn't connect to server

相关内容