2022/12/12

PVE的CT下搭建旁路由

 越发的觉得Clash是个好东西,同时觉得用Openwrt搞个旁路由还是没有必要。

准备lxc环境,我用的是ubuntu 22.10,需要给特权,同时设定为固定IP的话也是一个不错的选择。

给lxc环境添加TUN设备,编辑新建的CT环境的配置文件:

 nano /etc/pve/lxc/399.conf

添加以下内容:

lxc.cgroup2.devices.allow: c 10:200 rwm 

lxc.hook.autodev: sh -c "modprobe tun; cd ${LXC_ROOTFS_MOUNT}/dev; mkdir net; mknod net/tun c 10 200; chmod 0666 net/tun"

 

在lxc环境内添加添加IP转发:

1.编辑/etc/sysctl.conf,添加IP转发

net.ipv4.ip_forward=1

 2.应用:

sysctl -p

准备Clash Premium,下载:

wget https://release.dreamacro.workers.dev/latest/clash-linux-amd64-latest.gz

解压缩:

gzip -d  clash-linux-amd64-latest.gz

安装到指定位置:

install clash-linux-amd64-latest /usr/local/sbin/clash-p

根据自己的状况准备自己的clash的配置文件,比如config.yaml.download。 

关掉lxc内部的dns:

systemctl stop systemd-resolved

并禁止其再启动:

 systemctl disable systemd-resolved

做成只有如下内容的config.yaml.root文件: 

dns:

  enable: true

  listen: 0.0.0.0:53

  enhanced-mode: fake-ip

  nameserver:

    - 114.114.114.114

  fallback:

    - 8.8.8.8

tun:

  enable: true

  stack: system # or gvisor

  dns-hijack:

    - 8.8.8.8:53

    - tcp://8.8.8.8:53

    - any:53

    - tcp://any:53

  auto-route: true # auto set global route

  auto-detect-interface: true # conflict with interface-name

然后合并最终的config.yaml文件:

cat config.yaml.root config.yaml.download >config.yaml

做成保存配置文件的目录:

mkdir /etc/clash

并将刚刚做成的config.yaml文件保存到该文件夹下:

cp config.yaml /etc/clash

测试一下clash是否可用:

/usr/local/sbin/clash-p -d /etc/clash/

没有错误的话,就成功了。 

接下来创建服务:

nano  /etc/systemd/system/clash.service

添加如下内容:

 [Unit]

Description=Clash daemon, A rule-based proxy in Go.

After=network.target


[Service]

Type=simple

Restart=always

ExecStart=/usr/local/sbin/clash-p -d /etc/clash


[Install]

WantedBy=multi-user.target

让服务生效:

systemctl enable clash

启动服务:

systemctl start clash

验证服务启动成功:

systemctl status clash

如果没有错误信息的话,可以作为旁路由使用了。 


 

 

 

没有评论:

发表评论

Mastodon Daily(2024-04-14)

Moenova赞同了回答: Python UI 开发用哪个好? ...