前言
最近闲来无事,就把手头上免费的甲骨文免费服务器切成NAT小鸡分享给有需要的人使用,但总是有些用户不爱惜IP,还有一些把它当牛马,长期拉满 带宽,拉满 CPU的,不能再放任了,需要管理一下,这里记录一下管理过程和管理方式,以便自己需要,随时查用,纯当笔记了。
查协议
这个比较容易导致IP被封的主要原因,所以需要时不时查看一下用户有没有使用了弱协议,需要及时通知用户,或者直接在后台把端口映射关了。
使用的是python来查看,代码如下:
python3 - <<'PY'
import subprocess, json, re, shlex
def run(cmd):
return subprocess.run(
cmd,
capture_output=True,
text=True,
encoding="utf-8",
errors="replace"
).stdout.strip()
for cid in run(["podman", "ps", "-q"]).splitlines():
name = run(["podman", "inspect", "--format", "{{.Name}}", cid])
processes = run(["podman", "top", cid, "args"])
configs = set()
for line in processes.splitlines():
if not re.search(r'xray|sing-box', line, re.I):
continue
try:
args = shlex.split(line)
except ValueError:
continue
for i, a in enumerate(args[:-1]):
if a in ("-c", "-config", "--config"):
configs.add(args[i+1])
for path in sorted(configs):
content = run(["podman", "exec", cid, "cat", path])
try:
data = json.loads(content)
for inbound in data.get("inbounds", []):
proto = str(inbound.get("type", inbound.get("protocol", "?")))
port = inbound.get("listen_port", inbound.get("port", "?"))
flag = "⚠️" if proto.lower() in (
"shadowsocks", "socks", "http", "mixed"
) else "✅"
print(f"{flag} {name[:8]} | {cid[:8]} | {proto} | 端口 {port}")
except (ValueError, TypeError, AttributeError):
pass
PY
使用 直接在SSH里粘贴执行
得到如下结果
✅ a11898e8 | 42fd9790 | vless | 端口 24204
✅ a11898e8 | 42fd9790 | direct | 端口 34747
✅ a11898e8 | 42fd9790 | vless | 端口 2054
✅ a11898e8 | 42fd9790 | vless | 端口 2055
✅ 0d424ea3 | c32027e2 | vless | 端口 40001
✅ dfce7310 | 0c5362b0 | hysteria2 | 端口 55668
✅ dfce7310 | 0c5362b0 | vless | 端口 55667
✅ 3713847f | 992a387a | vless | 端口 37970
✅ d3b956b8 | 1e50d126 | anytls | 端口 50925
✅ b908c20a | 978eb21c | vless | 端口 24443
✅ b908c20a | 978eb21c | vless | 端口 24444
✅ b908c20a | 978eb21c | hysteria2 | 端口 24443
✅ 1f763a18 | cbb60bf3 | hysteria2 | 端口 15022
⚠️ 1f763a18 | cbb60bf3 | socks | 端口 3128
✅ 1f763a18 | cbb60bf3 | vless | 端口 15022
⚠️ 9c5284dd | de05a108 | shadowsocks | 端口 8388
✅ 9c5284dd | de05a108 | hysteria2 | 端口 443
✅ 9c5284dd | de05a108 | vless | 端口 443
✅ 9c5284dd | de05a108 | anytls | 端口 8443
✅ 6c640eb1 | 5c03198b | vless | 端口 80
✅ af4d8451 | 18fb2ced | vless | 端口 22229
✅ e0985daf | af39fe76 | trojan | 端口 23456
✅ b2215e81 | a9987534 | vless | 端口 59338
✅ 476f7181 | c2214837 | vless | 端口 50610
✅ 1403fef2 | f5e56790 | vless | 端口 20010
✅ 627a3b49 | b772a011 | vless | 端口 24443
可以看到标了⚠️号的,就是使用了弱协议的
查带宽
首先安装iftop:
apt update
apt install -y iftop
然后运行:
iftop -i podman1 -nNP

可以看到结果,几乎都 是10.91.0.19 这台小鸡在跑流量,而且点满了带宽。
管理
找到IP就能确定是哪台小鸡了,回到Narwhal Cloud控制面板——托管中心——机器列表——找到对应的母鸡,
查看“实例管理” 通过查找 IP,定位到所在机器
第一次,先关机,再警告
第二次,直接修改弱协议端口
第三次,直接重装系统
第四次,拉黑。


暂无评论