斐讯n1安装centos7+docker openwrt
斐讯n1安装centos7+docker openwrt
首先声明,我的n1是降级过的,系统默认usb启动优先级大于emmc,所以可以直接将镜像写入u盘,通过u盘启动系统,同时通过脚本将系统写入emmc.
同时,由于n1的usb是2.0,推荐将常用系统写入emmc,而不是通过u盘启动(虽然emmc只有8G).亲测速度快的不是一点半点,最直观的感受就是执行
yum update
.
centos镜像
N1盒子 CentOS7.9系统镜像,支持写入EMMC - 斐讯无线路由器以及其它斐迅网络设备 - 恩山无线论坛 - Powered by Discuz! (right.com.cn)
同时附上论坛上的简单教程:
特别感谢恩山论坛的各位大佬!
在此我也简单记录一下,以防某天重装系统:joy:
修改写入emmc的脚本,添加上复制lib64文件夹的命令
1 | vi /root/.install_os_to_emmc/install.sh |
安装宝塔
禁止宝塔打开swap内存,纯净系统只占用200-300MB内存,对于n1的2G内存来说,基本上够用了,何况8G的emmc也很稀缺
1 | 修改宝塔安装脚本 |
关于宝塔安装nginx和php,听说是编译安装性能更优,只是安装较慢,本人亲测Nginx 1.20.2 Nginx 1.18 php7.4均可编译安装成功
安装docker
网上也有很多教程,我就直接一点
1 | yum install -y yum-utils device-mapper-persistent-data lvm2 |
docker安装openwrt
1 | 首先开启网卡混杂模式 |
网段与主路由相同
1 | docker run --restart always --name openwrt -d --network macnet --privileged sulinggg/openwrt:latest /sbin/init |
只需修改config interface 'lan'
中的配置
ipaddr为主路由网段下的一个ip
1 | option ipaddr '192.168.1.111' |
重启/etc/init.d/network restart
之后就可以在浏览器输入192.168.1.111
进入openwrt管理页面,默认密码为password
关于旁路网关上网
使用服务
->PassWall
操作就行,实际上就是一个代理工具客户端
配置好之后,只需在设备上修改为静态ip,注意网关和DNS都要改为openwrt的ip192.168.1.111
,大功告成,可以去测试一下
记得去接口里把桥接关掉!!!
补充
解决宿主机无法和docker的macvlan通信
一句话:
mavlan 虚拟出来的网口不能和父网口直通,但是可以和同一子网的其他网口互通(包括其他虚拟出来的网口)。
通过在宿主机上用 macvlan 添加一个虚拟网口 mynet ,并在宿主机上配置路由到容器的数据包由 mynet 发出,就架起了宿主机与容器的通信桥梁。
宿主机发往容器的数据包,由 mynet 发给容器;容器发往宿主机的数据包先发给 mynet,再由 mynet 转交给 eth0。1
2
3
4ip link add mynet link eth0 type macvlan mode bridge
ip addr add 192.168.1.112 dev mynet
ip link set mynet up
ip route add 192.168.1.111 dev mynet至此, 宿主机和容器应该是能互相ping通
解决宿主机使用openwrt网关时无法联网
1
2ip route del default #删除默认路由
ip route add default via 192.168.1.111 dev mynet # 设置静态路由
一些思考
我们使用代理时,软件将我们的网络请求拦截,进而向代理服务器发送请求,代理服务器再向我们的目标服务器发送我们被软件拦截的原始请求,最后再返回
使用旁路网关时,我们的设备首先将请求发送至openwrt,在openwrt端一番操作再返回
两种方式本质都是一样的,只是第一种一个设备一个代理,第二种多个设备一个代理,对我们的使用体验来说,当然是第二种更好