斐讯n1安装centos7+docker openwrt

斐讯n1安装centos7+docker openwrt,第1张

斐讯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)

同时附上论坛上的简单教程:

分享N1盒子CentOS7.9系统下安装最新版本的宝塔面板linux7.7简单教程 - 斐讯无线路由器以及其它斐迅网络设备 - 恩山无线论坛 - Powered by Discuz! (right.com.cn)

特别感谢恩山论坛的各位大佬!

在此我也简单记录一下,以防某天重装系统

修改写入emmc的脚本,添加上复制lib64文件夹的命令

vi /root/.install_os_to_emmc/install.sh

在153行后添加下面命令

echo "Copy LIB64..."
tar -cf - lib64 | (cd $DIR_INSTALL; tar -xpf -)

安装宝塔

禁止宝塔打开swap内存,纯净系统只占用200-300MB内存,对于n1的2G内存来说,基本上够用了,何况8G的emmc也很稀缺

修改宝塔安装脚本
删除或注释掉以下三条命令
# if [ "${MEM_TOTAL}" -le "1" ];then
#        Auto_Swap
# fi

关于宝塔安装nginx和php,听说是编译安装性能更优,只是安装较慢,本人亲测Nginx 1.20.2 Nginx 1.18 php7.4均可编译安装成功

安装docker

网上也有很多教程,我就直接一点

yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io
systemctl start docker
systemctl enable docker
docker安装openwrt
首先开启网卡混杂模式
ip link set eth0 promisc on
创建vlan
docker network create -d macvlan --subnet=192.168.2.0/24 --gateway=192.168.2.1 -o parent=eth0 macnet

关于创建vlan,网上有两种说法,一是网段与主路由相同,二是不同.本人亲测与主路由不同可以正常使用(本人主路由为192.168.1.1)

docker run --restart always --name openwrt -d --network macnet --privileged sulinggg/openwrt:latest /sbin/init
此时openwrt已在运行
进入容器修改lan接口
docker exec -it openwrt bash
vi /etc/config/network

只需修改config interface 'lan'中的配置

ipaddr为主路由网段下的一个ip

option ipaddr '192.168.1.111'
option gateway '192.168.1.1'
option dns '192.168.1.1'

重启/etc/init.d/network restart之后就可以在浏览器输入192.168.1.111进入openwrt管理页面,默认密码为password

关于旁路网关上网

使用服务->PassWall *** 作就行,实际上就是一个代理工具客户端

配置好之后,只需在设备上修改为静态ip,注意网关和DNS都要改为openwrt的ip192.168.1.111,大功告成,可以去测试一下
记得去接口里把桥接关掉!!!

补充

    解决宿主机无法和docker的macvlan通信

    Docker的macvlan模式容器与宿主机通信问题-飘云 (piaoyun.cc)

    Docker 使用 macvlan 网络容器与宿主机的通信过程 | 一小步 (smalloutcome.com)

    一句话:

    mavlan 虚拟出来的网口不能和父网口直通,但是可以和同一子网的其他网口互通(包括其他虚拟出来的网口)。

    通过在宿主机上用 macvlan 添加一个虚拟网口 mynet ,并在宿主机上配置路由到容器的数据包由 mynet 发出,就架起了宿主机与容器的通信桥梁。
    宿主机发往容器的数据包,由 mynet 发给容器;容器发往宿主机的数据包先发给 mynet,再由 mynet 转交给 eth0。

    ip 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网关时无法联网

    在docker中运行openwrt · Issue #4 · lisaac/blog (github.com)

    ip route del default #删除默认路由
    ip route add default via 192.168.1.111 dev mynet # 设置静态路由
    
一些思考

我们使用代理时,软件将我们的网络请求拦截,进而向代理服务器发送请求,代理服务器再向我们的目标服务器发送我们被软件拦截的原始请求,最后再返回

使用旁路网关时,我们的设备首先将请求发送至openwrt,在openwrt端一番 *** 作再返回

两种方式本质都是一样的,只是第一种一个设备一个代理,第二种多个设备一个代理,对我们的使用体验来说,当然是第二种更好

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5704440.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存