zhangguanzhang's Blog

斐讯N1刷机和旁路由的设置

字数统计: 1.5k阅读时长: 5 min
2020/05/12 Share

由来

        之前一直是使用k2popenwrt或者pandora跑v2用,前几天看到了个v2的订阅地址给写到openwrt上了。结果运行了几天发现web上任何配置都无法更改,ssh上去发现touch报错没有容量(而且重装后感觉还是有问题,github访问也不稳定了),意识到k2p容量实在太小了,于是去恩山论坛逛了下准备买个N1盒子玩玩旁路由。

        N1有8G的rom 2G的ram,cpu是armv8的。询问了一番pdd上有卖的,132买的刷机版+刷机线套餐。到手是安卓电视盒子系统,如果不刷机则是天天链系统。推荐买刷机版本的,省去解锁boot分区啥的(但不是意味着就啥都不用做,毕竟还是要刷openwrt),如果没解锁可以去看 https://zhuanlan.zhihu.com/p/129414399 步骤跟着降级。下面步骤是我个人使用的,有些是需要键盘啥的,你没有键盘则应该思考我步骤的目的是干啥的。我步骤全部不带图,毕竟读者都懂Linux

刷机

  • 网线一根
  • 一个显示屏或者家里电视,一根HDMI线
  • 一个1G以上的USB刻录iso
  • 一个键盘和一个鼠标

我的环境是一个路由器(主路由),我笔记本和N1盒子网口都连路由器的lan,CIDR是192.168.2.1/24, 我盒子作为旁路由,后续准备用192.168.2.2静态ip

adb

        盒子插上电,然后接上网线和笔记本同一个局域网,盒子HDMI线接个显示屏或者电视。接上usb鼠标点两下设置的齿轮,最下面进去点击版本号多点几次开启开发者选项。鼠标随意右击返回,进开发者选项确认adb状态开启,进法律信息里看局域网的ip

        笔记本windows如果没adb的话自行下载 https://dl.google.com/android/repository/platform-tools-latest-windows.zip 解压到目录,把目录加到环境变量PATH里

准备镜像文件

去恩山找个N1的openwrt镜像,下载了后准备一个大于1G的usb刻录,使用软件balenaEtcher刻录,下载地址 https://www.balena.io/etcher/ ,下载Portable免安装的。刻录后usb插到盒子上

刷机

笔记本git bash或者cmd里执行adb

1
adb connect <盒子局域网ip> 5555

连上之后确认下

1
adb shell ls

有安卓文件则继续走

1
adb shell reboot update

不出意外重启会进emcc系统,等待很久后把鼠标拔了换键盘。开机很久后按回车进入终端,下面是把系统写到emcc里,否则是u盘的系统.

1
2
cd /root
./inst-to-emmc.sh

跟着交互走,不出意外看到成功就可以pweroff关机了,然后拔掉U盘。

升级emcc里的系统的话

1
2
cd /root
./update-to-emmc.sh

旁路由的配置

路由静态ip配置

开机后继续键盘。更改旁路由的网络配置文件

1
2
cp /etc/config/network /etc/config/network.bak
vi /etc/config/network

改为预期的配置

1
2
3
option ipaddr '192.168.2.2'
option netmask '255.255.255.0'
option gateway '192.168.2.1'

重启网卡

1
/etc/init.d/network restart

然后浏览器进192.168.2.1,默认密码admin password啥的试试

web配置

我的固件只有一个LAN接口,不确定其他的是不是这样(推荐此处到最后都先看一遍完后再跟着操作)
网络-接口,进入LAN修改,下面的DHCP,开启动了。然后高级设置,动态DHCP+强制,写上掩码,下面的DHCP选项两行

1
2
3,192.168.2.2                    # 配置dhcp的网关,指向旁路由自己
6,192.168.2.2,8.8.4.4,8.8.8.8 # 配置dhcp获取到的dns,如果稳定则旁路由自己的IP

IPv6设置里前三个全部选禁用
保存应用

网络-DHCP/DNS-常规设置,有必要的话配置下DNS转发,屏蔽一些激活码请求域名啥的,丢弃 RFC1918 上行响应数据这个取消了,我这儿是不然某些上游dns的域名无法访问到
最下面的写hosts列表,例如单独的指定公网ip下载jetbrains家的插件和软件,绕过前面配置的屏蔽

网络-DHCP/DNS-HOSTS和解析文件 解析文件写/etc/resolv.dnsmasq.conf,然后ssh上去。执行

1
2
3
4
5
cat<<EOF>/etc/resolv.dnsmasq.conf
nameserver 223.5.5.5
nameserver 223.6.6.6
nameserver 8.8.4.4
EOF

回到web上保存应用

主路由的lan配置

关闭DHCP即可,因为有人的旁路由丢包说关闭主路由的DHCP然后重启主路由

N1盒子旁路由丢包

有人说缺少下面iptables命令,但是我前面加了后面配置完无法上网,我最后把它删除了就能上网了

1
2
3
4
注:固件做旁路由的话不要忘了加自定义防火墙规则(网络->防火墙->自定义规则):
iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
也可以尝试(有桥接存在的情况下)
iptables -t nat -I POSTROUTING -o br-lan -j MASQUERADE

https://koolshare.cn/thread-178371-1-1.html 帖子下面有两个人说关闭主路由的DHCP并重启主路由后才行。
https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=3592744&page=1#pid8444520 帖子下说主路由关闭硬件加速
https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=3592744&page=1#pid8444520 网络-接口-LAN桥接关掉 不要自定义 直接单选那个eth0

网络-接口-LAN桥接关掉 不要自定义 直接单选那个eth0。我试了这个后,br-lan桥接的网卡没了,eth0静态ip,qq邮箱打开都更快了。观察了好几天都没丢包了

CATALOG
  1. 1. 由来
    1. 1.1. 刷机
      1. 1.1.1. adb
      2. 1.1.2. 准备镜像文件
      3. 1.1.3. 刷机
    2. 1.2. 旁路由的配置
      1. 1.2.1. 路由静态ip配置
      2. 1.2.2. web配置
      3. 1.2.3. 主路由的lan配置
      4. 1.2.4. N1盒子旁路由丢包