Openwrt 路由器通过全局HTTP代理上网的怪异解决方案

由于某些网络要求必须通过http代理认证才能上网,而目前市面上还没找到支持全局wan口代理上网的路由器,只能另辟蹊径。

一开始想到用linux全局http代理,修改/etc/profile增加http-proxy,ftp-proxy,https-proxy,但发现这种情况不支持全协议(例如DNS/UDP之类),而且只能让路由本身用上代理,所以这个方案pass。

后来想到用squid,折腾发现由于squid支持的协议虽然很多,但是如果作为transparent透明代理的话,需要配置iptable,使之将80等端口重定向到squid端口上才行,这样也很麻烦,由于不支持socket代理,所以仍然不可以用,这个方案也pass。

最后还是采用了openvpn over http proxy的解决方案。

先说说这个方案的缺点:
1.配置复杂,需要对端openvpn服务器支持。
2.出口带宽受限,不超过对端openvpn服务器的上行带宽。

优点是:
1.所有流量通过HTTP代理出去,兼容所有协议
2.可以实现HTTP代理认证
3.可以使用多个openvpn服务器做冗余。
继续阅读Openwrt 路由器通过全局HTTP代理上网的怪异解决方案

Openwrt 实现按ip进行流量统计的办法

一般的路由都有按IP进行流量统计,但是openwrt似乎没有自带的按ip进行流量统计插件,只有按interface进行统计的插件,不是特别方便。在查阅一些资料后,发现一个软件叫做bandwithd,可以实现这个功能。

原版的cc 15.05是没有这个包的,官方说需要自己编译。。。但是我从cc 15.05.1下了个也能用。

然后通过:

就可以看到各内网ip的流量,页面自动刷新的。

注意,如果路由ip不是192.168.1.0/24网段,需要修改/etc/config/bandwidthd。

参考资料:
1. https://wiki.openwrt.org/doc/howto/bandwidthd