iptables 忽略规则?

iptables 忽略规则?

我发现了一些奇怪的流量tcpdump(流量始终在持续):

13:00:13.203754 IP 1.2.3.4.1028 > 188.113.188.16.56881: UDP, length 103
13:00:13.204396 IP 1.2.3.4.1028 > 180.183.209.27.29546: UDP, length 103
13:00:13.204972 IP 1.2.3.4.1028 > 95.188.250.39.6881: UDP, length 103
13:00:13.205509 IP 1.2.3.4.1028 > 125.39.30.33.5493: UDP, length 103
13:00:13.206048 IP 1.2.3.4.1028 > 46.194.14.254.32232: UDP, length 103
13:00:13.206526 IP 1.2.3.4.1028 > 151.52.30.111.6881: UDP, length 103
13:00:13.207097 IP 1.2.3.4.1028 > 70.27.63.150.64389: UDP, length 103
13:00:13.207555 IP 1.2.3.4.1028 > 108.12.215.184.42880: UDP, length 103
13:00:13.208082 IP 1.2.3.4.1028 > 37.105.27.136.54752: UDP, length 103
13:00:13.209671 IP 1.2.3.4.1028 > 61.53.14.223.6881: UDP, length 106
13:00:13.266142 IP 46.35.235.75.10995 > 1.2.3.4.1028: UDP, length 289
13:00:13.276353 IP 86.162.78.254.20206 > 1.2.3.4.1028: UDP, length 289
13:00:13.345021 IP 108.12.215.184.42880 > 1.2.3.4.1028: UDP, length 289
13:00:13.349955 IP 46.194.14.254.32232 > 1.2.3.4.1028: UDP, length 289
13:00:13.357145 IP 70.27.63.150.64389 > 1.2.3.4.1028: UDP, length 289
13:00:13.373275 IP 37.105.27.136.54752 > 1.2.3.4.1028: UDP, length 289
13:00:13.785877 IP 61.53.14.223.6881 > 1.2.3.4.1028: UDP, length 311
13:00:13.880421 IP 1.2.3.4.1028 > 86.38.202.92.63287: UDP, length 1438
13:00:13.913168 IP 122.174.79.84.34858 > 1.2.3.4.1028: UDP, length 289
13:00:14.057212 IP 86.38.202.92.63287 > 1.2.3.4.1028: UDP, length 20
... many more lines with same or different hosts

1.2.3.4 是我的 WAN 地址(已将其更改为不公开)。端口 1028 从未在我的防火墙中打开,我什至尝试将其删除:

$IPT -I INPUT -p udp --sport 1028 -j DROP
$IPT -I INPUT -p udp --dport 1028 -j DROP
$IPT -I FORWARD -p udp --sport 1028 -j DROP
$IPT -I FORWARD -p udp --dport 1028 -j DROP
$IPT -I OUTPUT -p udp --sport 1028 -j DROP
$IPT -I OUTPUT -p udp --dport 1028 -j DROP

$IPT -A INPUT -p udp --sport 1028 -j DROP
$IPT -A INPUT -p udp --dport 1028 -j DROP
$IPT -A FORWARD -p udp --sport 1028 -j DROP
$IPT -A FORWARD -p udp --dport 1028 -j DROP
$IPT -A OUTPUT -p udp --sport 1028 -j DROP
$IPT -A OUTPUT -p udp --dport 1028 -j DROP

规则如下:

root@server-14:/# iptables -n -L
Chain INPUT (policy DROP)
target     prot opt source               destination
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:1028
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp spt:1028
ACCEPT     all  --  127.0.0.1            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:22
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 67,68
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:221 state NEW,ESTABLISHED
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:21 state ESTABLISHED
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp spt:1028
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:1028

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:1028
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp spt:1028
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp spt:1028
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:1028

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:1028
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp spt:1028
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp spt:1028
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:1028

lsof -p 1028不显示任何东西,netstat -antlpu也不显示它。

尝试过使用-A,使用-I,甚至(如你所见)使用它们两者。它只是不起作用,交通继续流动。有时,互联网连接的速度会变得不稳定。我什至开始认为我已经被放入某种僵尸网络之类的......

答案1

lsof -p 1028过滤进程 ID 1028

你应该试试:

# lsof -Pnl +M -i4

查看开放 IPv4 端口及其所属进程的列表。这-Pnl是可选的,但它会稍微快一些,因为它不会为您执行名称查找等操作。

或者:

# lsof -i :1028

列出监听端口 1028 的所有内容。

如果发生了奇怪的事情,那么你需要追根究底,而不是简单地用iptables规则来阻止流量。

答案2

tcpdump向您显示界面所看到的内容。显然,数据包必须先到达接口,然后 Netfilter ( iptables) 才能杀死它们。因此iptables永远不会阻止您看到传入流量。它只能防止此流量产生影响(除了浪费您的带宽......)。

但不应该再有任何传出数据包。

也许您的防火墙会不时重新启动?

在我看到你的规则集之前,我认为问题在于连接已经建立。但你的DROP规则更早。一般来说,更改防火墙后可能有助于刷新已知连接:conntrack flush

相关内容