- 论坛徽章:
- 0
|
本帖最后由 luoshou 于 2018-03-07 18:27 编辑
如何将多条VPN搭配对应socks进行分流?标题长长长醒目醒目醒目
在公司网关linux上拨入日本,韩国两条openvpn
想实现用ss5在网关上搭建两条socks代理。分别由日韩的线路出网。
(过程参考 http://blog.csdn.net/lic95/article/details/48401223)
但是一直链接不通,请指正。谢谢
网络情况:
eth0 inet addr:192.168.0.100 GW:192.168.0.1 Mask:255.255.255.0
tun1 inet addr:10.10.1.10 P-t-P:10.10.1.9 Mask:255.255.255.255 //openvpn日本
tun2 inet addr:10.10.2.6 P-t-P:10.10.2.5 Mask:255.255.255.255 //openvpn韩国
操作过程:
1,添加用户 socks9001、socks9002。
2,然后以分别以该两个用户的权限在9001、9002端口上启用socks5代理:
/usr/sbin/ss5 -t -m -b 0.0.0.0:9001 -u socks9001
/usr/sbin/ss5 -t -m -b 0.0.0.0:9002 -u socks9002
3,使用iptables对该两个用户的进程的流量打上标签:
iptables -t mangle -F OUTPUT
iptables -t mangle -A OUTPUT -m owner --uid-owner 9001 -j MARK --set-mark 9001
iptables -t mangle -A OUTPUT -m owner --uid-owner 9002 -j MARK --set-mark 9002
4,对指定标签的流量对应做SNAT:
iptables -t nat -F
iptables -t nat -F POSTROUTING
iptables -t nat -A POSTROUTING -m mark --mark 9001 -j SNAT --to 10.10.1.10 //日本
iptables -t nat -A POSTROUTING -m mark --mark 9002 -j SNAT --to 10.10.2.6 //韩国
5,开启转发:
echo 1 > /proc/sys/net/ipv4/ip_forward
6,测试:
尝试用同段机器
curl --socks5 192.168.0.100:9001 -H "Host: www.ip.cn" http://198.41.214.99/
curl --socks5 192.168.0.100:9002 -H "Host: www.ip.cn" http://198.41.214.99/
直接不可达
或者网关上su切换到socks9001、socks9002,运行 curl http://198.41.214.99/, 也是不可达.
测试时机器没有配置默认网关,如果手工添加默认路由到某条vpn。则对应的socks断续可以(貌似)。但是也完全不能解决分流的问题。
问题来了:
1, 求解分流失败的原因。
2, 代理方案不行的话是否可以将该网关两条vpn出口做成内网出口。对内网不同的来源ip对应分流?我参考了 https://www.v2ex.com/t/180070 这个方案来分流。依然不通。
谢谢!
|
|