我最近一直在玩nftables
,并设置将每个传入的 TCPSYN
数据包记录到我的本地机器。我注意到每分钟我都会在各个端口(主要是 22、23、31725)上收到几次随机连接尝试。
我有一个非常标准的设置,即一台笔记本电脑连接到 ISP 的路由器,该路由器当然会进行 NAT。我的nftables
规则集:
table inet filter {
chain input {
type filter hook ingress device "wlp3s0" priority filter; policy accept;
tcp flags syn log flags skuid
}
}
在系统日志中我收到很多类似这样的日志:
IN=wlp3s0 OUT= MAC=... SRC=183.XXX.XXX.XXX DST=192.168.0.101 LEN=44 TOS=0x08 PREC=0x20 TTL=46 ID=2096 PROTO=TCP SPT=24040 DPT=37215 WINDOW=32161 RES=0x00 SYN URGP=0
我推测这些尝试是一些机器人扫描所有 IP,因此它们还尝试通过端口 31725 连接到我路由器的 IP。我的机器位于 NAT 后面,所以我想知道这怎么可能?为什么我的路由器不丢弃这个数据包,而是将其发送到我的机器?可能的原因是什么?
答案1
最有可能的情况是路由器已手动配置为将所有内容 DNAT 到您的内部地址。这可能是一个广泛的端口转发规则(例如,匹配端口 1-65535 的规则),也可能是路由器上的“DMZ”设置(这只是一个将所有内容 DNAT 到同一主机的“后备”规则)。