每当我浏览互联网时,我的日志都会显示来自 Google 的尝试连接。此日志:
Jan 20 12:30:50 HOSTNAME kernel: Dropped: IN=wlp7s0 OUT= MAC=30:3a:64:02:f1:a7:e8:e7:32:c1:75:69:08:00 SRC=216.58.195.65 DST=10.113.194.49 LEN=40 TOS=0x00 PREC=0x00 TTL=57 ID=2933 PROTO=TCP SPT=443 DPT=40324 WINDOW=0 RES=0x00 RST URGP=0
告诉我我的防火墙正在丢弃此传入连接。正如我的防火墙规则所述:
-A INPUT -i all -p tcp -m tcp --sport 443 -m state --state RELATED,ESTABLISHED -m comment --comment "https" -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 443 -m state --state NEW,RELATED,ESTABLISHED -m comment --comment "https" -j ACCEPT
对我来说,这意味着我只有在初始化端口 443 后才允许传入数据包。这让我相信 Google 正在尝试初始化连接。可以阻止这种情况吗?这是正常的吗?
我正在使用火狐。
答案1
这不是新连接。这只是RST
Google 本地服务器发送的 (TCP Reset) 数据包,用于指示已完成/关闭的连接(TCP 状态 FIN_WAIT)。也许您的系统过早地从其表中删除了该连接,因此您的防火墙将 RST 数据包误解为新连接。
另外,您的 iptables 规则看起来有点奇怪。为了允许 HTTPS 网页浏览,使用以下命令即可:
iptables -I OUTPUT -p tcp --dport=443 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
我认为没有理由接受来自任何地方的传入连接(RELATED/ESTABLISHED),假设源端口为 443(--sport=443)
如果您没有运行任何服务器活动,则可以使用默认策略限制 INPUT 链:
iptables -P INPUT DROP
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
然后,您可以根据需要打开特定端口,例如,运行本地 Web 服务器:
iptables -A INPUT -p tcp --dport=80 -d <<your-host-here>> -j ACCEPT