最近一次外出旅游时想要把我日租卡的流量分享给同室的朋友,但是发现安卓手机自带的WiFi热点在连接设备过多(超过5台)时出现了严重的问题——网速变得很慢并且有明显延迟。猜想原因可能是手机热点没有考虑一对多连接的情况,NAT性能较差。

因此我决定下次旅游时携带一台路由器,手机一对一的将网络分享给路由器,然后由路由器完成NAT的步骤。

本想直接通过热点分享网络给路由器,但是考虑到有线终究相对稳妥,手头的闲置路由器(极路由2)刚好又有一个USB接口,因此决定通过USB来进行网络分享。

但是让Openwrt路由器支持手机分享网络需要进行几步设置,首先通过SSH连接到路由器(也可通过图形界面操作,只是安装软件过程较为繁琐):

opkg update 
opkg install kmod-usb-net kmod-usb-net-rndis kmod-usb-net-cdc-ether usbutils

然后将手机通过USB连接到路由器并开启USB网络分享,再执行:

uci set network.RNDIS=interface 
uci set network.RNDIS.ifname=usb0 
uci set network.RNDIS.proto=dhcp 
uci commit network

之后去Openwrt的luci图形化界面的Network->Interface页面,将usb0的防火墙设置成WAN,之后重启路由器即可。

如上配置只需进行一次,之后无需重新配置,只要将手机连接路由器并打开USB网络分享,路由器就会自动通过DHCP从手机获取IP地址并连接到网络。