Memo

download

在 PVE 的 LXC 中创建 ImmortalWRT 容器 下载固件 `shell download wget https://downloads.immortalwrt.org/releases/23.05.4/targets/x86/64/immortalwrt-23.05.4-x86-64-rootfs.tar.gz check sum shasum -a 256...

在 PVE 的 LXC 中创建 ImmortalWRT 容器

下载固件

# download
wget https://downloads.immortalwrt.org/releases/23.05.4/targets/x86/64/immortalwrt-23.05.4-x86-64-rootfs.tar.gz

# check sum
shasum -a 256 immortalwrt-23.05.4-x86-64-rootfs.tar.gz

# 72cf773ab8d075db960b61671fbd742fa733f2e67059339bd42a410974dd9604

创建 LXC

pct create 301 ~/immortalwrt-23.05.4-x86-64-rootfs.tar.gz \
 --arch amd64 \
 --hostname immortalwrt \
 --rootfs local-lvm:2 \
 --memory 2048 \
 --cores 6 \
 --ostype unmanaged \
 --unprivileged 1 \
 --features fuse=1,nesting=1 \
 --onboot 1 \
 --startup order=0 \
 --start 1 \
 --dev0 /dev/ppp \
 --dev1 /dev/net/tun \
 --net0 bridge=vmbr0,name=eth0,gw=192.168.31.1,ip=192.168.31.1/24 \
 --net1 bridge=vmbr1,name=eth1

301 是我的容器 ID。

注意,需要在 PVE 宿主机上先创建 vmbr0 作为 LAN, vmbr1 作为 WAN。我之前将接光猫的网口直通给 VM 的 OpenWRT,想重新作为网桥使用需要删掉直通并重启宿主机。

Dnsmasq 无法启动

错误信息:

daemon.crit dnsmasq[1]: failed to seed the random number generator: No such file or directory
daemon.crit dnsmasq[1]: FAILED to start up

为了解决 dnsmasq 无法生成随机数导致无法启动的问题,需要在 /etc/init.d/dnsmasq 中找到 procd_add_jail_mount /etc/passwd /etc/group /etc/TZ /etc/hosts /etc/ethers 这样的行,追加 /dev/urandom,最终效果如下:

procd_add_jail_mount /etc/passwd /etc/group /etc/TZ /etc/hosts /etc/ethers /dev/urandom

然后重启容器。