标签: linux-networking

带有 hashlimit 和“--state NEW”的 iptables 阻止了太多新连接

我已经设置了速率限制来阻止对我的 ssh 服务器的暴力攻击。我使用以下 iptables 规则:

iptables -A INPUT -p tcp -m tcp --dport 22 -m hashlimit --hashlimit-upto 4/min
--hashlimit-burst 6 --hashlimit-mode srcip --hashlimit-name ssh
--hashlimit-htable-expire 60000 -m state --state NEW -j ACCEPT

iptables -A INPUT -m tcp -p tcp --dport 22 -m state --state NEW -j REJECT
Run Code Online (Sandbox Code Playgroud)

当我打开一个 SSH 连接(例如通过 PuTTY),然后一分钟后尝试打开另一个连接(例如,传输文件)时,第二个连接有时会被拒绝,服务器没有响应。如果我设法打开第二个 SSH 连接,然后尝试打开第三个连接,它会变得更加困难(很可能没有响应)。

我已经验证,当我禁用上述规则时,一切正常。增加--hashlimit-upto和/或--hashlimit-burst有帮助,但并不能完全解决问题——它只会降低问题发生的可能性。有时仍然会发生拒绝,但如果我禁用 iptables 规则,则永远不会发生。

到底是怎么回事?上述 iptables 规则规定,与新连接相关的 TCP 数据包应限制为每分钟 4 个。所以我应该能够轻松地每分钟打开最多 4 个连接。

iptables linux-networking

2
推荐指数
1
解决办法
4427
查看次数

Linux 列出对外开放的端口

我找不到如何列出或“读取 Linux 上打开的端口列表”。我有一个基于 Debian 的服务器。我找到了一系列列出开放端口的命令,但我找不到任何仅列出可以从外部访问的开放端口的命令。我知道 3309 是开放的,但我已将 mySQL 配置为仅回复本地主机,但该端口仍列为开放。再说一遍,我只对对外开放的端口感兴趣。

如果没有这样的命令,也许有一个 grep 来过滤掉仅限内部的端口?

security linux linux-networking

2
推荐指数
1
解决办法
2万
查看次数

ip link“add link”与“add dev”命令之间有什么区别

我看过 ip link 命令的示例,其中一些显示为

ip link add dev xxx type devtype 
Run Code Online (Sandbox Code Playgroud)

有时它的形式

ip link add link xxx type devtype
Run Code Online (Sandbox Code Playgroud)

我查看了文档,仍然对两者之间的区别感到困惑。有区别吗?如果有区别,您什么时候会使用其中一种。

linux-networking

2
推荐指数
1
解决办法
8284
查看次数

无需 ifenslave 命令即可更改 Linux 网络绑定接口的活动从属设备

Linux 支持多个以太网网络接口的绑定,以实现额外的可靠性或负载平衡。

绑定驱动程序过去是通过命令配置的,该命令已被弃用(由iproute2工具包中的命令ifenslave取代),因此已从内核源代码中删除。ipifenslave

已弃用命令的一个特殊功能(我找不到现代等效命令)是更改绑定接口的活动从属设备(假设绑定接口在该模式下运行active-backup)。

例如,以下命令将eth0网卡设置为bond0接口的活动从属:

ifenslave -c bond0 eth0
ifenslave --change-active bond0 eth0
Run Code Online (Sandbox Code Playgroud)

有没有办法使用iproute2ip工具包中的命令或通过 sysfs 更改 Linux 绑定接口的活动从属设备?

linux bonding linux-networking iproute2

2
推荐指数
1
解决办法
7969
查看次数

不小心设置了 .255 IP 地址 - 我如何通过 ssh 连接到机器?

服务器的静态 IP 地址在 Windows 网络上设置为 xxx255,但显然 .255 地址是 Windows 的广播地址。所以现在我无法从我的 Windows 机器连接到盒子。

如果我拿到一个 linux 机器并将它放在网络上,它是否能够连接到它,或者它不仅仅是 Windows 问题?

networking windows tcpip linux-networking

1
推荐指数
1
解决办法
1467
查看次数

这个eth0.bak是什么?

为什么我有 2 个相同的设备但昵称不同?我需要删除一个吗?这个 eth0.bak 是什么?感谢您的任何建议。=)

在此处输入图片说明

顺便说一句,这是来自 RHEL 虚拟机,以防万一。

从下面的请求中,这里是我的网络设置的更多详细信息。我在这里没有看到 eth0.bak 的任何其他迹象。只是按照 dmourati 的指示来关闭这个 eth0.back 是否安全?再次感谢。 在此处输入图片说明

linux-networking

1
推荐指数
1
解决办法
8282
查看次数

如何在 CentOS 5.6 上访问所有端口?

我下设虚拟PC 2007上运行的虚拟机的CentOS 5.6开发服务器,以便有一个发挥Node.js的。一切正常,但我似乎无法访问端口 8234,这是运行 Node 服务器的端口。

我知道服务器正在运行,因为我可以wget localhost:8234检索一个包含“Hello World”的 HTML 文件,这是正确的。

如果我使用端口扫描器,我可以看到允许传入部分中提到的所有端口都打开并响应 ping,但没有其他任何内容。

我已经运行setup并设置如下:

防火墙配置

端口配置

在我看来,这些设置应该关闭防火墙并允许任何进入eth0(唯一的虚拟网络接口),但情况似乎并非如此。

我怎样才能完全禁用防火墙,或者如果失败了,让外部世界可以访问端口 8234?

linux firewall port-forwarding linux-networking node.js

1
推荐指数
1
解决办法
2万
查看次数

1
推荐指数
1
解决办法
5224
查看次数

通过静态路由为两个网卡配置网关

好的,我有两个 NICeth0eth1. 每个都通过自己的默认网关。我只能访问网络,eth0因为这是第一个添加默认路由的 NIC。如何配置我的静态路由以允许两者访问各自的子网。

eth0: 10.0.0.3 netmask 255.255.255.0 gw 10.0.0.254
eth1: 10.0.1.1 netmask 255.255.255.0 gw 10.0.1.26
Run Code Online (Sandbox Code Playgroud)

编辑:

问题2

如果 Linux 上的路由表中不存在路由,它是否eth0默认使用?

linux linux-networking

1
推荐指数
1
解决办法
2万
查看次数

当套接字切换到 TIME_WAIT 状态时,为什么我看不到它的 inode 号?

我正在用 python 开发一个解析/proc/net/tcp信息的程序,但不幸的是,在我这样做的时候,我看到了一件奇怪的事情。

实际上,当套接字TIME_WAIT状态发生变化时,会丢失其 inode 编号,而且我不知道此套接字的所有者是谁。

我阅读了一些关于这个TIME_WAIT问题的文档,我了解到连接实际上已经完成,它保持等待只是为了保证数据传输。

有人对此有所了解吗?

kernel tcp linux-networking socket

1
推荐指数
1
解决办法
717
查看次数