目前的网络请求路径

随后客户端发起请求时, 通过RouterOS再次判断是否国内IP, 如果非国内IP, 将请求转发给 mihomo内核(该机器开启ip转发)
由于对于国外的域名来说, dns请求时已经走了一遍mihomo的dns解析, 因此内核已经记录了该域名, 后续对应域名的ip的流量过来时, 内核可以识别到域名(前面有记录了), 则内核的分流规则可以生效.
如果dns请求不走一遍内核, 则zashboard的连接页签会全部显示ip地址, 则规则中的域名类规则都无效.
由于早期建立的LXC容器版本非常怪异, 导致其中的openssl版本有问题. 在使用阿里的ESA加速一个CF上的github加速服务时, 提示OPENSSL错误. 因为加速时, 有了两层https(ESA这边一层, CF那边也有一层), 因而导致在我原来的LXC容器中使用curl 时, 提示OPENSSL错误. 而如果使用CF那边绑定的域名, 则正常. 随后, 我在其他LXC上尝试一样的地址, 发现正常. 由于不太想手动升级openssl版本 , 因此尝试重建一个新的LXC容器.
下载LXC模版
直接浏览器下载后上传
1
|
http://download.proxmox.com/images/system/debian-13-standard_13.1-2_amd64.tar.zst
|
设置LXC, 内存给个512M就够.
修改apt源
1
|
vi /etc/apt/sources.list.d/debian.sources
|
改成以下内容
1
2
3
4
5
6
7
8
9
10
11
|
Types: deb
URIs: https://mirrors.tuna.tsinghua.edu.cn/debian
Suites: trixie trixie-updates
Components: contrib main
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
Types: deb
URIs: https://mirrors.tuna.tsinghua.edu.cn/debian-security
Suites: trixie-security
Components: contrib main
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
|
然后 apt update, 再安装一些常用工具.
设置时区
1
|
timedatectl set-timezone Asia/Shanghai
|
修改LXC设置支持tun
1
|
/etc/pve/lxc/<lxc id>.conf
|
添加以下内容
1
2
|
lxc.cgroup.devices.allow: c 10:200 rwm
lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file
|
重启lxc容器
开启 ip转发
debian 13默认没有该文件
添加以下内容
运行 sysctl -p 使其生效
安装内核
直接下载 mihomo-linux-amd64-[版本].deb, 然后 apt install mihomo-linux-amd64-[版本].deb
安装后, 运行 mihomo 看看是不是正常.
配置服务
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
[Unit]
Description=mihomo Daemon, Another Clash Kernel.
After=network.target NetworkManager.service systemd-networkd.service iwd.service
[Service]
Type=simple
LimitNPROC=500
LimitNOFILE=1000000
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_RAW CAP_NET_BIND_SERVICE CAP_SYS_TIME CAP_SYS_PTRACE CAP_DAC_READ_SEARCH CAP_DAC_OVERRIDE
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_RAW CAP_NET_BIND_SERVICE CAP_SYS_TIME CAP_SYS_PTRACE CAP_DAC_READ_SEARCH CAP_DAC_OVERRIDE
Restart=always
ExecStartPre=/usr/bin/sleep 1s
ExecStart=/usr/bin/mihomo -d /etc/mihomo
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
|
将配置文件config.yaml放到/etc/mihomo 即可.
随后启动服务 systemctl start mihomo.service
打开 http://x.x.x.x:9999/ui, 一切正常的话, 即没毛病了.
收尾
使用winbox将原先路由给旧IP的都改成新的IP地址, mosdns中别忘记改.