好吧,我是这方面的新手,我一直在为我的问题寻找解决方案,重置,然后再做一次,指定端口和协议,使用协议进出端口,但我做不到。
信息
问题:防火墙阻止了一些,不是全部,而是一些在我配置为允许传入 tcp 和 udp 的端口中传入的 ip,我在 syslog 中看到带有标签的错误[UFW BLOCK] SPT=45000 DPT=1563
...
我想要什么:只开放端口 ssh、http 和范围从 1500 到 1600 tcp 和 udp...
我是如何配置的
我的命令配置防火墙以允许传入和传出连接
ufw allow 22
ufw allow 80
ufw allow 1500:1600/tcp
ufw allow 1500:1600/udp
使用 ufw 的防火墙状态
root@u19312139:~# ufw status
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
80 ALLOW Anywhere
1500:1600/tcp ALLOW Anywhere
1500:1600/udp ALLOW Anywhere
22 (v6) ALLOW Anywhere (v6)
80 (v6) ALLOW Anywhere (v6)
1500:1600/tcp (v6) ALLOW Anywhere (v6)
1500:1600/udp (v6) ALLOW Anywhere (v6)
系统日志
注意:命令仅查看具有“UFW”的实时系统日志行
tail -f /var/log/syslog | grep "UFW"
我的输出
[UFW BLOCK] IN=eth0 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx SRC=189.173.30.x DST=xx:xx:xx:xx LEN=52 TOS=0x00 PREC=0x00 TTL=53 ID=52308 DF PROTO=TCP SPT=52572 DPT=1557 WINDOW=1445 RES=0x00 ACK FIN URGP=0
[UFW BLOCK] IN=eth0 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx SRC=189.173.30.x DST=xx:xx:xx:xx LEN=52 TOS=0x00 PREC=0x00 TTL=53 ID=52309 DF PROTO=TCP SPT=52572 DPT=1557 WINDOW=1445 RES=0x00 ACK FIN URGP=0
[UFW BLOCK] IN=eth0 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx SRC=189.173.30.x DST=xx:xx:xx:xx LEN=52 TOS=0x00 PREC=0x00 TTL=53 ID=12518 DF PROTO=TCP SPT=62545 DPT=80 WINDOW=1445 RES=0x00 ACK FIN URGP=0
[UFW BLOCK] IN=eth0 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx SRC=189.173.30.x DST=xx:xx:xx:xx LEN=52 TOS=0x00 PREC=0x00 TTL=53 ID=52310 DF PROTO=TCP SPT=52572 DPT=1557 WINDOW=1445 RES=0x00 ACK FIN URGP=0
[UFW BLOCK] IN=eth0 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx SRC=189.173.30.x DST=xx:xx:xx:xx LEN=52 TOS=0x00 PREC=0x00 TTL=53 ID=12519 DF PROTO=TCP SPT=62545 DPT=80 WINDOW=1445 RES=0x00 ACK FIN URGP=0
[UFW BLOCK] IN=eth0 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx SRC=189.173.30.x DST=xx:xx:xx:xx LEN=52 TOS=0x00 PREC=0x00 TTL=53 ID=52311 DF PROTO=TCP SPT=52572 DPT=1557 WINDOW=1445 RES=0x00 ACK FIN URGP=0
[UFW BLOCK] IN=eth0 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx SRC=189.173.30.x DST=xx:xx:xx:xx LEN=52 TOS=0x00 PREC=0x00 TTL=53 ID=12520 DF PROTO=TCP SPT=62545 DPT=80 WINDOW=1445 RES=0x00 ACK FIN URGP=0
[UFW BLOCK] IN=eth0 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx SRC=189.173.30.x DST=xx:xx:xx:xx LEN=52 TOS=0x00 PREC=0x00 TTL=53 ID=52312 DF PROTO=TCP SPT=52572 DPT=1557 WINDOW=1445 RES=0x00 ACK FIN URGP=0
[UFW BLOCK] IN=eth0 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx SRC=187.237.167.x DST=xx:xx:xx:xx LEN=40 TOS=0x00 PREC=0x00 TTL=115 ID=2280 DF PROTO=TCP SPT=42542 DPT=1563 WINDOW=10880 RES=0x00 ACK URGP=0
[UFW BLOCK] IN=eth0 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx SRC=189.173.30.x DST=xx:xx:xx:xx LEN=52 TOS=0x00 PREC=0x00 TTL=53 ID=12521 DF PROTO=TCP SPT=62545 DPT=80 WINDOW=1445 RES=0x00 ACK FIN URGP=0
[UFW BLOCK] IN=eth0 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx SRC=187.210.142.x DST=xx:xx:xx:xx LEN=40 TOS=0x00 PREC=0x00 TTL=117 ID=6018 PROTO=TCP SPT=48744 DPT=1563 WINDOW=8160 RES=0x00 ACK URGP=0
笔记:
- SPT= 是源端口?
- DPT 是端口,对吗?但它是 15xx 范围,我在防火墙中允许 1500 到 1600。
- 我能做些什么来解决这个问题,我认为我做对了,但是
[UFW BLOCK]
显示 ufw 阻止了来自某些 ips 的连接......
查看您的规则并将它们与您的日志进行比较会引发一些问题。看起来您正在尝试控制进出您的界面的所有流量。这里的问题是,如果您将被阻止的数据包与防火墙列表进行比较,您必须找到数据包匹配的规则。所有被阻止的数据包的目标端口都在您的列表中,但源端口不在您的列表中。如果我的计算机启动与您计算机上的标准 http Web 服务器的通信,那么我的目标是端口 80,而我的源是可能在 50,000+ 范围内的某个随机数。假设我的是 62545。当您的网络服务器尝试回复我时,需要允许它离开您的接口,端口 80 上的目标是我的 62545。在您的允许列表中,它允许有一个数据包到 62545 ? 如果有' s 不匹配则数据包将被阻塞。如果您查看显示的倒数第二个日志条目,这正是我刚刚解释的场景。您列表中的任何地方都不允许数据包转到 62545。
这留下了两件事需要考虑。一,防火墙是有状态的,如果你从你的接口发起通信到一个目标端口,比如80,返回的数据包将被允许。如果不是首先从内部启动,相同的数据包就无法从外部进入您的接口。我认为您可能试图控制过多的出站流量。也就是说,除非第二件事是您正在控制接口之间的路由。如果是这种情况,那么规则设置需要您的语法中的更多信息(从命令行键入:'man ufw' 以获取详细信息)。我通常会输入之前显示的详细规则,但仅在传入端输入,因为我不在接口之间进行路由。如果出现有关 UFW 配置的问题,详细规则可以更轻松地在以后重新评估规则。如果您没有路由,请尝试删除您的允许规则,并查看问题是否已解决。我可能是错的,但这就是我解释 UFW 的方式以及我成功使用它的方式。祝你好运。希望这可以帮助。
对于那些使用 iptables GPS 跟踪的人,我用这个解决方案解决了我的允许端口范围问题......
一些 GPS 跟踪在很短的时间内向服务器报告了很多......它会生成无效的数据包,但我们希望它们都允许......
例子:
在文件中添加规则之前,
before.rules
我删除了允许范围端口ufw
然后在添加您想要的允许端口
/etc/ufw/before.rules
之前进行编辑...drop INVALID Packets
我使用协议 tcp/udp 添加允许 IP 范围的代码之后执行
ufw reload
看看它是否改变......看看
iptables -S
和iptables -L
注意:允许您遇到问题的特定端口,
示例:如果我想允许特定端口上的范围端口,但 xx 端口向我显示标签
UFW BLOCK
,syslog
则tail -f /var/logs/syslog | grep "UFW BLOCK"
需要将该端口添加到/etc/ufw/before.rules
和/etc/ufw/before6.rules
仅添加您有问题...不是全部...
对于那些有一些标签的人,比如
UFW BLOCK
withACK FIN
和RST
奇怪的 UFW 行为。在被告知不要时阻止一些端口 80 请求。
为什么 ufw 记录有关 ufw 配置为“允许”连接的端口的“阻塞”消息?