EdgeRouter DNAT for Remote Socks Proxy Server

I set up an HAProxy for socks 5 proxy server on my edgerouters, listening on 0.0.0.0:31080, forwarding to proxy server tunneled at 10.99.99.2:31080. You can find it: UBNT VPN + Socks5 代理. I chose this because of failure on setting destination NAT. The BAD thing is, HAProxy DOES NOT SUPPORT UDP. If I set foxyproxy … Continue reading “EdgeRouter DNAT for Remote Socks Proxy Server”

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代理。方案很简单,参考命令如下:

10.99.99.2 和 192.168.121.1 分别是我两种vpn方案的服务端私有IP。 这行命令被我加到了rc.local。当然,还得配ssh 公钥登录。 路由上,安装配置haproxy。依旧参考 使用HAProxy搭建SSH代理。 /etc/haproxy/haproxy.cfg

Incoming search terms:socks5 proxysocks4 proxysocks5 прокси 50192 168 1 31080socks4 прокси 50socks5 proxy 50socks4 proxy 50westerni2owaterc5wubnt proxypotatoesu3vmeasuren2lhaproxy … Continue reading “UBNT VPN + Socks5 代理”

Hijack DnsPod HttpDNS

劫持DNS是个很简单的工作,家用路由器基本都自带dnsmasq,直接加解析就行。 之前某次尝试劫持某视频App的广告接口解析到一个空的本地服务器上,发现该App使用了DnsPod的HttpDNS服务,所以传统的DNS劫持方案不好用。而EdgeRouter的DPI功能也没有对外开放墙一般的高级接口,所以这次用NAT来实现。 Incoming search terms:bushassraink7zseveralr87streetagyLink to this post!

EdgeRouter Policy Based Routing Using DNSMASQ IPSET

之前用SNIProxy按域名区分流量,着实麻烦。尤其是后期发现路由表莫名其妙出问题。 EdgeRouter的Policy Based Routing(PBR)使用的是自带配置语法的firewall modify功能。 官方有两篇教程: EdgeRouter – Policy-based routing for destination port EdgeRouter – Policy-based routing (source address based) 第二篇文章顺带提了network-group。之前在配置VPN时,使用过network-group,还比较过使用firewall modify + network-group 与配置一堆interface-route的区别。 而,这里的network-group的实现,使用了netfilter的ipset。Man pages可以看这里,命令在edgerouter上也附带了。 dnsmasq支持 ‘–ipset‘ 参数,把对配置域名解析的IP存入到指定的ipset。具体细节可以看dnsmasq的文档。 dnsmasq配置的语法比较简单。

domain 部分参考 address 的语法。例如:

配置好所有自己需要的域名,重启dnsmasq即可。 ipset本身支持timeout,但是edge os的network-group不支持,所以在配置dnsmasq之前,最好创建一个新的network-group。 假定新建的ipset名叫 MY_SET,edge router的主要相关配置如下:

其他诸如配置 static table, interface firewall 可以参考最前边的文档。 Incoming search terms:edgeos firewall network-group … Continue reading “EdgeRouter Policy Based Routing Using DNSMASQ IPSET”

Setup WPAD on EdgeRouter

Previously, I wrote Setup WPAD on Asus Merlin. Similar on EdgeRouter. 1 Configure Domain name. System

DHCP service

2 Prepare wpad.dat I don’t have wpad.dat deployed on my router, but an internal Ubuntu server with nginx as httpd, IP 192.168.36.20. wpad.dat is located to default server root, if you have your custom, make … Continue reading “Setup WPAD on EdgeRouter”