最近心血来潮的,买了一个N100的机器。12代全小核的N100,虽然功耗还是有点高(待机大概11W,满载20W),但是性能确实实打实的大幅度提升。看着同频率的N100的性能已经和Skylake的机器差不多了。
这篇我就不详细说Debian12怎么安装了。具体可以百度Debian官网下载。稍微有一点tip,国内的话,因为在线安装需要链接国外服务器,比较容易出现网络异常。建议从Debian Download中寻找A larger complete installation image: contains more packages, making it easier to install machines without an Internet connection.来完成下载。
现在我们就假设Debian安装已经完毕,我们在物理机上部署Docker + OpenWRT。
Docker 安装和OpenWRT镜像下载
-
删除多余的docker依赖
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
-
安装Docker GPG Key
sudo apt-get update sudo apt-get install ca-certificates curl gnupg sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg
-
利用Docker清华源完成Docker安装
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update
-
完成Docker安装
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
-
安装OpenWRT镜像(这里用了sulinggg大大的镜像)
docker image pull sulinggg/openwrt:x86_64
网络配置
首先可以利用ip -a查看机器的网络端口
2: enp1s0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
3: enp3s0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
我的机器上打印出来有2个网口(软路由的机器,有2个2.5G网口)。
接下来给这俩网口开启网卡混杂模式。这个配置重启,如果需要重启也能有用,可以自行百度修改一下配置。
ip link set enp1s0 promisc on
ip link set enp3s0 promisc on
我这里把enp3s0作为了Wan口,enp1s0作为Lan口。这样先设置Lan口的macvlan(具体也能查询百度,虚拟网卡)
docker network create -d macvlan --subnet=192.168.10.199/24 --gateway=192.168.10.199 -o parent=enp1s0 ovs_lan
docker network create -d macvlan --subnet=192.168.0.198/24 --gateway=192.168.0.1 -o parent=enp3s0 ovs_wan
这个网关gateway就是之后Lan的IP地址。
启动openwrt镜像,并把Wan口一起绑定上去。
docker run -d --name openwrt1 --net ovs_lan --privileged --ip 192.168.10.199 sulinggg/openwrt:x86_64 /sbin/init
docker network connect ovs_wan openwrt1
进入docker环境修改Lan口配置
docker exec -it openwrt1
vim /etc/config/network,修改Lan口网络配置。修改的config文本是:
config interface 'lan'
option ifname 'eth1'
option proto 'static'
option netmask '255.255.255.0'
option ip6assign '60'
option ipaddr '192.168.10.199'
option gateway '0.0.0.0'
option dns '0.0.0.0'
注意这里是宿主机:vim /etc/network/interfaces,修改Wan口网口配置。增加的config文本:
auto enp1s0
iface enp1s0 inet static
address 192.168.10.198
netmask 255.255.255.0
gateway 192.168.10.199
注意两个脚本一个是修改(本来是存在的,但是把配置写对),还有一个是增加。
最后重启网络服务:
systemctl restart networking.service
这个时候电脑打开对应ip的网页(我设置的是192.168.10.199)。默认密码是password,就能登陆控制台了。进入之后,别忘了把控制台密码换了。
具体软路由的一些作用,可以自己百度一下。它可以大幅度的方便一些特殊上网需求。