clash-meta无法使用内置的iptables模块配置透明代理
问题类型 / Type of issues
- 打包错误 / packaging error
受影响的软件包 / Affected packages
- clash-meta
clash-meta软件包在使用安装附带的systemd service文件时,无法通过自带的iptables管理模块开启透明代理。报错信息如下:
can't open lock file /run/xtables.lock: Permission denied
/run/xtables.lock的权限为-rw------- root root,似乎表明以clash-meta用户身份无法修改iptables.
(但clash-meta.service里面又有CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_RAW CAP_NET_BIND_SERVICE,就很迷……)
/etc/clash-meta/config.yaml中相关配置如下:
tproxy-port: 7893 #本地Linux Tproxy代理端口
iptables:
enable: true
inbound-interface: lo
这可能是一个上游问题。解决该问题的关键在于 clash-meta 是否必须使用 root 运行。
你可以通过 systemctl edit clash-meta.service 修改 clash-meta 运行的用户和用户组为 root(修改方法可参考 Editing provided units)。
提示:不要直接修改 /usr/lib/systemd/system/clash-meta.service,否则会导致在 clash-meta 更新后 /usr/lib/systemd/system/clash-meta.service 被还原。
lilacbot 怎么没抄送给 @sukanka
lilacbot 怎么没抄送给 @sukanka
因为他不是 archlinuxcn member,lilac 无法 assign 这个 issue 给他
所以来个member帮我改了吧,顺便认领一下 clash-meta
因为他不是 archlinuxcn member,lilac 无法 assign 这个 issue 给他
正常会有一个 at 的。 例如:https://github.com/archlinuxcn/repo/issues/3081#issuecomment-1357616500
因为这个 issue 提交的时候,lilac 家正好出事了……
可是这个我不会改诶,搜了下 capability,感觉加上 CAP_DAC_OVERRIDE 应该可以。但是这样子似乎又放得太开了。
我也不知道对于/run/xtables.lock, clash-meta需要从什么权限, r 还是 rw. 来个Member 接管吧(我自己都不用clash-meta的)
此问题还存在吗?
@oldherl 原本的配置文件已不可考,现在无法通过还原配置复现,就当它已经没问题了罢(