我想知道在两个主机之间启用防火墙限制从而阻止主机之间或特定端口上的任何通信后,两个主机(例如 A:9999 和 B:8888)之间已建立的连接会发生什么。
我认为当网络服务中断时我们可以期待相同的结果。
我的观察是,该进程(在我的例子中:它是在“主机 A”上运行的 ldapsearch 查询,具有巨大的输出)在几分钟后停止,但父进程中的后续命令也无法运行。所以,我很困惑发生了什么,以及为什么后续命令无法继续,而这些命令没有任何网络依赖性,如 echo 命令。
答案1
如果防火墙是有状态的,那么通常只要 TCP 会话处于活动状态,连接就会保持打开状态。
一旦远程端发送了 tcp fin_ack,那么来自被“阻止”的主机(数据包被丢弃或使用 RST 标志或 icmp 拒绝回复)的新 SYN 数据包将无法通过防火墙来请求新的 TCP 会话。
对于 UDP,由于该协议是无会话的,因此流量将立即被阻止。