#!ipxe
set mirror https://dl-cdn.alpinelinux.org/alpine/v3.19/releases/x86_64/boot/
set autoinstall http://your-ip/alpine-ipxe #http://your-ip/alpine-ipxe/autoinstall
kernel ${mirror}/vmlinuz-lts alpine_dev=httpfs:${autoinstall} modules=loop,squashfs,sd-mod,usb-storage quiet
initrd ${mirror}/initramfs-lts
boot
none
rinse是为 Debian/Ubuntu 开发的,专用于 Xen PV创建 (如 CentOS、AlmaLinux)的最小根文件系统,类似debootstrap构建deb系的操作系统。
项目官方地址https://salsa.debian.org/debian/rinse
在Alpine Docker容器部署
apk add docker
service docker start
docker run -it debian bash
apt update
apt install rinse -y
安装完后在/etc/rinse目录可以看到支持
# ls /etc/rinse
alma-9.packages centos-7.packages centos-8.packages fedora-36.packages fedora-37.packages opensuse-15.2.packages opensuse-15.4.packages rinse.conf rocky-8.packages rocky-9.packages
Mirror源等配置
cat /etc/rinse.conf
构建AlmaLinux
mkdir /alma-root
rinse --arch amd64 --distribution alma-9 --directory /alma-root
构建完系统后,要对安装上内核以及grub引导等等, 当然在构建之前可以预先将分区处理好,
将 boot和boot/efi提前挂载好, 将网络配置还有 fstab hostname 等等通过chroot 进行部署调好。
反正 Linux 归根结底就是文件一把梭了,带上内核和 grub 设置完就行了, 理解通透后就是简单非常的简单。
另外还有mock lorax livemedia-creator 等方案可用,甚至用 dnf 就能打包rhel系的系统, 类似Kickstart/Anaconda可以归类为原生安装了。
VERSION=$(curl -s https://api.github.com/repos/cloudflare/cloudflared/releases/latest | grep '"tag_name"' | cut -d '"' -f 4)
wget https://github.com/cloudflare/cloudflared/releases/download/${VERSION}/cloudflared-linux-amd64 -O /usr/bin/cloudflared
chmod 755 /usr/bin/cloudflared
https://one.dash.cloudflare.com/networks/tunnels
菜单选择Networks->Tunnels然后添加
none
吊鸡的遗产https://github.com/wikihost-opensource/als
防止删库找不到, 存一份本地文件。
mkdir /etc/als/
curl nxtrace.org/nt | bash
wget https://github.com/samlm0/als/releases/download/111/als-linux-amd64 -O /etc/als/als
chmod 755 /etc/als/als
cat>/etc/als/als.conf<<EOF
#LISTEN_IP = 127.0.0.1
HTTP_PORT=8080
SPEEDTEST_FILE_LIST="100MB 500M 1GB"
LOCATION="Tokyo, Japan"
ENABLE_SPEEDTEST=false
#PUBLIC_IPV4=
#PUBLIC_IPV6=
UTILITIES_PING=true
UTILITIES_IPERF3=true
UTILITIES_IPERF3_PORT_MIN=30000
UTILITIES_IPERF3_PORT_MAX=31000
UTILITIES_FAKESHELL=true
#SPONSOR_MESSAGE="Test message"
EOF
cat>/etc/systemd/system/als.service<<EOF
[Unit]
Description=Another Looking-glass Server (ALS)
After=network.target
[Service]
Type=simple
WorkingDirectory=/etc/als
ExecStart=/etc/als/als
EnvironmentFile=/etc/als/als.conf
Restart=on-failure
User=nobody
Group=nobody
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable als --now
none
注册 Apple Business Manager (ABM) :https://business.apple.com
下载部署MDM(micromdm) :https://github.com/micromdm/micromdm
申请 Apple MDM Push 证书
在 Apple Developer Portal 中创建 MDM CSR
上传到 https://identity.apple.com/pushcert/ 获取 .pem
将 .pem 拆分为 mdm_push.pem 和 mdm_push.key 放入 certs 目录
配置启动服务micromdm
micromdm serve \
-server-url=https://my-server-url \
-api-key MySecretAPIKey \
-filerepo /path/to/pkg/folder \
-tls-cert /path/to/tls.crt \
-tls-key /path/to/tls.key
更多细节看官方文档https://github.com/micromdm/micromdm/blob/main/docs/user-guide/quickstart.md
登录 ABM 管理后台,添加 MDM Server,上传 MicroMDM 的公钥文件(Public Key from DEP setup)
下载 .p7m 文件,导入到 MicroMDM
一切配置好后可以通过micromdm的 api 对设备进行重启/抹除/重设密码等操作。
另外还有SimpleMDM可以选择
在设备里面可以看到监管机
不想用 socat,水一下内容
stream {
map $server_port $snmphost {
3501 10.0.0.1;
3502 10.0.0.2;
3510 10.0.0.10;
3511 10.0.0.11;
3520 10.0.0.20;
3523 10.0.0.23;
3530 10.0.0.30;
3531 10.0.0.31;
3535 10.0.0.35;
}
server {
listen 0.0.0.0:3500-3550 udp; #低版本可能不支持,要每个端口写一遍
proxy_connect_timeout 15s;
proxy_timeout 30s;
proxy_pass $snmphost:161;
#allow 333.333.333.0/24; #白名单IP段
#deny all;
}
}