跳到主要内容

服务器流量偷跑

· 阅读需 3 分钟
阅读量: 101
阅读人次: 102

2024/11/09

1.6T的流量,昨天一天就被耗完了。

2024/08/27

昨天才将云服务器切换到 大宽带,有限流量 的配置。才一天不到,流量居然从1024 GB 到只剩下 973.8 GB。一下子又回到了流量焦急症的时代,那到底是谁不停的再像服务器请求呢?

通过 iftop 查看实时流量统计,将异常流量的IP加入防火墙。

通过 iftop 查看出本机流量异常的端口,可以通过 lsof 查看是哪个进程占用了该端口。

nethogs是一款小巧的"net top"工具,可以显示每个进程所使用的带宽,并对列表排序,将耗用带宽最多的进程排在最上面。万一出现带宽使用突然激增的情况,用户迅速打开nethogs,就可以找到导致带宽使用激增的进程。nethogs可以报告程序的进程编号(PID)、用户和路径。

/proc/net/dev 包含了每个网络接口的统计信息,打算不停监控这个文件,当发现流量异常时,即使通知以方便现场排查。

UFW

UFW 默认是关闭所有入站端口,但开放所有出站端口。

ufw status numbered	# 查看状态,并按需要列出规则
ufw enable # 使能ufw
ufw allow 22/tcp
ufw allow 443/tcp
ufw allow 80/tcp
ufw allow 3389/tcp
ufw allow 3390/tcp
ufw allow 3391/tcp
ufw allow 7000/tcp # frps
ufw insert 1 deny from 183.240.139.29
ufw deny from 198.18.0.0/24 # 阻止 198.18.0.0 到 198.18.0.255
ufw delete 4 # 删除 numbered 为 4 的规则
ufw reset # 重置ufw并删除所有规则

UFW 规则从上到下顺序执行,所以对于特定的限制 ip,理应放在通用限制/放行之前。 这个时候就需要使用 ufw insert

注意

因为有使用到 frp 服务,所以注意不要把 frps 的 IP 给禁用了。可以通过如下方式在客户端确认自己的公网IP:

curl ifconfig.me

重置 iptables 规则

iptables 设置感觉太过复杂......

iptables -P INPUT ACCEPT # 恢复默认允许访问(不恢复就麻烦了~)
iptables -F # 清空默认所有规则
iptables -X # 清空自定义的所有规则
iptables -Z # 计数器置0

iptables -L -n --line-numbers # 所有iptables以序号标记显示

利用iptables屏蔽某些域名

#添加屏蔽规则
iptables -A OUTPUT -m string --string "fbsv.net" --algo bm --to 65535 -j DROP
iptables -A INPUT -m string --string "fbsv.net" --algo bm --to 65535 -j DROP

#删除屏蔽规则,上面添加的代码是什么样,那么删除的代码就是把 -A 改成 -D
iptables -D OUTPUT -m string --string "fbsv.net" --algo bm --to 65535 -j DROP

屏蔽IP

iptables -A INPUT -s 198.18.0.0/24 -j REJECT
iptables -A OUTPUT -d 198.18.0.0/24 -j REJECT
iptables -A FORWARD -s 198.18.0.0/24 -j REJECT
iptables -A FORWARD -d 198.18.0.0/24 -j REJECT