赞
踩
我是用nanopc t6的官方系统,rk3588-XYZ-ubuntu-jammy-x11-desktop-arm64-YYYYMMDD.img.gz,可以从官方的百度网盘下载,根据官方教材刷入nanopc t6中即可。官方网址如下:
NanoPC-T6/zh - FriendlyELEC WiKi
毕竟刚刷的系统,先设置root密码
sudo passwd root
默认的账户和密码都是pi,我是自己添加了sudo用户,删除了pi用户,默认不是root,因此执行部分命令前需要加上sudo,添加sudo用户的案例如下,根据自己的需要改名字即可
- sudo adduser your_name
- sudo usermod -aG sudo your_name
更改根系统的命令需要用root用户执行,更改完后需要重启
- su - root -c 'echo "overlayfs=disable" > /.init_wipedata'
- sudo reboot
清华源的官方有更换的教程,跟着来就行
ubuntu-ports | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
更换完后记得更新一下
- sudo apt update && sudo apt upgrade -y
- sudo apt update && sudo apt full-upgrade -y
更新完记得重启
sudo reboot
这里是根据官方教程来的,但我习惯用aptitude作为包管理器,因此需要先安装一下,安装完最好重启一下
- sudo apt install aptitude
- sudo aptitude update && sudo aptitude full-upgrade -y
- sudo reboot
运行下列代码安装docker
- sudo aptitude install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
- echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- sudo aptitude update
- sudo aptitude install docker-ce docker-ce-cli containerd.io docker-compose-plugin
可以看下是否成功
sudo docker info
docker默认的国外源太慢了,最好给docker换国内的源,例如我这里用的是docker中国的官方源,当然第三方源或许更快,例如163或者腾讯以及阿里的源。
这里用vim进行编辑,不会用 vi 或者 vim 的.........推荐学一下
sudo vim /etc/docker/daemon.json
其余的源可以删掉,只保留如下内容
- {
- "registry-mirrors": ["https://registry.docker-cn.com"]
- }
或许有人想要让docker命令不再需要sudo权限运行,可以如下操作
- sudo groupadd docker
- sudo gpasswd -a ${USER} docker
- sudo systemctl restart docker
- sudo chmod a+rw /var/run/docker.sock
如果没有运行上述命令,后续使用docker时好像需要在命令前加 sudo 认证。无论如何,docker刚装完,使用前最好重启一下
sudo reboot
重头戏来了
宿主机(nanopc t6)具有2个网口,看看机器外壳的2个网口应写有编号1和2。
通常这2个网口在系统里的名字是eth0和eth1,不是的话也没关系,可以在系统里确认一下,根据具体名字来。
ifconfig
根据这一命令的结果来看具体的网卡名,我这里是eth0和eth1。
在此,后续的部分需要提前申明,我的eth0是作为连接上层路由(上级路由器或者光猫)的网口,从该口获得网络访问;eth1目前没接下属设备,该网口目前没插网线。
后续设置一定要看清是给eth0设置,还是给eth1设置!!!
sudo vim /etc/rc.local
在exit 0前添加
- ip link set eth0 promisc on > /dev/null 2>&1
- ip link set eth1 promisc on > /dev/null 2>&1
设置开机自动配置
- sudo chmod a+x /etc/rc.local
- sudo systemctl enable rc-local
sudo vim /etc/sysctl.conf
添加下列内容
net.ipv4.ip_forward = 1
确认设置
sudo sysctl -p /etc/sysctl.conf
eth0连接上层路由器,eth1暂时没连网线
用eth1闲置的网口创建macvlan作为openwrt的lan口,IP的第三段地址可自己更改,例如我这里设为13,与后续openwrt配置文件中符合即可
docker network create -d macvlan --subnet=192.168.13.0/24 --gateway=192.168.13.1 -o parent=eth1 owrt-lan
需要用联网的eth0
再创建一个 macvlan, 此时的 ip 设置需要和上层路由相同(例如我的上层路由器是 192.168.8.1),例如:当使用上述ifconfig
命令发现设备的IP地址为192.168.8.112
,则需要写为192.168.8.0
和192.168.8.1
,注意网卡名和虚拟名
docker network create -d macvlan --subnet=192.168.8.0/24 --gateway=192.168.8.1 -o parent=eth0 owrt-wan
可以看一下创建的结果
docker network ls
可以尝试目前最新的23.05.2
docker import https://mirrors.ustc.edu.cn/openwrt/releases/23.05.2/targets/armsr/armv8/openwrt-23.05.2-armsr-armv8-rootfs.tar.gz openwrt-23.05.2-armv8
可以看一下获取的镜像
docker images
创建、添加网卡并启动
- docker create --restart always --name openwrt-23.05.2 --network owrt-lan --privileged -m 8G openwrt-23.05.2-armv8:latest /sbin/init
- docker network connect owrt-wan openwrt-23.05.2
- docker start openwrt-23.05.2
上述 --restart always 代表无论发生什么,容器都会重启,也可以设置为其它;--name openwrt-23.05.2 是给容器设置名字;--network owrt-lan 是连接之前创建的lan口,后续连接openwrt需要用到;-m 8G 是指该容器最多可使用8G的内存,我的nanopc t6是16G内存版本的;
需要进入容器内部进行设置,用下列命令进入容器内部,按键盘的 Ctrl 和 d 就可退出,跟连接了一个ssh终端是一样的
docker exec -it openwrt-23.05.2 /bin/sh
进入内部后,进行如下设置
vi /etc/config/network
打开该文件后,可以看到下面的类似的配置文件,每个人可能有所不同,这个无所,只要改其中一行就可以了
例如下面的内容
- config interface 'loopback'
- option ifname 'lo'
- option proto 'static'
- option ipaddr '127.0.0.1'
- option netmask '255.0.0.0'
-
- config globals 'globals'
- option ula_prefix 'fd2d:875e:614c::/48'
-
- config interface 'lan'
- option type 'bridge'
- option ifname 'eth0'
- option proto 'static'
- option ipaddr '192.168.13.22'
- option netmask '255.255.255.0'
- option ip6assign '60'
-
- config interface 'wan'
- option ifname 'eth1'
- option proto 'dhcp'
-
- config interface 'wan6'
- option ifname 'eth1'
- option proto 'dhcpv6'
只需要更改 option ipaddr '192.168.13.22' 这里就行,更改成跟其它设备不冲突的地址,以后这就是openwrt的连接地址啦,但是要跟步骤4.3中用eth1创建的 owrt-lan 相匹配,例如我这里是192.168.13.22,因为前面设置的第三段是13,最后的22可以自己更改。
更改完后,继续设置其它的,防止提示/dev/crypto无权限
chmod -R 777 /dev/crypto
防止提示配置文件无写入权限
vi /etc/rc.local
在exit 0前加入
mount -o remount rw /
确保命令配置可执行
chmod +x /etc/rc.local
退出容器(Ctrl和d一起按)
重启宿主机
sudo reboot
到此,openwrt基本的安装和配置就已经结束了,重启完后,nanopc t6 的第二个网口可以插入设备,例如一台电脑,这样可以用这台电脑的浏览器,连接配置好的地址192.168.13.22,连接openwrt的luci界面进行设置了。
可以给openwrt的软件库换源,默认好像是国外的,挺慢的,可以换中科大的源
先进入容器
docker exec -it openwrt-23.05.2 /bin/sh
进入后先更新一下软件列表,此时应该很慢
opkg update
先安装libustream-openssl和ca-bundle以及ca-certificates这三个,防止换源后报错
opkg install ca-bundle ca-certificates libustream-openssl
libustream-openssl如果安装时候报错,那就不装了,好像没啥影响
此时可以换源了
sed -i 's/downloads.openwrt.org/mirrors.ustc.edu.cn\/openwrt/g' /etc/opkg/distfeeds.conf
再更新软件列表看看
opkg update
应该快了不少
例如此时nanopc t6 的第二个网口插了一台电脑(暂且命名为Q),那宿主机怎么才能访问到该电脑呢?
这种情况下,只需要给宿主机的eth1网卡设置一个192.168.13.0/24
网段的 ip 就可以,网关设为openwrt的地址。
这里采用netplan进行设置,以NetworkManager为后端
- sudo systemctl enable NetworkManager
- sudo systemctl restart NetworkManager
sudo vim /etc/netplan/net_config_01.yaml
- network:
- version: 2
- renderer: NetworkManager
- ethernets:
- eth0:
- dhcp6: true
- dhcp4: ture
- nameservers:
- addresses: [8.8.8.8,114.114.114.114]
- eth1:
- dhcp6: true
- dhcp4: false
- addresses:
- - 192.168.13.55/24
- routes:
- - to: default
- nameservers:
- addresses: [8.8.8.8,114.114.114.114]
上述的需要更改的是 - 192.168.13.55/24 这里,例如我这里设置为55,第三段地址的13不能改,可以改第四段的55,只要地址不跟其它设备冲突就行。
sudo netplan apply
到此,最好再重启一下设备
sudo reboot
提前申明,必须要给nanopc t6 的第二个网口eth1插了下挂设备才有效,可以是电脑或者其它,总之第二个网口要有下挂的设备。
只有第二个网口eth1插了设备,才能实现互通。配置虚拟接口,例如192.168.13.122,122可以自己更改。添加openwrt的地址(192.168.13.22)为网关,就可以互通了
- sudo ip link add owrt-link link eth1 type macvlan mode bridge
- sudo ip addr add 192.168.13.122 dev owrt-link
- sudo ip link set owrt-link up
- sudo ip route add 192.168.13.22 dev owrt-link
可以测试一下
ping 192.168.13.22 -c 3
但上述配置重启就失效了,需要开机启动时实现自动设置,还是设置下面的文件
sudo vim /etc/rc.local
在exit 0之前,上述步骤4.1配置之后,添加
- ip link add owrt-link link eth1 type macvlan mode bridge
- ip addr add 192.168.13.122 dev owrt-link
- ip link set owrt-link up
- ip route add 192.168.13.22 dev owrt-link
确保开机启动
- sudo chmod a+x /etc/rc.local
- sudo systemctl enable rc-local
这里重启一下试试
sudo reboot
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。