PVE LXC 运行 CLASH

date
Jan 21, 2024
slug
pre-lxc-clash
status
Published
tags
PVE
lxc
clash
alpine
summary
openwrt 总是用一段时间就耗尽内存,用 lxc 实现一个更纯粹的网关
type
Post
LXC 模板选择 alpine
创建好容器后做如下的设置
  1. 把TUN/TAP支持打开。
    1. 对指定LXC容器开启tun/tap,需要修改/etc/pve/lxc/[ID].conf ##[ID]为你的容器编号
      1. vi /etc/pve/lxc/[ID].conf Proxmox7.0之前的版本添加: lxc.cgroup.devices.allow: c 10:200 rwm lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file
        如果你在使用Proxmox7.0之后的版本:
        lxc.cgroup2.devices.allow: c 10:200 rwm lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file
 
  1. 配置 alpine
    1. 开启内核转发
      1. 在alpine中编辑/etc/sysctl.conf,添加一行[net.ipv4.ip_forward = 1],然后运行[sysctl -p]。如果sysctl不会在开机时启动,则需要运行[rc-update add sysctl]。
    2. alpine安装ssh
      1. apk add openssh-server rc-update add sshd service sshd start
        如果要通过root用户来登录ssh,则还需要在/etc/ssh/sshd_config中加入[PermitRootLogin yes],再重启sshd。
  1. 安装 clash
    1. https://wiki.metacubex.one/startup/service/
  1. 添加自启动脚本
    1. ~ # cat /etc/init.d/mihomo #!/sbin/openrc-run command="/usr/local/bin/mihomo" command_args="-d /etc/mihomo" command_background="yes" command_user="root" respawn="true" pidfile="/var/run/mihomo.pid" depend() { need net } ~ # chmod +x /etc/init.d/mihomo ~ # rc-update add mihomo default
notion image
 
~ # chmod +x /etc/init.d/mihomo ~ # rc-update add mihomo default
~ # chmod +x /etc/init.d/mihomo ~ # rc-update add mihomo default
参考资料

© wtser 2021 - 2024