UBNT VPN + Socks5 代理
VPN的方案可以参考 Set up OpenVPN Site-to-Site on UBNT EdgeRouter Lite 或 EdgeOS PPTP VPN客户端配置。 由于某些国际CDN的问题,部分网站不适合用IP路由来设定跳转。所以这里的需求是,针对特定域名把80/443的请求转由VPN的设备出去,其他的不管。 思路1,用EdgeMax自带的webproxy功能,但是很可惜,squid不支持选择outgoing的interface,只能选目标IP。所以放弃。 思路2,DPI监测域名或SNI,但是EdgeRouter Lite的最新版beta 1.8.0b3文档不完整,自己测试了一下相关命令,没搞成,理论上有戏。 思路3,本地socks5代理。我一直会用firefox+foxyproxy作为专用浏览器,正常的需求都用chrome。而且最近secure pipes经常掉,不确定什么情况,包括用国内vps代理远端ssh的方案也不行。 尝试了一些方案,包括dante-server 选上行interface, SSH Tunnel + DNAT,都不行。DNAT的方案不想直接用iptables,怕配置命令保存不方便,所以最终回到了haproxy的方案。 VPS上,配置socks5代理。方案很简单,参考命令如下:
1 |
ssh -f -N -D 10.99.99.2:31080 -D 192.168.121.1:31080 sskaje@127.0.0.1 |
10.99.99.2 和 192.168.121.1 分别是我两种vpn方案的服务端私有IP。 这行命令被我加到了rc.local。当然,还得配ssh 公钥登录。 路由上,安装配置haproxy。依旧参考 使用HAProxy搭建SSH代理。 /etc/haproxy/haproxy.cfg
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy stats socket /run/haproxy/admin.sock mode 660 level admin stats timeout 30s user haproxy group haproxy daemon defaults log global mode tcp timeout connect 5000 timeout client 50000 timeout server 50000 listen proxy option tcplog option logasap option tcpka maxconn 9999 bind 0.0.0.0:31080 server server-1 10.99.99.2:31080 maxconn 5000 server server-2 192.168.121.1:31080 maxconn 5000 retries 10 timeout connect 500 timeout client 5000 timeout server 5000 |
Incoming search terms:socks5 proxyclassroom3bmsocks5 to pptpvotemfwLink to this post!