通过OpenWrt固件实现路由器智能代理及建立访客网络流量控制

网件的固件功能实在是过于简陋,折腾了一下午总算是把想要的功能全折腾好了,留作记录

本文环境基于网件路由器R6300 V2,不保证其他环境下可行性,请酌情参考

 

一、刷写OpenWrt固件

访问OpenWrt项目官网查找相关固件

如图可以查看路由器详细参数ow1

在其下方可以找到相关固件

ow2

下载好固件后登入路由器管理页面,依次选择“高级”-“管理”-“固件升级”,上传固件确定后等待5分钟左右即可刷写成功

此处说明,OpenWrt 15.05.1之后固件多是支持5G的,但R6300 V2 5G驱动闭源故无法支持5G网络

固件装好后,进入路由器管理页面Network-Interfaces,修改WAN参数设置宽带连接互联网,其他无线设置在Network-Wifi选项下,不再赘述。

ow3

 

二、配置代理实现路由器只能科学行走

主体思路是现在路由器上安装相关代理,然后根据白名单判断该网页是否需要通过代理,从而达到智能行走的目的。

通过SSH连接路由器,安装以下软件(以下代码中包含软件版本以R6300 V2硬件为基准,请根据自己路由器自行修改)

1,shadowsocks-libev for OpenWrt

  • wget https://dl.bintray.com/aa65535/opkg/shadowsocks-libev/3.0.6/OpenWrt/bcm53xx/:shadowsocks-libev_3.0.6-1_bcm53xx.ipk
  • opkg install  shadowsocks-libev_3.0.6-1_bcm53xx.ipk

2,luci-app-shadowsocks

用于提供管理代理可视化界面

  • wget https://github.com/shadowsocks/luci-app-shadowsocks/releases/download/v1.6.3/luci-app-shadowsocks_1.6.3-1_all.ipk
  • opkg install luci-app-shadowsocks_1.6.3-1_all.ipk

3,ChinaDNS for OpenWrt

用于实现白名单功能

  • wget https://github.com/aa65535/openwrt-chinadns/releases/download/v1.3.2-4/ChinaDNS_1.3.2-4_bcm53xx.ipk
  • opkg install ChinaDNS_1.3.2-4_bcm53xx.ipk

4,luci-app-chinadns

用于提供ChinaDNS可视化管理界面

  • wget https://jaist.dl.sourceforge.net/project/openwrt-dist/luci-app/chinadns/luci-app-chinadns_1.4.0-1_all.ipk
  • opkg install luci-app-chinadns_1.4.0-1_all.ipk

5,openwrt-dns-forwarder

  • wget https://dl.bintray.com/aa65535/openwrt/dns-forwarder/1.2.0/OpenWrt/bcm53xx/:dns-forwarder_1.2.0-1_bcm53xx.ipk
  • opkg install dns-forwarder_1.2.0-1_bcm53xx.ipk

6,luciappdnsforwarder

  • wget https://github.com/aa65535/openwrt-dist-luci/releases/download/v1.6.1/luci-app-dns-forwarder_1.6.1-1_all.ipk
  • opkg install luci-app-dns-forwarder_1.6.1-1_all.ipk

 

安装好上述软件后即可开始配置,如若出错,请根据相关错误描述安装相应依赖环境

配置如下:

1,配置ss

打开路由器管理页面,Services-ShadowSocks-Servers Manage-Add

此处填写相关服务器信息,其中服务器地址(Server Address)一项只可填实际ip地址,不可填域名

 

填好后save&apply,进入Access Control选项

 

Zone WAN下

 

Bypassed IP List选择ChinaDNS CHNRoute,其他按需填写

 

Zone LAN下

 

设置代理模式,正常,全局,或直连(Direct)

其他按需填写

 

LAN Hosts下

 

对特定IP指定特定代理方式

 

同样save&apply,然后进入General Settings

 

Transparent Proxy下

 

选择填写的服务器,其他按需配置,最后启用ss

 

2,配置DNS

打开路由器管理页面,Services-DNSForwarder

如图填写

ow6

然后Services-ChinaDNS

如图填写

ow7

再Network – DHCP/DNS

 

General Settings下

 

DNS forwardings处填写:127.0.0.1#5353

 

Resolv and Hosts Files下

 

勾选Ignore resolve file

ow8

 

回到Services-ShadowSocks下,检查SS是否启用,如果没有启用尝试通过SSH手动启用,否则查看配置文件是否有误

 

ow9

此时就应该基本完成代理了

 

三,配置访客网络,并对其带宽进行限制

所需package

luci-app-sqm

sqm-scripts

均可直接在luci里找到

ow11

安装好后配置访客网络

 

新建一个接口

 

打开路由器管理界面-Network-Interfaces-Add new interface

我命名为’GUEST’

更改协议为静态地址

Protocol-Static address

子网掩码填写

ipv4-netmask:255.255.255.0

ow12

页面底部开启DHCP服务

ow13

防火墙设置勾选LAN

ow14

其他按需填写

 

为访客网络配置无线

 

Network-wifi

选择合适的频段Add

网络勾选’Guest’,其他按需填写

ow15

 

限制访客网络带宽

Network-SQM QoS

interface name下选择对应的访客网络名称

 

此处软件Bug特别注意

 

Download speed对应的其实是上行限速

Upload speed对应的是下行限速

配置好后启用

 

最后前往Network-Wifi开启访客网络即可