最近心血来潮的,买了一个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镜像下载

  1. 删除多余的docker依赖

    for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
  2. 安装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
  3. 利用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
  4. 完成Docker安装

    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  5. 安装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,就能登陆控制台了。进入之后,别忘了把控制台密码换了。

具体软路由的一些作用,可以自己百度一下。它可以大幅度的方便一些特殊上网需求。

Leave a Reply

Your email address will not be published. Required fields are marked *