小编Mar*_*son的帖子

如何终止 Linux 上现有的网络连接?

我一直在致力于一个接近完成的项目:只需按一下按钮就能终止我孩子的互联网连接。我基本上通过调用实现了部分解决方案:

ufw 拒绝 IP

杀死他们的互联网的威胁在一半的情况下有效,而上述的方法在剩下的一半中有效。我遇到问题的地方是 YouTube 长视频。有时继续现有连接很方便,但我还希望有一个按钮可以终止所有进出该 IP 的现有流量。事实证明,这比预期要困难得多。

我尝试过 cutt,它似乎甚至无法在 Ubuntu 14.04 上运行。我试过tcpkill。它似乎在运行,但似乎没有做任何事情(我提供了两个以太网接口)并且似乎想要继续运行。虽然我的 ufw 是持久的,但我宁愿立即无状态地终止并删除所有现有连接。

Conntrack 听起来很有希望(http://conntrack-tools.netfilter.org/manual.html),并且有以下内容:

删除一个条目,如果出现以下情况,这可用于阻止流量:

  • 您有一个有状态的规则集,可以阻止处于无效状态的流量。

  • 您已将 /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_loose 或 /proc/sys/net/netfilter/nf_conntrack_tcp_loose(具体取决于您的内核版本)设置为零。

命令

 conntrack -D -s <IP>
Run Code Online (Sandbox Code Playgroud)

似乎删除并显示了某些内容,但 YouTube 视频一直在嗡嗡作响,当我这样做时,我看到连接正在重组

conntrack -L
Run Code Online (Sandbox Code Playgroud)

我已经搞定了

 echo 0 > nf_conntrack_tcp_loose
Run Code Online (Sandbox Code Playgroud)

并对其进行cat'ed以确保它卡住,但它似乎并没有删除连接。

我不是 100% 确定“阻止无效状态流量的有状态规则集”是什么意思,但我确实看到了以下规则

DROP       all  --  0.0.0.0/0            0.0.0.0/0            ctstate INVALID
Run Code Online (Sandbox Code Playgroud)

当执行“iptables -L -n”时,如果这就是它引用的内容。

我发现了以下内容:

iptables -A INPUT -s "$BLOCK_THIS_IP" -j DROP
Run Code Online (Sandbox Code Playgroud)

它对我不起作用,但这可能是因为它按照允许内部网络上的所有流量的一般规则进行,并且通过重新排序它可能会起作用。我不想将 iptables 命令与 ufw 命令混合使用。鉴于 UFW 已经设置了 iptables 来拒绝任何新连接,在 iptables 中设置一个 drop 似乎是多余的,如果可以的话,我真的不想将 UFW 与 iptable 命令混合在一起。 …

tcp ufw iptables

5
推荐指数
0
解决办法
7114
查看次数

标签 统计

iptables ×1

tcp ×1

ufw ×1