在Ubuntu下部署ikuai软路由
Reverse Lv4

概述

ikuai 提供的是一个系统镜像,所以需要用到 kvm 来运行他,这里记录一下我的部署过程

准备环境

安装 kvm,这一步是必须的

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/env bash

{
apt update
apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
lsmod | grep kvm
usermod -aG libvirt $(whoami)
usermod -aG kvm $(whoami)
newgrp libvirt
systemctl enable libvirtd
systemctl start libvirtd
systemctl status libvirtd
}

宿主机配置网络

宿主机至少需要有一个口可以用来上网,因为 ikuai 需要两个网口,一个 wan 一个 lan,wan 口用来上网,lan 口则可以作为内网网关.

这里直接使用网桥来创建就行,写一个配置文件,将下面的配置写进去,其实这个是自己随便定的,你可以是 172 段的 IP,内网无所谓,随便定义,看自己喜欢.

地址: 192.168.9.250
掩码: 16
网关: 192.168.9.1

将下面的配置写入到/etc/netplan/01-br-lan1.yaml文件中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
network:
version: 2
renderer: networkd
ethernets:
eno1: # 改为你宿主机的网口
dhcp4: false

bridges:
br-en01:
interfaces: [eno1] # 改为你宿主机的网口
dhcp4: false
addresses:
- 192.168.9.250/16 # 随便分配个地址
gateway4: 192.168.9.1 # 指定网关
nameservers:
addresses:
- 223.5.5.5
- 119.29.29.29

执行此命令让其生效

1
netplan apply

下载 ikuai 镜像

到官网 https://www.ikuai8.com/component/download 按需选择镜像并且下载到你的宿主机.

下载完成后准备启动 kvm 虚拟机就行了,我这里下载的是 iKuai8_x64_3.7.20_Build202506041743.iso,你可以点击下载也行.

或者通过命令下载到宿主机:

1
wget https://patch.ikuai8.com/3.x/iso/iKuai8_x64_3.7.20_Build202506041743.iso -O ikuai8_x64.iso

启动 KVM 虚拟机

:::warning 特别注意

  1. 如果你想直接运行这个脚本,你需要将 ikuai 镜像移动到/opt/iso/ikuai-x86.iso.
  2. 设置创建磁盘的大小,这里默认是100G如果可以则不需要修改.
  3. 设置内存和 CPU,根据你的实际情况来修改,如果足够懒,你也可以不修改直接运行 :)
  4. 如果你的宿主机不具备图形界面则需要启用VNC功能,否则你没有办法连接到 ikuai 即便你使用 virsh console 进去也没法操作, 这里默认端口设置为 5900
  5. 将你宿主机的物理网卡和刚才创建的虚拟网桥共享给虚拟机,详情见network参数部分.

:::

  • eno1 作为 ikuai 的 wan 口,用来上网.
  • br-lan1 作为 ikuai 的 lan 口,用来作为网关.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
{
_kvm_disk_path="/opt/iso/ikuai-x86.qcow2"
_kvm_iso_path="/opt/iso/ikuai-x86.iso"
mkdir -p "$(dirname "$_kvm_disk_path")"
mkdir -p "$(dirname "$_kvm_iso_path")"

# 创建磁盘
qemu-img create -f qcow2 "$_kvm_disk_path" 100G

# 安装虚拟机(4G内存, 10G磁盘, 4核CPU),图形界面 + 桥接网络
virt-install \
--name ikuai \
--ram 4096 \
--vcpus 4 \
--os-type linux \
--hvm \
--virt-type kvm \
--cdrom "$_kvm_iso_path" \
--disk path="$_kvm_disk_path",format=qcow2,bus=virtio \
--network bridge=eno1,model=virtio \
--network bridge=br-lan1,model=virtio \
--graphics vnc,listen=0.0.0.0,port=5900 \
--noautoconsole \
--osinfo detect=on,name=linux2020
}

最后

当你执行下面的脚本后,流程差不多就结束了,剩下的工作就很简单了,你只需要:

  1. 等待系统安装完成,安装完成后虚拟机会重启,重启后手动virsh start ikuai启动虚拟机就行,如果看不到虚拟机则执行virsh list --all.
  2. 打开 VNC 工具连接到你的 ikuai 虚拟机,手动配置一下网口就行 (很简单,图形化操作)
  3. 注意 lan 口对应的是你宿主机的br-lan1,因此你在 ikuai 配置 lan 口时的地址和掩码以及网关都需要注意一下